ubuntu8.10下完成LFS6.4的一些经验分享!
时间:2009-05-22
来源:互联网
正式接触学习linux有两个月了,20天前开始lfs之旅,因为是新手所以选择了用虚拟机+ubuntu来做,开始看到好多网友说在ubuntu下做lfs会出很多错误,现在回头看看没有想象的那么困难,但是错误还是有的不是很多。下面来谈谈感想。首先,我觉得如果你绝对自信或者有两台机器的话最好不要用虚拟机来做,因为这样确实很慢!其次,应该仔细阅读LFS手册,lfs需要足够的耐心,仔细会帮助你避免很多错误;第三,新手的话最好参考youbest大哥的《手把手教你如何建立自己的Linux系统 第二版》和《制作LFS过程中各个阶段恢复工作状态的方法 第二版》(适合LFS6.3),这两篇文章很实用。
下面是我遇到的一些错误和我自己最后的解决办法:
1、 binutils make pass1 出错
make [2] *** [info-recursive] Error1
make [1] *** [all-bfd] Error2
make : ***[all] Error2
解决方法:需要安装texinfo软件包,apt-get install texinfo.
2、 GCC-4.3.2 pass1 过程中不能通过configure
error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+
这时我已经按照手册安装过gmp和mpfr了
解决方法:tar -xvf ../gcc-4.3.2.tar.bz2
cd gcc-4.3.2
tar -xvf ../mpfr-2.3.2.tar.bz2
mv mpfr-2.3.2 mpfr
tar -xvf ../gmp-4.2.4.tar.bz2
mv gmp-4.2.4 gmp
3、 make glibc pass1 出错
mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed (bad class -- [], [^] or [)
/[^
mawk: scripts/gen-sorted.awk: line 19: syntax error at or near ]
mawk: scripts/gen-sorted.awk: line 19: runaway regular expression /, "", subd ...
make[1]: *** No rule to make target `/mnt/lfs/sources/glibc-build/Versions.all', needed by `/mnt/lfs/sources/glibc-build/abi-versions.h'. Stop.
make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.8-20080929'
make: *** [all] Error 2
解决方法:
问题处在ubuntu安装的是mawk,而编译glibc需要gawk,在ubuntu下apt-get install gawk,就可以了。如果还不行,将mawk链接到gawk,我就是这么做的。
4、make install Bash-3.2报错
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/doc'
( cd ./builtins ; make DESTDIR= install )
make[1]: Entering directory `/mnt/lfs/sources/bash-3.2/builtins'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/builtins'
( cd ./po/ ; make DESTDIR= install )
make[1]: Entering directory `/mnt/lfs/sources/bash-3.2/po'
test -z "[email protected] [email protected] ru.gmo" || make [email protected] [email protected] ru.gmo
make[2]: Entering directory `/mnt/lfs/sources/bash-3.2/po'
make[2]: `[email protected]' is up to date.
make[2]: `[email protected]' is up to date.
rm -f ru.gmo && : -c --statistics -o ru.gmo ru.po
mv: cannot stat `t-ru.gmo': No such file or directory
make[2]: *** [ru.gmo] Error 1
make[2]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
make[1]: *** [stamp-po] Error 2
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
make: [install] Error 2 (ignored)
解决方法:
apt-get install gettext 是gettext的问题,然后重新编译
5、 6.7节安装API Headers出现问题,提示没有权限
解决方法:
tar xvf $LFS/linux-2.6.22.5.tar.bz2
cd linux-2.6.22.5
sed -i '/scsi/d' include/Kbuild
make mrproper
make headers_check
make INSTALL_HDR_PATH=dest headers_install
cp -rv dest/include/* /usr/include
cd ..
rm -rf linux-2.6.22.5
6、 最后我遇到的一个问题就是grub,需要注意的是grub加载的硬盘文件系统一定不能是LVM的,我就在这出错了,另外因为ubuntu本身有自己的grub,所以可以不用重新建立grub,直接利用原有的grub,这样也不会破坏原来宿主系统,只需要修改grub中的menu.lst,加入LFS6.4的启动内容。例如:
title LFS 6.4
root (hd0,3)
kernel /boot/lfskernel-2.6.27.4 root=/dev/hda4
特别注明:以上的这些错误都是基于ubuntu8.10宿主系统的。
终于完成了lfs,断断续续用了20天的时间,当看到自己的小系统启动时还是很有成就感的,祝大家好运,我也会继续努力的!
下面是我遇到的一些错误和我自己最后的解决办法:
1、 binutils make pass1 出错
make [2] *** [info-recursive] Error1
make [1] *** [all-bfd] Error2
make : ***[all] Error2
解决方法:需要安装texinfo软件包,apt-get install texinfo.
2、 GCC-4.3.2 pass1 过程中不能通过configure
error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+
这时我已经按照手册安装过gmp和mpfr了
解决方法:tar -xvf ../gcc-4.3.2.tar.bz2
cd gcc-4.3.2
tar -xvf ../mpfr-2.3.2.tar.bz2
mv mpfr-2.3.2 mpfr
tar -xvf ../gmp-4.2.4.tar.bz2
mv gmp-4.2.4 gmp
3、 make glibc pass1 出错
mawk: scripts/gen-sorted.awk: line 19: regular expression compile failed (bad class -- [], [^] or [)
/[^
mawk: scripts/gen-sorted.awk: line 19: syntax error at or near ]
mawk: scripts/gen-sorted.awk: line 19: runaway regular expression /, "", subd ...
make[1]: *** No rule to make target `/mnt/lfs/sources/glibc-build/Versions.all', needed by `/mnt/lfs/sources/glibc-build/abi-versions.h'. Stop.
make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.8-20080929'
make: *** [all] Error 2
解决方法:
问题处在ubuntu安装的是mawk,而编译glibc需要gawk,在ubuntu下apt-get install gawk,就可以了。如果还不行,将mawk链接到gawk,我就是这么做的。
4、make install Bash-3.2报错
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/doc'
( cd ./builtins ; make DESTDIR= install )
make[1]: Entering directory `/mnt/lfs/sources/bash-3.2/builtins'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/builtins'
( cd ./po/ ; make DESTDIR= install )
make[1]: Entering directory `/mnt/lfs/sources/bash-3.2/po'
test -z "[email protected] [email protected] ru.gmo" || make [email protected] [email protected] ru.gmo
make[2]: Entering directory `/mnt/lfs/sources/bash-3.2/po'
make[2]: `[email protected]' is up to date.
make[2]: `[email protected]' is up to date.
rm -f ru.gmo && : -c --statistics -o ru.gmo ru.po
mv: cannot stat `t-ru.gmo': No such file or directory
make[2]: *** [ru.gmo] Error 1
make[2]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
make[1]: *** [stamp-po] Error 2
make[1]: Leaving directory `/mnt/lfs/sources/bash-3.2/po'
make: [install] Error 2 (ignored)
解决方法:
apt-get install gettext 是gettext的问题,然后重新编译
5、 6.7节安装API Headers出现问题,提示没有权限
解决方法:
tar xvf $LFS/linux-2.6.22.5.tar.bz2
cd linux-2.6.22.5
sed -i '/scsi/d' include/Kbuild
make mrproper
make headers_check
make INSTALL_HDR_PATH=dest headers_install
cp -rv dest/include/* /usr/include
cd ..
rm -rf linux-2.6.22.5
6、 最后我遇到的一个问题就是grub,需要注意的是grub加载的硬盘文件系统一定不能是LVM的,我就在这出错了,另外因为ubuntu本身有自己的grub,所以可以不用重新建立grub,直接利用原有的grub,这样也不会破坏原来宿主系统,只需要修改grub中的menu.lst,加入LFS6.4的启动内容。例如:
title LFS 6.4
root (hd0,3)
kernel /boot/lfskernel-2.6.27.4 root=/dev/hda4
特别注明:以上的这些错误都是基于ubuntu8.10宿主系统的。
终于完成了lfs,断断续续用了20天的时间,当看到自己的小系统启动时还是很有成就感的,祝大家好运,我也会继续努力的!
作者: 贝式弧线 发布时间: 2009-05-22
感想?好像談不上吧,經驗分享倒是沒有錯,不過也可以說用 UB 作 host 走的彎路多一點,又或者是準備工夫還未足
其實這些問題都可以避免的,原因是你開工前並沒有詳細閱讀手冊,滿足所需的系統要求而矣
其實這些問題都可以避免的,原因是你開工前並沒有詳細閱讀手冊,滿足所需的系統要求而矣
作者: d00m3d 发布时间: 2009-05-23
d00m3d说得正确,我第一次作LFS时,也是没有看文档开始的Host System Requirements,后面编译就碰见一些奇怪的问题不知道如何解决,后来问别人,很多人说 ubuntubu不适合作lfs宿主机,实际上并不是这样
作者: cqcya 发布时间: 2009-05-24
恩,你们说的有道理!
作者: 贝式弧线 发布时间: 2009-05-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28