LFS6.8搭建过程中遇到的一些问题和解决方法

      大概三周前被安排做LFS6.8的搭建,今天终于成功启动。顺着LFS book一路走来,也遇到了一些问题,留此记录。

    

      1.  5.7. Glibc-2.13

        make的过程中会出现如下错误:

        make[1]:*** No rule to make target `/mnt/lfs/sources/glibc-build/Versions.all', neededby `/mnt/lfs/sources/glibc-build/abi-versions.h'. Stop.

        这是由于10.10中默认没有安装gawk,在原始用户(lfs用户下权限不够,也不能sudo)下apt-get install gawk,再重新配置再编译即可。


    2.6.22. Coreutils-8.10

     这个package在测试过程中会出现 FAIL:cp/sparse-fiemap 的错误,这是因为缺少一个patch,可以在LFS网站下载到如下patch:

     http://www.linuxfromscratch.org/patches/downloads/coreutils/coreutils-8.10-sparse_fiemap-1.patch

     下载后运行如下命令 :patch -Np1 -i ../ coreutils-8.10-sparse_fiemap-1.patch     再重新编译测试即可


    3. 启动时提示VFS: Cannot open root device "sdb1" or unknown-block(0,0)

    这是由于没有把rootfs所在的磁盘驱动编译进内核的原因,我的平台是 VMware6.5,对应的磁盘是SCSI类型设备中的LSI Logic设备,在配置内核时需要将如下内容选中,注意这里不能编译为模块:

     Linux Kernel Configuration--->
    Device Drivers --->
    <*> SCSI device support

    Device Drivers  --->
           [*]  Fusion MPT device support  --->

      Fusion这个箭头里面的选项有5项,具体哪个需要哪个不需要我也不太清楚,除了logging那项我都勾上了。


     对于不同平台,可以通过lspci查看pci设备的名称从而选择不同驱动。


      4.  启动时提示没有udev上指定的分区

       在启动过程中,出现下列提示:

       Activating all swap files/partitions...

       swapon: /dev/sdb5: stat failed: No such file or directory                               [ FAIL ]

      Mounting root file system in read-only mode...                                                [  OK   ]  

      Checking file systems...

      fsck.ext3: No such file or directory while trying to open /dev/sdb1    

      Possibly non-existent device?                                                                            [ FAIL ]

      FAILURE:

      FILE system errors were encounted that could not be fixed automatically. This

      system cannont continue to boot and will therefore be halted until those errors

      are fixed manually by a System Administrator.

      

     这里是因为udev和deprecated sysfs有冲突,启动udev必须关闭deprecated sysfs,在内核配置中关闭如下选项即可:

     General setup  --->

           [ ] enable deprecated sysfs features to support old userspace tools


     5.  LFS备份的方法

   LFS book中没有讲到备份方法,我曾经试图以简单的tar和cp来备份,都不太对,tar中途会提示出错,而cp会提示没有权限,总的原因是/dev下设备节点和/proc及/sys文件系统不能简单的拷贝和打包。LFS网站上有一个比较完备的备份方法http://www.linuxfromscratch.org/hints/downloads/files/backing-up-lfs.txt,我这里是搜索lfs-supportmailing list(在LFS主页右上角搜索即可)得到的一个简单方法:

    tar -C $LFS --one-file-system -cjvpf lfs-backup.tar.bz2 .

    其中,

   -C指切换目录至¥LFS,这样创建出来的压缩包根目录是 . ,而不是/mnt/lfs

   --one-file-sysem 忽略不在本文件系统上的目录,这样/proc,/sys,/dev中的文件不会被拷贝,以后恢复得时候需要重复LFS book chap6.2来新建设备节点


    或者,也可以通过cp命令:

    cp -Rav /mnt/lfs/* /mnt/backup

    a表示保留原有属性信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值