目前正在进行LFS 6.3的安装。遇到很多疑惑和困难,写出来和大家分享一下。我的技术背景是对linux知之甚少。你问我为什么装LFS?我也不知道为什么,没有什么目的性。从一穷二白开始,我只是想知道安装完LFS 以后我对linux的理解能够上升到什么层次。
好,现在开始。
参考资料:
[原创]第二版 手把手教你如何建立自己的Linux系统(LFS速成手册)
http://www.linuxsir.org/bbs/thread322894.html
Linux From Scratch定制指南
http://man.chinaunix.net/linux/lfs/LFS-6.1.1/index.html
如何提高LFS的成功率以及部分问题的解决方法
http://blog.chinaunix.net/u/13265/showart.php?id=100756

=================================================================
遇到问题了。
第三次调整工具链,也即Man-pages-2.63和Glibc-2.5.1之后调整工具链出现问题:
echo 'main(){}' > dummy.c
cc dummy.c -v -Wl,--verbose &> dummy.log
readelf -l a.out | grep '/lib'
之后能够显示 [Requesting program interpreter: /lib/ld-linux.so.2]
但是如下命令均没有返回值:
grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log

grep -B1 '^ /usr/include' dummy.log

grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'

grep "/lib/libc.so.6 " dummy.log

grep found dummy.log
昨晚关机睡觉,今天执行如下恢复步骤:
1.重新启动计算机,并从LiveCD启动
  2.加载分区
  export LFS=/mnt/lfs
  mkdir -pv $LFS
  mount /dev/hda2 $LFS
  3.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤)
  swapon /dev/hda1
  4.加载必要的文件系统
  mount -v --bind /dev $LFS/dev
  mount -vt devpts devpts $LFS/dev/pts
  mount -vt tmpfs shm $LFS/dev/shm
  mount -vt proc proc $LFS/proc
  mount -vt sysfs sysfs $LFS/sys
  5.Chroot到目标系统下
  chroot "$LFS" /tools/bin/env -i \
  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
   PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
  /bin/bash --login +h
  6.进入编译目录
  cd /sources
  export LFS=/sources
发现用户名的标识变为root# /bin:/usr/bin:/sbin:/usr/sbin:/tools/bin。怀疑工具链调整错误了。
目前不知道如何恢复工具链到之前的状态。。。。。。。。。。。。。。。、
正在查资料,不行就从头开始做了。


事实证明从头开始是一个错误。上面的原因是“ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \”这里漏掉一个空格;从新开始后到这里提示chroot: cannot change root directory to : No such file or directory.根据冲天飞豹的“部分问题解决方法”认为是第五章出问题了。ldd /tools/bin/env检查是没有问题的,还要检查哪里出问题。希望能早点解决。