grub-2.04编译过程
1.efi模式编译
./autogen.sh
#./configure --with-platform=efi --target=x86_64 --disable-werror
./configure --with-platform=efi --target=x86_64
make install
grub-install /dev/mmcblk0
update-grub
此模式无需boot.S 等汇编文件
入口就是c文件
速度好像比较快
对于串口终端的字符输出 很快 不知其实现机制???
对于mbr基本不依赖 也无需将boot.S安装至mbr
2.传统bios模式
直接编译即可 ./configure无需带参数 默认就是这种模式
有boot.S等文件
此模式运行于16位实模式 比较慢速
底层的驱动通过bios的系统中断调用实现
对于串口终端的字符输出 很慢 每输出一个字符 就调用一次系统中断
需将boot.S安装至mbr
3.模式切换
切换之前 运行 make distclean