LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2788|回复: 44

[完成]直播,LFS 6.4 rc1 2nd

[复制链接]
发表于 2008-11-15 23:34:56 | 显示全部楼层 |阅读模式
上一次失败,不明原因CPU100%,无法继续进行,
这一次继续,不过采用 bindutils 2.19 来试试.

采用 VM 安装,安装到实体硬盘上.


------------------------
到20081123,成功完成 LFS SVN 20081120

采用 binutils-2.19 ,gcc-4.3.2, linux kernel 2.6.27.7

直播没有后半部门,因为基本是看手册抄代码,所以没什么意思。

另。20081123.我的公历生日。
 楼主| 发表于 2008-11-15 23:35:43 | 显示全部楼层

VM成功.

VM启动成功.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-15 23:46:04 | 显示全部楼层

0-预备信息

1.磁盘分区.
分   
/dev/hda7 4G /
/dev/hda8 512M Swap

  1. mkfs.ext3 /dev/hda7
  2. swapon /dev/hda8
复制代码

OK 分区有了.接下来准备文件夹

  1. export LFS=/mnt/lfs
  2. mkdir -pv $LFS
  3. mount -v -t ext3 /dev/hda7 $LFS
  4. mkdir -v $LFS/sources
  5. chmod -v a+wt $LFS/sources
  6. mkdir -v $LFS/tools
  7. ln -sv $LFS/tools /
复制代码

接着加用户,设置用户环境

  1. groupadd lfs
  2. useradd -s /bin/bash -g lfs -m -k /dev/null lfs
  3. chown -v lfs $LFS/tools
  4. chown -v lfs $LFS/sources
  5. su - lfs

  6. cat > ~/.bash_profile << "EOF"
  7. exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
  8. EOF
  9. cat > ~/.bashrc << "EOF"
  10. set +h
  11. umask 022
  12. LFS=/mnt/lfs
  13. LC_ALL=POSIX
  14. PATH=/tools/bin:/bin:/usr/bin
  15. export LFS LC_ALL PATH
  16. EOF
  17. source ~/.bash_profile

复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-16 00:03:52 | 显示全部楼层

5.4. Binutils-2.18 - Pass 1

handbook上说要打补丁,但是,此处用最新的 binutils 2.19 ,所以不打补丁.
先定义一个符号连接,以取到我保存在硬盘上的 Package.

  1. ln /mnt/e/lfs64/lfs-sources /sou
复制代码

接下来解开,配置,安装

  1. cd $LFS/sources
  2. tar xvf /sou/binutils-2.19.tar.bz2
  3. mkdir -v binutils-build
  4. cd binutils-build
  5. CC="gcc -B/usr/bin/" ../binutils-2.19/configure \
  6.     --prefix=/tools --disable-nls --disable-werror
复制代码

注意,这里采用 binutils-2.19,没有找到其他的资料,先这么用着.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-16 00:07:10 | 显示全部楼层

5.4. Binutils-2.18 - Pass 1

为了观察binutils 的编译时间,所以用如下命令进行编译,以检查时间.

  1. time { make && make install ; }
复制代码

也就是说,这样一来,会执行两个命令, make 和 make instal ,并且,会在结束的时候报告时间.

命令打完了,等着编译结束吧.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-16 00:20:17 | 显示全部楼层
编译完成.
时间如下.
real 13m13s
user 6m7s
sys 6m56s
这么说,速度可以接受
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-16 00:22:23 | 显示全部楼层

  1. make -C ld clean
  2. make -C ld LIB_PATH=/tools/lib
  3. cp -v ld/ld-new /tools/bin
复制代码

很快完成.
接下来删除那两个文件夹.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-16 00:41:20 | 显示全部楼层

5.5. GCC-4.3.2 - Pass 1

安装gcc-4.3.2

  1. cd $LFS/sources
  2. tar xvf  /sou/gcc-4.3.2.tar.bz2
  3. cd gcc-4.3.2
  4. tar xvf /sou/mpfr-2.3.2.tar.bz2
  5. mv mpfr-2.3.2 mpfr
  6. tar vxf /sou/gmp-4.2.4.tar.bz2
  7. mv gmp-4.2.4 gmp
  8. mkdir -v ../gcc-build
  9. cd ../gcc-build
  10. CC="gcc -B/usr/bin/" ../gcc-4.3.2/configure --prefix=/tools \
  11.     --with-local-prefix=/tools --disable-nls --disable-shared --disable-libssp \
  12.     --enable-languages=c
复制代码

这里仍然要注意各个文件夹的关系.
是这样的
$LFS/sources
       --gcc-4.3.2
         |--mpfr
         |--gmp
也就是说,mpfr和gmp在gcc-4.3.2的下一级.

接下来是

  1. make
  2. make install
复制代码

又将是一个漫长的等待......
回复 支持 反对

使用道具 举报

发表于 2008-11-16 08:16:19 | 显示全部楼层
补充一下,编译 gmp 必需将任何 CFLAGS 环境变量去掉,否则 configure 会出错

还以为直播终断了,加油啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-16 08:24:29 | 显示全部楼层
谢谢d00m3d,直翻中断的原因是gcc的编译过程太漫长了,于是....
早上起来发现gcc 编译完了,耗时 289 m
接近5个小时  .....
以binutils作为一个标准SBU,
gcc的时候是 22 SBU.
MD ,时间太长了.

继续...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表