Linux安装启动过程

1 开机后BIOS自检

    由BIOS判断磁盘上有哪些引导程序之后加载

    常见bootloader   –>   grub lilo syslinux/isolinux

2 由(bootloader)ISOLINUX 进行安装引导(第一阶段)

    由引导程序isolinux.bin启动系统

    启动时默认读取cdrom中的isolinux.cfg(配置文件)

    列出认为最重要的部分

   

    需在最后添加  inst.ks=kickstart配置文件所在位置(如果要实现自动安装)

    menu label 为安装时的引导选项 kernel 要加载的内核· initrd=initrd.img是定义内核的挂在器是initrd.img(不是很懂 望高人指点) inst.stage2镜像所在位置

3 由bootloader 加载vmlinuz映像(第二阶段)

    vmlinuz包含有linux内核的静态链接的可执行文件

    bootloader 释放内核映像到内存 开始内核引导过程

    内核加载部分硬件驱动(通过devtmpfs)     

    并且释放initramfs

4 由内核判断initrd.img的格式如果是cpio则释放到rootfs(加载必要的驱动)

    会被bootloader加载到内存中,并且启动init程序(所有进程的父进程  PID为1)。之后它会被复制到RAM中并挂载到系统上,并作为临时根文件系统使用

    并且加载相关模块驱动,从而找到真正的根文件系统。

    cpio-initrd( >= 2.6 ) image-initrd( 2.4 < )

    最主要区别为image-initrd的运行的第一个程序为linuxrc

    在运行完毕后又重新将系统控制权交给内核

    cpio-initrd运行的第一个程序为init

    之后不会将系统交给内核而是完全由init程序操作

5 执行initrd.img里的init程序进行初始化

    ./usr/sbin/anaconda-diskroot  查找kickstart文件

    以下为./usr/sbin/fetch-kickstart-disk函数输出

    ./usr/sbin/dmsquashfs-live-root程序挂载squashfs.img

    Init程序停止initrd文件系统

    并且重新remount到真实文件系统

    直到init程序到达basic system

6 运行squashfs中的usr/bin/anaconda程序 启动安装

    安装时anaconda读取kickstart中的内容进行安装

    以上为镜像安装时的全部启动过程,若有不对的地方还望指出。


此链接中含有以上所有出现的文件系统的解释文档

https://www.kernel.org/doc/Documentation/filesystems/


参考文档
https://www.ibm.com/developerworks/cn/linux/l-k26initrd/  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值