大致流程
引导
汇编代码分四个部分:
- GRUB的多引导协议头
- 关掉中断,设定CPU的工作方式
- 初始化CPU的寄存器和C语言的运行环境
- GDT_START
main代码:
操作显存,实现printf
编译
sudo apt-get install nasm
make all
安装
df /boot/
df /boot的结果在哪个sda?,set root=‘hd0,msdos?’中的?就填什么。(install.md里面的)
打开sudo gedit /etc/default/grub,前面的修改成这样
GRUB_DEFAULT=0
#GRUB_TIMEOUT_STYLE=hidden
#GRUB_TIMEOUT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX=""
把HelloOS.bin
拷到/boot
里面
重启
总结
PC机的引导:上电,加载GRUB引导程序,加载具体的操作系统。