**你可能需要google: kernel, ELF format, makefile
目标: 写一个简单的kernel,让bootsect启动它
The kernel
我们用C语言写的内核只能做一点点事,就是在屏幕左上角打印一个’X’,打开这个kernel.c
。
你会发现第一个函数中什么都没写,这个函数创建了指向main
函数的内核入口。
i386-elf-gcc -ffreestanding -c kernel.c -o kernel.o
调用main
的程序是 kernel_entry.asm
。打开学习学习汇编中[extern]
声明的用法。编译这个文件的elf
格式生成kernel.o
,注意,这次的最终文件不是.bin
的机器码文件。
nasm kernel_entry.asm -f elf -o kernel_entry.o