LiveCD的启动过程

1. LiveCD的辅助系统

     之前提到的initrd以及initramfs都可以使用

2. LiveCD最终系统

     采用CD或者DVD作为存储介质不可写入,基本采用ISO9660文件系统

3. LiveCD对硬件设备的驱动

     LiveCD要支持不同的硬件设备需要动态对驱动模块加载

     (1)内核支持大量硬件驱动

     (2)辅助系统提供LiveCD存储介质

     (3)最终系统中提供硬件自动检测和模块自动加载

      使用以下方法

     (1)内核配置中选择大量的硬件驱动

     (2)辅助系统中加载最基本的内核模块以及光驱设备

     (3)最终系统中采用udev进行硬件检测和模块加载

4. LiveCD基本的启动过程

(1)LivdCD启动器

  为了让光盘可以启动系统,需要在光盘的特定位置上放入(Grub),将计算机的BIOS设置为从光盘启动,就会在光盘的特定位置启动该控制器,载入光盘上的辅助文件系统。

(2)镜像文件的启动过程

  镜像文件有两种方式,一种是Initrd, 另外一种是Initramfs

       <1>使用Initrd时候内核会在自身启动完成以后运行辅助系统中的"/linuxrc"程序文件, linuxrc必须是一个可执行文件,可以是二进制文件也可以是脚本文件。

       linuxrc需要完成几项功能

  • 测试当前计算机的硬件配置
  • 找到livecd的光驱设备文件并且加载
  • 将livecd的最终系统挂载到内存中
  • 对最终系统做使用前的处理
  • 设置real-root-dev为/dev/ram0设备号
  • 将LiveCD的最终系统切换到根文件系统上
  • 将启动控制权交还给

     <2>使用"Initramfs"内核会在启动完以后运行辅助系统中的/init程序文件

    init需要完成以下几项功能

  • 测试当前计算机的硬件配置
  • 查找当前LiveCD所在光驱设备文件并加载
  • 将LiveCD中的最终系统加载到内存中
  • 对最终系统做使用前的处理
  • 将最终系统切换到根文件分区上

   两者的区别在于initrd需要考虑内核衔接的问题,而Initramfs不需要考虑。

   关于LiveCD请关注我的博客,还有后续文章介绍如何自己制作LiveCD以及如何修改已经做好的LiveCD发行版,并且会介绍一些LiveCD相关的技术

posted @ 2013-05-04 23:06  鹰hawk  阅读(2375)  评论(0编辑  收藏  举报