Нужно из boot.asm запустить main.c
Пожалуйста, подскажите, как можно реализовать то, чтобы загрузчик запустил ядро. Я много что перепробовал:
- ошибка, когда пытаюсь напрямую извне вызвать функцию в режиме
nasm -f bin
extend blaz
call blaz
ошибка, не сработает, когда пытаюсь напрямую извне вызвать функцию в режиме
nasm -f elf
сработало только то, когда я с помощью
ld -m elf_i386 -T link.ld -o kernel_blaz kasm.o kc.o
создал не идеальное ядро и запустил с помощьюqemu-system-i386 -kernel kernel_blaz
Но в общем это не то, что мне нужно. Мне нужно получить disk.img,
готовый к запуску.
Сборка должна выглядит примерно так:
nasm -f bin -o boot.bin boot.asm
gcc -ffreestanding -c main.c -o kernel.o
cat bootloader.bin kernel.o > os-image.bin
dd if=os-image.bin of=blaz.img bs=1 conv=sync
qemu-system-i386 disk.img
https://github.com/OkkoBitte/blaz <- подробней тут