第16章 挂载根文件系统与执行/sbin/init
2026/9/4 7:25:07 网站建设 项目流程

第16章 挂载根文件系统与执行/sbin/init

内核版本:Linux 7.1.3
架构:x86_64
核心源码路径:

  • init/do_mounts.c
  • init/do_mounts_initrd.c
  • init/do_mounts_rd.c
  • fs/exec.c
  • fs/binfmt_elf.c
  • fs/open.c
  • block/blk-core.c

内核启动主线的终点不是start_kernel()返回,而是 PID 1 成功执行用户态 init。直到kernel_execve("/sbin/init", ...)成功前,系统仍然处在“内核替用户态铺路”的阶段:根设备要找到,根文件系统要挂上,/dev要有,initramfs 或真实根要切换完成,最后 ELF 加载器把用户态程序映射进 PID 1 的地址空间。

这一步可以看作启动流程的惊险一跃:PID 1 从一个内核函数kernel_init(),变成第一个真正运行用户态代码的进程。

16.1root=如何进入内核

init

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询