osdev Questions
1
Solved
I am currently following this workbook on build an operating system.
My intention is to write a 64-bit kernel. I have got as far as loading the "kernel" code and writing individual characters to t...
25
Solved
Creating an OS seems like a massive project. How would anyone even get started?
For example, when I pop Ubuntu into my drive, how can my computer just run it?
(This, I guess, is what I'd really li...
Ellerey asked 31/12, 2008 at 18:43
3
Solved
I have been looking at this code and I'm confused about the rep cmpsb line.
.LOOP:
push cx
mov cx, 0x000B ; eleven character name
mov si, ImageName ; image name to find
push di
rep cmpsb ; te...
Risley asked 11/5, 2012 at 13:43
1
Solved
I'm writing a Multiboot compliant ELF executable containing my 32-bit kernel. My primary problem is that I'm receiving a series of linker errors while producing my executable:
relocation truncat...
3
Solved
I am developing a kernel in C and created something to print on screen on video memory. I expected that the first byte in video memory would be the character to print and the second byte tells the ...
Klong asked 1/10, 2016 at 14:21
1
Solved
In an attempt to write an OS, I need to get the address of the current function's end (right before epilogue) for task switching.
Concretely my problem is to get an EIP to assign to my newly create...
1
Solved
I'm new to operating system development and I'm curious about a problem I've run into while developing my own bootloader. My operating system is going to be written in assembly and will run in 16-b...
1
Solved
1
Solved
I have been writing kernel in C. I've been using the GCC cross-compiler, writing on a Windows system and targeting 16bit Real Mode. I don't have the C library available to write the kernel. I have ...
2
Solved
I am learning Operating system tutorials. I created 2 files.
boot.asm
kernel.c
The kernel.c is as follows :
int main()
{
char *src = (char *)0xB8000000L;
*src = 'M';
src += 2;
*src = 'D';...
1
Solved
When I test the GCC inline-assembly, I use the test function to display a character on the screen with the BOCHS emulator. This code is running in 32-bit protected mode. The code is as follows:
te...
Hollar asked 16/5, 2016 at 14:36
1
My experimental code crashes when running on bare x86_64-metal (page fault when IDT is not yet set), but works perfectly on aarch64.
By careful tracing I figured out that the cause of this page fa...
1
Technically UEFI provides a lot of functionality which is part of the groundwork of an operating system, such as a file system. In a way, it is a shame that everything gets discarded and reim...
1
Solved
I am learning the assembly language. I wrote a simple bootloader. After testing it out, it didn't work. Here is my code:
[bits 16]
[org 0x7c00]
jmp start
data:
wolf_wel_msg db 'Welcome to Bootlo...
Guayule asked 16/3, 2016 at 19:0
20
Solved
This might be in vain, as I know writing an operating system is unbearably complicated (especially by oneself).
I don't expect to build the next linux, or windows.
I know it will be horribl...
Catoptrics asked 3/8, 2009 at 21:1
2
Solved
Recently, I started developing an operating system in NASM and C. I have already made a boot loader, kernel, filesystem, etc. So far I used the VGA text mode directly in order to write to the addre...
1
Solved
I am trying to develop an operating system. The design is this: I have a bootloader loaded at 0x7c00 which loads the second stage and jumps to it at 0x7e00. The second stage is also in real mode an...
2
Solved
I wrote some code for initializing the IDT, which stores 32-bit addresses in two non-adjacent 16-bit halves. The IDT can be stored anywhere, and you tell the CPU where by running the LIDT instructi...
1
Solved
I tried to develop a bootloader using this, but when it is run it shows:
disk read error!
If I ignore it, in a later part, it shows me wrong memory mapping. I also followed some other sources to...
Threw asked 11/12, 2015 at 5:45
2
Solved
I am trying to convert a bootloader I wrote in Assembly Language to an ISO image file. The following is the code from MikeOS bootloader. Here is my bootloader code:
BITS 16
start:
mov ax, 07C0h ...
1
Solved
I'm writing a simple home-made 64-bit OS, booting it via UEFI. This means that when my code starts executing, it is already in long mode, with paging enabled.
Now, after exiting the UEFI boot serv...
1
Solved
I'm trying to follow the instructions here to build a simple OS kernel: http://mikeos.sourceforge.net/write-your-own-os.html
Except, instead of booting from a floppy, I want to create a grub-based...
3
Solved
I'm working on keyboard input for a very basic kernel that I'm developing and I'm completely stuck. I can't seem to find any information online that can show me the information I need to know.
My ...
Psychosurgery asked 20/10, 2008 at 16:48
1
Solved
I have read about cache-as-ram mode (no-fill mode) numerous times and am wondering whether number one, can executable code be written and jumped to and if so is the executable code restricted to ha...
Tav asked 30/12, 2014 at 3:19
1
When I write a simple code for bare metal without using libcore I get the following error:
error: binary operation != cannot be applied to type u32 [E0369]
Straight forward implementation conf...
© 2022 - 2024 — McMap. All rights reserved.