Я новичок в таких вещах, как OS dev, но я хотел бы спросить вас, есть ли какой-нибудь простой загрузчик или учебник, как загрузить bin-файл (который содержит пользовательскую ОС).
Я прочитал много учебниково загрузчиках, но в основном они заканчиваются на Hello World и не говорят, как загрузить какой-либо bin-файл.
У меня есть kernel.bin , который содержит:
kernel.asm :
bits 32
section .text
align 4
dd 0x1BADB002
dd 0x00
dd - (0x1BADB002+0x00)
global start
extern kernel
start:
cli
call kernel
hlt
и kernel.c :
kernel()
{
char* VideoMemory = (char*)0xb8000;
VideoMemory[0] = 'M';
VideoMemory[2] = 'y';
VideoMemory[4] = ' ';
VideoMemory[6] = 'O';
VideoMemory[8] = 'S';
}
В качестве загрузчика используется grub и kernel.bin сохраняется в каталоге / boot / , но я хотел бы создать собственный загрузчик, который загружает этот kernel.bin
Я знаючто если я создаю собственный загрузчик, я могу использовать только первые 510 байт, потому что 511-й и 512-й байт содержат магическое число для загрузки.
Я знаю, что должен использовать:
times 510 - ($ - $$) db 0
db 55h
db 0AAh
Но яне знаю, как сказать этому загрузчику загрузить kernel.bin