Собираем стартовый файл i686-elf-as -o boot.o boot.s
Собираем main.c i686-elf-gcc -nostdlib -nostartfiles -ffreestanding -std=c99 -c kernel_main.c -o kernel_main.o
Линкуем всё в kernel i686-elf-ld -T linker.ld -o kernel boot.o kernel_main.o
Запускаем qemu-system-i386 -m 128 -kernel kernel