先介绍下简要的一启动顺序:
- BIOS或启动固件加载并运行引导装载程序
- 引导装载程序在磁盘上找到内核映像并装载到内存中启动
- 内核初始化设备及其初始程序
- 内核挂载root文件系统
- 内核用PID 1 来运行init,用户空间此时开始启动
- init启动其他系统进程
- init通常在最后启动一个用于用户登录的进程
Linux引导装载程序的核心功能
- 从多个内核中选一个使用
- 从多个内核参数集中选一个使用
- 允许v用户手动更改内核映像名称和参数
- 允许支持其他操作系统使用
再介绍一下Linux内核初始化过程
- 检查CPU
- 检查内存
- 检测设备总线
- 检测设备
- 设置附加内核子系统(如网络等)
- 挂载root目录
- 启动用户空间
命令 | 意义 |
---|---|
dmesg | 检测或控制内核缓冲区,默认输出内核缓冲区的内容 |
porc/cmdline | 系统启动时使用的内核参数,其中的 ro 参数代表以只读模式挂载文件系统 |
boot/grub/grub.cfg | grub的核心配置文件 |
grub-mkconfig | 生成新的配置文件,默认输出已有的配置文件 |