grub2中直接提供了multiboot和multiboot2命令,可分别用于引导符合multiboot v1规范和multiboot v2规范的内核。
最小multiboot内核
以下是最小multiboot内核源码包下载页面
http://www.pudn.com/downloads566/sourcecode/os/detail2327975.html
源码包中使用的是syslinux引导的硬盘镜像,可使用run.sh进行qemu仿真。
linker.ld内容如下:
ENTRY (start)
SECTIONS
{
. = 0x00100000;
.text ALIGN (0x1000) :
{
*(.text)
}
.rodata ALIGN (0x1000) :
{
*(.rodata*)
}
.data ALIGN (0x1000) :
{
*(.data)
}
.bss :
{
sbss = .;
*(COMMON)
*(.bss)
ebss = .;
}
}
makefile内容如下:
CC=gcc -m32 -march=i386 -I. -Wall -Wextra