[完成]直播,LFS 6.4 rc1 2nd
时间:2008-11-16
来源:互联网
这一次继续,不过采用 bindutils 2.19 来试试.
采用 VM 安装,安装到实体硬盘上.
------------------------
到20081123,成功完成 LFS SVN 20081120
采用 binutils-2.19 ,gcc-4.3.2, linux kernel 2.6.27.7
直播没有后半部门,因为基本是看手册抄代码,所以没什么意思。
另。20081123.我的公历生日。
作者: qufo 发布时间: 2008-11-16
作者: qufo 发布时间: 2008-11-16
分
/dev/hda7 4G /
/dev/hda8 512M Swap
mkfs.ext3 /dev/hda7 swapon /dev/hda8
export LFS=/mnt/lfs mkdir -pv $LFS mount -v -t ext3 /dev/hda7 $LFS mkdir -v $LFS/sources chmod -v a+wt $LFS/sources mkdir -v $LFS/tools ln -sv $LFS/tools /
groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs chown -v lfs $LFS/tools chown -v lfs $LFS/sources su - lfs cat > ~/.bash_profile << "EOF" exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash EOF cat > ~/.bashrc << "EOF" set +h umask 022 LFS=/mnt/lfs LC_ALL=POSIX PATH=/tools/bin:/bin:/usr/bin export LFS LC_ALL PATH EOF source ~/.bash_profile
作者: qufo 发布时间: 2008-11-16
先定义一个符号连接,以取到我保存在硬盘上的 Package.
ln /mnt/e/lfs64/lfs-sources /sou
cd $LFS/sources tar xvf /sou/binutils-2.19.tar.bz2 mkdir -v binutils-build cd binutils-build CC="gcc -B/usr/bin/" ../binutils-2.19/configure \ --prefix=/tools --disable-nls --disable-werror
作者: qufo 发布时间: 2008-11-16
time { make && make install ; }
命令打完了,等着编译结束吧.
作者: qufo 发布时间: 2008-11-16
时间如下.
real 13m13s
user 6m7s
sys 6m56s
这么说,速度可以接受
作者: qufo 发布时间: 2008-11-16
make -C ld clean make -C ld LIB_PATH=/tools/lib cp -v ld/ld-new /tools/bin
接下来删除那两个文件夹.
作者: qufo 发布时间: 2008-11-16
cd $LFS/sources tar xvf /sou/gcc-4.3.2.tar.bz2 cd gcc-4.3.2 tar xvf /sou/mpfr-2.3.2.tar.bz2 mv mpfr-2.3.2 mpfr tar vxf /sou/gmp-4.2.4.tar.bz2 mv gmp-4.2.4 gmp mkdir -v ../gcc-build cd ../gcc-build CC="gcc -B/usr/bin/" ../gcc-4.3.2/configure --prefix=/tools \ --with-local-prefix=/tools --disable-nls --disable-shared --disable-libssp \ --enable-languages=c
是这样的
$LFS/sources
--gcc-4.3.2
|--mpfr
|--gmp
也就是说,mpfr和gmp在gcc-4.3.2的下一级.
接下来是
make make install
作者: qufo 发布时间: 2008-11-16
还以为直播终断了,加油啊!
作者: d00m3d 发布时间: 2008-11-16
早上起来发现gcc 编译完了,耗时 289 m
接近5个小时 .....
以binutils作为一个标准SBU,
gcc的时候是 22 SBU.
MD ,时间太长了.
继续...
作者: qufo 发布时间: 2008-11-16
作者: d00m3d
补充一下,编译 gmp 必需将任何 CFLAGS 环境变量去掉,否则 configure 会出错
|
作者: newper 发布时间: 2008-11-16
作者: newper 发布时间: 2008-11-16
作者: qufo
谢谢d00m3d,直翻中断的原因是gcc的编译过程太漫长了,于是....
早上起来发现gcc 编译完了,耗时 289 m 接近5个小时 ..... 以binutils作为一个标准SBU, gcc的时候是 22 SBU. MD ,时间太长了. 继续... |
作者: d00m3d 发布时间: 2008-11-16
作者: newper
还有,编译grub最好不要优化,有些机器上会无法启动,但有些机器可以
|
作者: d00m3d 发布时间: 2008-11-16
作者: newper 发布时间: 2008-11-16
作者: newper
我认为bootstrap确实只需要一次,。。。而pass1是用host的建立,所以bootstrap
|
但是中间这段。。。
因为从pass2开始是用前一次建立的gcc上再建立一个gcc,这就等于bootstrap |
作者: d00m3d 发布时间: 2008-11-16
OK
cd $LFS/sources tar xvf /sou/linux-2.6.27.4.tar.bz2 cd linux-2.6.27.4 make mrproper make headers_check make INSTALL_HDR_PATH=dest headers_install cp -rv dest/include/* /tools/include cd .. rm -rf linux-2.6.27.4
作者: qufo 发布时间: 2008-11-16
作者: newper 发布时间: 2008-11-16
tar xvf /sou/glibc-2.8-20080929.tar.bz2 cd glibc-2.8-20080929 sed -i 's@/etc/ld.so.preload@/tools/etc/ld.so.preload@' elf/rtld.c mkdir -v ../glibc-build cd ../glibc-build echo "CFLAGS += -march=i486 -mtune=native" > configparms ../glibc-2.8-20080929/configure --prefix=/tools \ --disable-profile --enable-add-ons \ --enable-kernel=2.6.0 --with-binutils=/tools/bin \ --without-gd --with-headers=/tools/include \ --without-selinux make mkdir -v /tools/etc touch /tools/etc/ld.so.conf make install cd .. rm -rf glibc-2.8-20080929 rm -rf glibc-build
glibc-2.8-20080929有两个补丁.
glibc-2.8-20080929-iconv_tests-1.patch
glibc-2.8-20080929-ildoubl_test-1.patch
此处没有打,因为手册并没有告诉我要打补丁,另外,照字面意思"猜测",此时我也不需要这些.
漫长的等待.....................
作者: qufo 发布时间: 2008-11-16
作者: d00m3d 发布时间: 2008-11-16
mv -v /tools/bin/{ld,ld-old} mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old} mv -v /tools/bin/{ld-new,ld} ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld gcc -dumpspecs | sed 's@/lib/ld-linux.so.2@/tools&@g' \ > `dirname $(gcc -print-libgcc-file-name)`/specs GCC_FIXED=`dirname $(gcc -print-libgcc-file-name)`/include-fixed && find ${GCC_FIXED}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; && rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_FIXED}/*` && unset GCC_FIXED
那个测试还是做吧,得不到正确结果就不用做下去了.
作者: qufo 发布时间: 2008-11-16
工具链没有调整好是不能继续下去的
作者: lofeng410 发布时间: 2008-11-16
cd $LFS/sources tar xvf /sou/tcl8.5.5-src.tar.gz cd tcl8.5.5 cd unix ./configure --prefix=/tools make TZ=UTC make test make install chmod -v u+w /tools/lib/libtcl8.5.so make install-private-headers ln -sv tclsh8.5 /tools/bin/tclsh
不管了.
作者: qufo 发布时间: 2008-11-16
所以,还是乖乖用 5.43
需要打两个补丁
cd $LFS/sources tar xvf /sou/expect-5.43.0.tar.gz cd expect-5.43 patch -Np1 -i /sou/expect-5.43.0-spawn-1.patch patch -Np1 -i /sou/expect-5.43.0-tcl_8.5.4_fix-1.patch cp -v configure{,.orig} sed 's:/usr/local/bin:/bin:' configure.orig > configure ./configure --prefix=/tools --with-tcl=/tools/lib \ --with-tclinclude=/tools/include --with-x=no make make test make SCRIPTS="" install
作者: qufo 发布时间: 2008-11-16
cd $LFS/sources tar xvf /sou/dejagnu-1.4.4.tar.gz cd dejagnu-1.4.4 ./configure --prefix=/tools make install
作者: qufo 发布时间: 2008-11-16
cd $LFS/sources tar /sou/gcc-4.3.2.tar.bz2 cd gcc-4.3.2 cp -v gcc/Makefile.in{,.orig} sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in cp -v gcc/Makefile.in{,.tmp} sed 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \ > gcc/Makefile.in for file in $(find gcc/config -name linux64.h -o -name linux.h) do cp -uv $file{,.orig} sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \ -e 's@/usr@/tools@g' $file.orig > $file echo " #undef STANDARD_INCLUDE_DIR #define STANDARD_INCLUDE_DIR 0" >> $file touch $file.orig done tar xvf /sou/mpfr-2.3.2.tar.bz2 mv mpfr-2.3.2 mpfr tar xvf /sou/gmp-4.2.4.tar.bz2 mv gmp-4.2.4 gmp mkdir -v ../gcc-build cd ../gcc-build ../gcc-4.3.2/configure --prefix=/tools \ --with-local-prefix=/tools --enable-clocale=gnu \ --enable-shared --enable-threads=posix \ --enable-__cxa_atexit --enable-languages=c,c++ \ --disable-libstdcxx-pch --disable-bootstrap make make -k check make install
作者: qufo 发布时间: 2008-11-16
handbook 上说
Binutils does not recognize versions of Texinfo newer than 4.9. Fix this issue by applying the following patch:
但我的是2.19,所以不打补丁,再说,我也没找到2.19相关的补丁.
cd $LFS/sources tar xvf /sou/binutuils-2.19.tar.bz2 mkdir binutils-build cd binutils-build ../binutils-2.19/configure --prefix=/tools \ --disable-nls --with-lib-path=/tools/lib make make install make -C ld clean make -C ld LIB_PATH=/usr/lib:/lib cp -v ld/ld-new /tools/bin
作者: qufo 发布时间: 2008-11-16
现在,接着.
cd $LFS/sources tar xvf ncurses-5.6.tar.gz cd ncurses-5.6 ./configure --prefix=/tools --with-shared \ --without-debug --without-ada --enable-overwrite make make install cd .. rm -rf ncurses-5.6
作者: qufo 发布时间: 2008-11-17
cd $LFS/sources tar xvf /sou/bash-3.2.tar.gz cd bash-3.2 patch -Np1 -i ../bash-3.2-fixes-8.patch ./configure --prefix=/tools --without-bash-malloc \ ac_cv_func_working_mktime=yes make make install ln -vs bash /tools/bin/sh
作者: qufo 发布时间: 2008-11-17
cd $LFS/sources tar xvf bzip2-1.0.5.tar.gz cd bzip2-1.0.5 make make PREFIX=/tools install cd .. rm -rf bzip2-1.0.5
作者: qufo 发布时间: 2008-11-17
cd $LFS/sources tar xvf /sou/coreutils-6.12.tar.gz cd coreutils-6.12 patch -Np1 -i /sou/coreutils-6.12-old_build_kernel-1.patch ./configure --prefix=/tools --enable-install-program=hostname make make install cp -v src/su /tools/bin/su-tools
作者: qufo 发布时间: 2008-11-17
cd $LFS/sources tar xvf /sou/diffutils-2.8.1.tar.gz cd diffutils-2.8.1 ./configure --prefix=/tools make make install cd .. rm -rf diffutils-2.8.1
作者: qufo 发布时间: 2008-11-17
楼主现在应该装得差不多了吧
作者: lofeng410 发布时间: 2008-11-17
cd $LFS/sources tar xvf /sou/e2fsprogs-1.41.3.tar.gz mkdir -v build cd build ../e2fsprogs-1.41.3/configure --prefix=/tools make make install-libs chmod -v u+w /tools/lib/{libblkid,libcom_err,libe2p,\ libext2fs,libss,libuuid}.a cd .. rm -rf e2fsprogs-1.41.3 rm -rf build
handbook中直接../configure
我猜他是在 e2fsprogs-1.41.3 下再建build的.
没必要,一般的build都建在与编译文件夹同级的,所以我改了一下.
作者: qufo 发布时间: 2008-11-17
没有出现什么意外。
所以,要到今天晚上回到家才继续。
而且,从第一次chroot继续。
作者: qufo 发布时间: 2008-11-17
作者: justinyun 发布时间: 2008-11-17
作者: cainiao55 发布时间: 2008-11-19
汇报一下进度,昨天晚上进行 gcc 4.3.2的第二次编译。
到今天早上还没玩。
作者: qufo 发布时间: 2008-11-19
如果做过一两遍,就没有必要每次都手工输入命令了把。
作者: trublemaker 发布时间: 2008-11-19
第一次要珍惜呀,是不是.
作者: qufo 发布时间: 2008-11-22
作者: d00m3d 发布时间: 2008-11-22
作者: newper
引用:
|
http://www.linuxfromscratch.org/lfs/...changelog.html
#2008-11-20 * [ken] - Added note to gmp about CFLAGS on 64-bit-capable machines. Reported by Tobias Gasser, thanks to Greg Schafer for the analysis. |
6.12.1. Installation of GMP [Note] Note If you have a CPU which is capable of running 64-bit code and you have specified CFLAGS in the environment, the configure script will attempt to configure for 64-bits and fail. Avoid this by adding ABI=32 to the CFLAGS variable for the duration of the configure command below, then remove it afterwards. |
作者: d00m3d 发布时间: 2008-11-22
2008-11-23
[ken] - Added note to gmp about CFLAGS on 64-bit-capable machines. Reported by Tobias Gasser, thanks to Greg Schafer for the analysis.
我的是 32-bit 的 cpu ,所以没事。
直播不了啦,后来我用 livecd 直接进去编译的,没有网络,没有输入法。
汗,到此结束。成功完成。
作者: qufo 发布时间: 2008-11-24
作者: newper
因为gmp自己会根据平台设定march,但这样也造成了一个问题,把p4上做的搬到p2上似乎就不能用了。
|
很奇怪的是我用CC=gcc -m32 编译的时候,它会将我的平台设置为pentiumpro,但是我的cpu是p4的呀,而且CC=gcc -m64设置的平台也是p4的。
作者: hritian 发布时间: 2008-12-01
作者: zjpgg 发布时间: 2008-12-01
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28