Нужно из boot.asm запустить main.c

Пожалуйста, подскажите, как можно реализовать то, чтобы загрузчик запустил ядро. Я много что перепробовал:

  1. ошибка, когда пытаюсь напрямую извне вызвать функцию в режиме nasm -f bin
extend blaz
call blaz
  1. ошибка, не сработает, когда пытаюсь напрямую извне вызвать функцию в режиме nasm -f elf

  2. сработало только то, когда я с помощью 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 <- подробней тут


Ответы (0 шт):