Простой загрузчик для загрузки бина - PullRequest
0 голосов
/ 22 сентября 2018

Я новичок в таких вещах, как 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

...