建立LFS过程的常见问题及解答
1.有乱码,试试将LC_ALL设置为en_US看看
/etc/profile文件内容如下:

export LC_ALL="en_US"
export LANG="en_US"
export INPUTRC=/etc/inputrc
2gcc4.3.2编译错误
  编译产生如下错误
  
 
 /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
  make[5]: *** [_muldi3.o] Error 1
  make[5]: Leaving directory `/mnt/lfs/sources/gcc-build/x86_64-unknown-linux-gnu/32/libgcc'
  make[4]: *** [multi-do] Error 1
  make[4]: Leaving directory `/mnt/lfs/sources/gcc-build/x86_64-unknown-linux-gnu/libgcc'
  make[3]: *** [all-multi] Error 2
  make[3]: Leaving directory `/mnt/lfs/sources/gcc-build/x86_64-unknown-linux-gnu/libgcc'
  make[2]: *** [all-stage1-target-libgcc] Error 2
  make[2]: Leaving directory `/mnt/lfs/sources/gcc-build'
  make[1]: *** [stage1-bubble] Error 2
  make[1]: Leaving directory `/mnt/lfs/sources/gcc-build'
  make: *** [all] Error 2
  
  起因:LFS宿主系统是64位的,做GCC的交叉编译会出错。
  解决:更换宿主系统为32位或采用CLFS
  
3.chrootglibc-2.5.1 make出错
  编译产生如下错误
  
  no gen-translit.pl < C-translit.h.in > C-translit.h.tmp
  /bin/sh: no :command not found
  make[2]:*** [C-translit.h] Error 127
  make[2]:Leaving directory '/sources/glibc-2.5.1/locale'
  make[1]: ***[locale/others] Error2
  make[1]:Leaving directory '/sources/glibc-.2.5.1'
  make : *** [all] Error2
  

  起因:沒安perl或者perl不能正常工作(perl -V可以进行简单测试。如一切正常就应无报错信息)。经检查编译的perl并没有问题,后发现是未正确复制perl的库造成
  解决: 1. PERL相关的LIB Copy过去(cp -Rv lib/* /tools/lib/perl5/5.8.8)2.重编Glibc前必须重新生成Makefile文件(必须)
4. chroot "$LFS" /tools/bin/env -i HOME=/root TERM="$TERM" PS1='\u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin /tools/bin/bash --login +h
上面命令输入后就报这个错误

chroot: cannot run command `/tools/bin/env': No such file or directory
  原因gcc第二遍的时候漏打了gcc-3.4.3-specs-2.patch,打上补丁,5.11之后的步骤重来,chroot就没出问题了,如再不行,整个第五章重做.
  5. 其它错误
除开上面的两个比较严重的错误外,基本是就是一些输入错误而引起的
如:由于当时做符号链接时ln -sv $LFS/tools / 时少打了后面那个/,把符号链接生成在root目录里面了,导致后面用lfs用户编译时出现Permision denied。重启修改后正常进行。
 
6.最后一步出错:
 
启动的最后一步提示:
/etc/rc.d/rcsysinit.d/S80localnet:line 22 ip :command not found
/etc/rc.d/rcsysinit.d/S80localnet:line 23 ip :command not found
一般就是因为:这个iproute2-2.6.20-070313.tar.gz包有问题,重装就能解决问题.
 
Interface eth0 doesn't exist
估计是没有把虚拟网卡编进内核,查看了一下,需要 pcnet32模块,在内核树drivers/net下面有pcnet32.c文件,按照如图选择就o了!
  
 最后说一下LFS虽然整个构建过程比较烦琐,只要你打好了基本功,多练几遍你就神了,注意理解。推荐你可以参考这两个文档《手把手教你如何建立自己的Linux系统》孙海勇老师的博客 和《Linux From Scratch官方手册》 。看附件。。。。。。。