内核kernel.bin是elf文件格式的文件,装载在磁盘中。由main.c编译链接生成的。
int main(void)
{
while(1);
return 0;
}
gcc -m32 -c -o kernel/main.o kernel/main.c
ld -m elf_i386 -Ttext 0xc0001500 -e main -o kernel/kernel.bin kernel/main.o
这里有个要注意的地方,使用的是Ubuntu64位系统,所以要使用以上的编译方法才能生成32位文件格式的ELF文件,否则在初始化内核时会出现问题。
这里默认把内核加载到的虚拟地址为0xc0001500。
把内核文件加载到虚拟