热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux发行版>LFS>

如何提高LFS的成功率以及部分问题的解决方法

来源: 作者: 时间:2008-06-22 Tag: 点击:


11、整个第六章的编译安装是建立在第五章的工具链之上的,所以第五章工具链的问题将直接导致第六章的失败,所以在第六章出现问题可以从第五章上找找原因,当然也可能是刚刚编译的第六章的包造成的,通常来讲,如果第六章的glibc如果编译安装没有问题的话,那么工具链通常都是正确的。

12、第六章的调整工具链(6.12. Re-adjusting the Toolchain)也是最容易出问题的章节之一,问题基本和第五章上的一样,主要是输入方面的问题:
perl -pi -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g;' \ 这行里面是单引号
-e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' \ 这行里面是单引号
`gcc --print-file specs` 这行里面是“`”
记得调整完以后一定要记得测试:
echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep ': /lib'
测试的结果一定要是
[Requesting program interpreter: /lib/ld-linux.so.2]
才行。

  如果你过了这一关,则下面的编译可以放心的继续了,后面的章节都比较容易,只要注意命令不要敲错了就行。

13、到了第六章Shadow这节也要注意一下,这里有三个sed命令,这一节也经常有人出问题,出问题的结果就是导致最终的LFS启动后无法登录。要注意sed命令中的的空格、单引号和“`”、以及大小写。
sed -e's@#MD5_CRYPT_ENAB.no@MD5_CRYPT_ENAB yes@'这行中no前面是一个点,而yes前面是一个空格。
  不要在安装完shadow后忘记执行
  pwconv
  grpconv
  passwd root
  否则root用任何密码都进不去系统哦。
如果已经开始启动新系统发现这个问题,那么只有重新用原系统启动,然后根据《制作LFS过程中各个阶段恢复工作状态的方法》一文中介绍的方法恢复到第六章的状态,然后再设置root密码。

14、第六章sysvinit(6.56. Sysvinit-2.86),也是在启动系统的时候比较重要的,这里比较重要的就是/etc/inittab,先严格按照LFS手册里面的写吧。

15、第六章的Udev(6.58. Udev-056)是个比较“特殊”的包,特殊在如果你不了解这个包最好只用手册上的使用的版本,因为用新的版本可能有不兼容的情况。
如果不小心使用了不兼容的版本,那么用原系统启动,然后根据《制作LFS过程中各个阶段恢复工作状态的方法》一文中介绍的方法恢复到第六章的状态(安装udev之前的状态),然后重新编译安装Udev。

16、第七章的配置Linux Console部分(7.6. Configuring the Linux Console),建议直接跳过去,默认配置通常没有问题。这里如果配置不对的话,反而可能造成在用Linux中键盘失常。
如果已经开始启动新系统发现这个问题,可以用原系统启动,然后根据《制作LFS过程中各个阶段恢复工作状态的方法》一文中介绍的方法恢复到第六章的状态,然后删除/etc/sysconfig/console文件即可。

17、第八章编译内核(8.3. Linux-2.6.11.12)
手册中有命令
loadkeys -m /usr/share/kbd/keymaps/[path to keymap] > \
drivers/char/defkeymap.c
这个是为了配合第七章的配置Linux Console部分(7.6. Configuring the Linux Console)而需要的,既然Linux Console部分前面已经跳过去了,这里也跳过去,不需要这个命令。
如果已经开始启动新系统发现这个问题,那么只有重新用原系统启动,然后根据《制作LFS过程中各个阶段恢复工作状态的方法》一文中介绍的方法恢复到第六章的状态,然后重新编译内核。
编译内核也是很有讲究的,这个有许多文章介绍,这里就不多说了,这里主要提醒一下,如果不想使用initrd的话一定要把目标系统使用的磁盘的驱动编译到内核里,而不要编译成模块,IDE的比较容易,默认就可以,但SCSI和LSI的就需要配置一下了;目标系统/目录的文件系统也要编译到内核里,不要做成模块,目标系统的/boot不要放在LVM上,否则grub无法识别出来。

18、第八章使系统可启动部分(8.4. Making the LFS System Bootable)
这里有人经常出现在grub中无法找到硬盘的情况,这里首先要排除使用了LVM,然后检查是否加载了proc文件系统,以及是否运行了/sbin/udevstart,要保证/dev中有需要的设备文件,这样grub才能正确识别。
grub中对磁盘的表示方法和/dev中的不太相同,/dev/hda2在grub中表示为(hd0,1)而/dev/hdb1表示为(hd1,0),SCSI的表示方法也不一样/dev/sda2也表示为(hd0,1)。


(转载请保持文章的完整性,请注明作者和出处)

  本文的目的是希望更多的人能够顺利的踏入LFS的神秘世界,如果你有什么好的想法和建议也希望能写出来,大家一起分享。


                               作者:冲天飞豹(youbest)
                               Email:youbest@sina.com
                               2006年4月16日

上一篇:换个角度看LFS——反向分析LFS
下一篇:没有了
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
栏目列表
热点关注
相关文章