手把手教你如何建立自己的Linux系统 - 第二版(3)

2019-01-19 11:18

/usr/bin下面的命令来帮助生成需要的命令并放在/tools/bin下,这样此消彼涨,最终可完成一个自给自足的工具链。

到此为止就可以开始工具链的制作了,不过制作LFS是一个漫长而浩大的工程,所以要一直开机直到完成有时候比较困难,特别是在机器速度比较慢的情况下,能够重新启动到最后工作的状态是很重要的。在不同的阶段重新启动并恢复状态的步骤不完全相同,所以本文会在不同的阶段讨论重新启动恢复到工作状态的方法和步骤。

从现在开始一直到第五章结束,也就是完成Stripping中间的步骤中如果重新启动的恢复步骤: 1.重新启动计算机,并从LiveCD启动

相关知识点:在VMWare中因为磁盘已经有了信息了,所以会从磁盘启动,需要在启动虚拟机中的机器时按F2进入虚拟机的虚拟BIOS,然后在BOOT中设置第一启动为CD-ROM,保存退出即可。

2.LiveCD启动过程同第一次启动选择一样。 3.加载分区

- 11 -

export LFS=/mnt/lfs mkdir -pv $LFS mount /dev/hda2 $LFS

4.加载交换分区(如果不想用交换分区或者没有交换分区可跳过此步骤) swapon /dev/hda1 5.建立工具链的链接 ln -sv $LFS/tools / 6.创建lfs用户 groupadd lfs

useradd -s /bin/bash -g lfs -m -k /dev/null lfs passwd lfs

chown -v lfs $LFS/tools chown -v lfs $LFS/sources su - lfs

7.建立lfs用户的环境

cat > ~/.bash_profile << \

exec env -i HOME=$HOME TERM=$TERM PS1='\%u:\\w\\$ ' /bin/bash EOF

cat > ~/.bashrc << \ 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 8.检查一下

export命令查看输出,应该是 declare -x HOME=\

- 12 -

declare -x LC_ALL=\ declare -x LFS=\ declare -x OLDPWD

declare -x PATH=\ declare -x PS1=\\\\%u:\\\\w\\\\\\$ \ declare -x PWD=\ declare -x SHLVL=\ declare -x TERM=\ 9.进入编译目录 cd $LFS/sources 基本上就恢复工作状态了。

开始工具链的制作 进入LFS包编译目录 代码:

cd $LFS/sources Binutils-2.17 - Pass 1 代码:

tar xvf /lfs-sources/binutils-2.17.tar.bz2 cd binutils-2.17 相关知识点:

大家可以注意到后面所有的解包命令均使用tar xvf来完成,而不管文件的压缩方式是bz2还是gz,这是因为较新的tar程序都具有自动识别后缀名并自动调用相应的解压缩工具的能力,所以可以不需要指定压缩方式,但对于早期的tar命令则可能不具备这个功能因此需要你根据包的压缩方式来指定,如bz2使用j,gz使用z,对应上面的binutils则是tar xvjf /lfs-sources/binutils-2.17.tar.bz2

因LFS的LiveCD中提供的tar版本比较新,后面制作的tar版本也比较新,因此支持自动识别的能力,同时为了使文章的解压命令看起来比较统一方便维护(同样对于想制作成脚本的朋友也会比较方便)

- 13 -

因此后面统一使用tar xvf来解压。

接着我们需要建立一个目录,因为binutils建议使用一个空目录来编译,所以 代码:

mkdir -v ../binutils-build cd ../binutils-build CC=\--disable-nls --disable-werror make make install make -C ld clean make -C ld LIB_PATH=/tools/lib cp -v ld/ld-new /tools/bin cd .. rm -rf binutils-build rm -rf binutils-2.17

GCC-4.1.2 - Pass 1 代码:

tar xvf /lfs-sources/gcc-4.1.2.tar.bz2 mkdir -v gcc-build cd gcc-build CC=\ --with-local-prefix=/tools --disable-nls \\ --enable-shared --enable-languages=c make bootstrap make install ln -vs gcc /tools/bin/cc cd .. - 14 -

rm -rf gcc-build rm -rf gcc-4.1.2 注意:这里不要图省事而不删gcc-4.1.2,因为这样可能会给后面的编译产生一些意外的错误。

Linux-2.6.22.5 API Headers 代码:

tar xvf /lfs-sources/linux-2.6.22.5.tar.bz2 cd linux-2.6.22.5 make mrproper make headers_check make INSTALL_HDR_PATH=dest headers_install cp -rv dest/include/* /tools/include cd .. rm -rf linux-2.6.22.5

Glibc-2.5.1 代码:

tar xvf /lfs-sources/glibc-2.5.1.tar.bz2 cd glibc-2.5.1 mkdir -v ../glibc-build cd ../glibc-build ../glibc-2.5.1/configure --prefix=/tools \\ --disable-profile --enable-add-ons \\ --enable-kernel=2.6.0 --with-binutils=/tools/bin \\ --without-gd --with-headers=/tools/include \\ - 15 -


手把手教你如何建立自己的Linux系统 - 第二版(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生态系统稳定性之教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: