LFS 6.6 安装心得

  第一次搭建LFS,考虑到最新版本网上资料比较少,且没有中文版,所以选择LFS6.6作为切入点,且这个版本与我的宿主系统也比较匹配;

  宿主系统: CentOS 6.2,并且采用VMWare虚拟机,采用虚拟机的原因:

      1>. 由于LFS的搭建耗时比较长,且涉及到很多步骤,采用虚拟机可以充分利用其快照、暂停功能

                 2.> 对于硬件要求可以根据情况啦配置,比如我就是在VMWare中虚拟了一个新的SCSI硬盘给LFS使用。

  下面是LFS6.6中文版的教程:

      http://www.ha97.com/book/lfs-book-6.6/index.html

  我是完全按照教程来搭建的LFS的,所以对于这些流程,我就不详述了,只记录我在搭建过程中的心得。

     1. 下载软件包

     教程中提供的软件包下载地址,现在有部分已经不可用,可以去LFS官网去找最新的下载链接,然后把教程中下载的 wget-list中的下载地址更新为可用的,通过wget下载软件包;对于个别下载失败的可以手动从网上搜索。

     2. 安装软件包的过程中,一定要细心,我就是因为在第二次安装coreutils的过程中,没有拷贝/bin/true文件,导致后来设置grub引导时出错。

         安装软件过程中,有好多测试步骤耗时时间比较长,我后来都放弃执行这些步骤了;如果我搭建过程中感觉比较顺利的话,我觉得可以放弃这些步骤,执行这些测试也就图个心安。

     3. 在编译内核时,需要做些简单的设置,因为默认生成的配置文件一般都不能成功使用,我当时从网上搜集了一个,大家可以参考下:

    1> 虚拟机的硬盘使用的 SCSI, 适配器为 LSI Logic。

         需要增加对 Fusion MPT base driver 的支持

     Device Drivers —>
      — Fusion MPT device support
      <*> Fusion MPT ScsiHost drivers for SPI
      <*> Fusion MPT ScsiHost drivers for FC
      <*> Fusion MPT ScsiHost drivers for SAS
      (128) Maximum number of scatter gather entries (16 – 128)
      <*> Fusion MPT misc device (ioctl) driver

            注:如果硬盘适配器采用BusLogic, 选则Device Drivers->SCSI device support->SCSI low-level drivers下加入BusLogic SCSI support的支持                      Device Drivers
      |—> SCSI device support
        |—> <*> SCSI device support
        |—> <*> SCSI disk support
   2> 我采用的文件系统为ext3,需要增加对该文件系统的支持    

    File systems
      |—> <*> Ext3 journalling file system support
      |—> [*] Ext3 extended attributes
      |—> [*] Ext3 POSIX Access Control Lists

   此外,我是直接编译到内核来避免未用initrd脚本来加载模块而导致启动失败
  4. 配置grub

        由于我是完全按照教程,在宿主系统中增加了一个新的硬盘来搭建LFS的,所以又两种方式配置grub:

    1> 按照教程中的步骤,不过我在这个步骤中测试Configure环节出了问题,执行reboot失败,但是这个只是个测试步骤,我由于搞不定就直接Pass了,不影响最终的结果(成功启动LFS),不要按照教程需要进行下面的设置:

               设置系统将LFS所在的硬盘作为第一个启动盘,否则启动的就是宿主系统。对于VMWare来说,启动时在Power菜单中选择Bios启动,进入Bios界面来配置。

    2>可以直利用宿主系统的grub,我宿主系统安装的时grub 0.97,需要修改配置文件menu.lst;

      不过这里我也遇到问题,我修改了menu.lst没起作用,且在/boot/grub目录下自动生成了个grub.cfg文件,而且系统启动时grub也是通过这个配置文件来引导,我没能找到原因,怀疑是搭建LFS时安装的grub对宿主系统有影响。

  由于我也是第一次,除了上述提到的问题,整个过程还比较顺利,最后还留有两个遗憾一直没解决,我在考虑重新构建几次试试:

     1> 利用宿主系统grub引导LFS时,明明宿主系统grub是0.97,但是读取的确实grub.cfg的配置文件

  2> 在chroot模式下,执行reboot时失败:

    WARNING: could not determine runlevel - doing soft reboot
      (it's better to use shutdown instead of reboot from the command line)
    shutdown: timeout opening/writing control channel /dev/initctl
    init: timeout opening/writing control channel /dev/initctl

    且执行runlevel时,提示:unknown

posted @ 2013-02-23 20:08  坐看风起云涌  阅读(899)  评论(0编辑  收藏  举报