ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:211.46KB ,
资源ID:21601603      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21601603.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LFS linux的安装过程Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LFS linux的安装过程Word文件下载.docx

1、cfdisk /dev/hda将出现分区界面这里可以按照你自己的需要的分区,这里我按照设置一个根分区和一个交换分区为例,交换分区占用512M,其余的全部分给根分区。磁盘分区作用/dev/hda1 swap/dev/hda2作为目标系统根目录保存退出后进行磁盘分区的格式化mkswap /dev/hda1mkfs.xfs /dev/hda2相关知识点:磁盘格式化一定要在磁盘分区未进行加载前进行。mkswap是用于将磁盘分区格式化为交换分区的命令。这里我将/dev/hda2格式化了为Xfs格式,如果你喜欢其它格式的文件系统,你可以使用相应的命令来格式化。如果你的内存不太大,想在编译期间就使用上交换分

2、区的话,可使用下面的命令激活交换分区swapon /dev/hda1swapon用于激活交换分区swapoff用于将激活的交换分区停用可以通过free命令来查看当前的内存使用情况创建LFS的“创作基地”export LFS=/mnt/lfsmkdir -pv $LFSexport LFS=/mnt/lfs这条命令的作用是为了后面引用“创作基地”的绝对路径方便而设置LFS这样的环境变量。加载/dev/hda2到“创作基地”mount /dev/hda2 $LFS创建必要的目录并设置属性创建源代码编译用目录mkdir -v $LFS/sourceschmod -v a+wt $LFS/source

3、schmod a+wt是将目录或文件的属性设置为1777,这样任何人都可以对其进行读写。创建工具链目录mkdir -v $LFS/toolsln -sv $LFS/tools /注意:ln -sv $LFS/tools执行后应该会输出/tools - /mnt/lfs/tools表示正确。上面这两句就建立了神奇的工具链目录(是工具链目录不是工具链),这样的创建方式是为了在创建工具链和使用工具链创建目标系统的时候对于工具链的位置都是/tools,这样可保证工具链的正常使用创建lfs用户groupadd lfsuseradd -s /bin/bash -g lfs -m -k /dev/null

4、lfs设置lfs密码,设置为空就行了,也就是输入密码的时候直接回车就成。passwd lfs将tools和sources目录的用户改为lfs,以便后面使用lfs来操作这两个目录chown -v lfs $LFS/toolschown -v lfs $LFS/sources登陆到lfs用户su - lfs这时候你会发现命令行提示符已经由#改为了$其实如果不使用lfs用root也是能完成工具链的,不过需要对root的环境变量进行修改,还要防止因为输入错误而导致覆盖主系统下的文件,所以LFS手册中制作工具链部分就是为了解决这种意外的发生而用lfs用户来建立工具链建立lfs用户的环境cat /.bas

5、h_profile /.bashrc exec env -i HOME=$HOME TERM=$TERM PS1= /bin/bashEOFset +humask 022LFS=/mnt/lfsLC_ALL=POSIXPATH=/tools/bin:/usr/binexport LFS LC_ALL PATHsource /.bash_profile8.检查一下export命令查看输出,应该是declare -x HOME=/home/lfsdeclare -x LC_ALL=POSIXdeclare -x LFS=/mnt/lfsdeclare -x OLDPWDdeclare -x PAT

6、H=/tools/bin:/usr/bindeclare -x PS1=u:w$ declare -x PWD=declare -x SHLVL=1declare -x TERM=linux9.进入编译目录cd $LFS/sources基本上就恢复工作状态了。开始工具链的制作进入LFS包编译目录cd $LFS/sourcesBinutils-2.17 - Pass 1tar xvf /lfs-sources/binutils-2.17.tar.bz2cd binutils-2.17大家可以注意到后面所有的解包命令均使用tar xvf来完成,而不管文件的压缩方式是bz2还是gz,这是因为较新的t

7、ar程序都具有自动识别后缀名并自动调用相应的解压缩工具的能力,所以可以不需要指定压缩方式,但对于早期的tar命令则可能不具备这个功能因此需要你根据包的压缩方式来指定,如bz2使用j,gz使用z,对应上面的binutils则是tar xvjf /lfs-sources/binutils-2.17.tar.bz2因LFS的LiveCD中提供的tar版本比较新,后面制作的tar版本也比较新,因此支持自动识别的能力,同时为了使文章的解压命令看起来比较统一方便维护(同样对于想制作成脚本的朋友也会比较方便)因此后面统一使用tar xvf来解压。接着我们需要建立一个目录,因为binutils建议使用一个空目

8、录来编译,所以mkdir -v ./binutils-buildcd ./binutils-buildCC=gcc -B/usr/bin/ ./binutils-2.17/configure -prefix=/tools -disable-nls -disable-werrormakemake installmake -C ld cleanmake -C ld LIB_PATH=/tools/libcp -v ld/ld-new /tools/bincd .rm -rf binutils-buildrm -rf binutils-2.17GCC-4.1.2 - Pass 1tar xvf /l

9、fs-sources/gcc-4.1.2.tar.bz2mkdir -v gcc-buildcd gcc-buildCC= ./gcc-4.1.2/configure -prefix=/tools -with-local-prefix=/tools -disable-nls -enable-shared -enable-languages=cmake bootstrapmake installln -vs gcc /tools/bin/cccd .rm -rf gcc-buildrm -rf gcc-4.1.2这里不要图省事而不删gcc-4.1.2,因为这样可能会给后面的编译产生一些意外的错误

10、。Linux-2.6.22.5 API Headerstar xvf /lfs-sources/linux-2.6.22.5.tar.bz2cd linux-2.6.22.5make mrpropermake headers_checkmake INSTALL_HDR_PATH=dest headers_installcp -rv dest/include/* /tools/includecd .rm -rf linux-2.6.22.5Glibc-2.5.1tar xvf /lfs-sources/glibc-2.5.1.tar.bz2cd glibc-2.5.1mkdir -v ./gli

11、bc-buildcd ./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 -without-selinuxmakemkdir -v /tools/etctouch /tools/etc/ld.so.confmake installcd .rm -rf glibc-buildrm -rf glibc-2.5

12、.1这里的参数-enable-kernel=2.6.0,只是为了说明kernel的大版本,所以不需要根据实际的kernel版本来改,即使是用linux-2.6.15也一样只写2.6.0就可以了。调整工具链mv -v /tools/bin/ld,ld-oldmv -v /tools/$(gcc -dumpmachine)/bin/ld,ld-oldmv -v /tools/bin/ld-new,ldln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ldgcc -dumpspecs | sed s/lib/ld-linux.so.2/tools

13、&g dirname $(gcc -print-libgcc-file-name)/specsGCC_INCLUDEDIR=dirname $(gcc -print-libgcc-file-name)/include &find $GCC_INCLUDEDIR/* -maxdepth 0 -xtype d -exec rm -rvf ; &rm -vf grep -l DO NOT EDIT THIS FILE $GCC_INCLUDEDIR/* &unset GCC_INCLUDEDIR工具链的调整方法有好几种,而且不同版本GCC的specs可能会有不同,但实际上都是把specs文件中的/l

14、ib/ld-linux.so.2替换成了/tools/lib/ld-linux.so.2,所以即使有些文章在调整工具链上的命令和LFS手册上的不一样也不用太奇怪,当然也可以直接用gcc -dumpspecs导出后手工直接编辑specs文件。测试工具链的调整echo main() dummy.ccc dummy.creadelf -l a.out | grep tools如果输出大致如下Requesting program interpreter: /tools/lib/ld-linux.so.2则表示调整成功,因为所有的库已经连接到了/tools/lib下。rm -rf a.out dummy

15、.c测试工具安装说明:这部分将安装3个用于第六章各种源码包编译后的测试的工具,所以如果你不打算做make check之类的事情,那么这3个包可以不装。Tcl-8.4.15 Expect-5.43.0 DejaGNU-1.4.4tar xvf /lfs-sources/tcl8.4.15-src.tar.gzcd tcl8.4.15/unix./configure -prefix=/toolsmakemake installmake install-private-headersln -sv tclsh8.4 /tools/bin/tclshcd $LFS/sourcestar xvf /lfs

16、-sources/expect-5.43.0.tar.gzcd expect-5.43patch -Np1 -i /lfs-sources/expect-5.43.0-spawn-1.patchcp configure,.baksed s:/usr/local/bin: configure.bak configure./configure -prefix=/tools -with-tcl=/tools/lib -with-tclinclude=/tools/include -with-x=nomakemake SCRIPTS= installcd $LFS/sourcestar xvf /lf

17、s-sources/dejagnu-1.4.4.tar.gzcd dejagnu-1.4.4./configure -prefix=/toolsmake installcd .rm -rf tcl8.4.15rm -rf expect-5.43rm -rf dejagnu-1.4.4GCC-4.1.2 - Pass 2tar xvf /lfs-sources/gcc-4.1.2.tar.bz2cd gcc-4.1.2cp -v gcc/Makefile.in,.origsed s./fixinc.sh-c true gcc/Makefile.in.orig gcc/Makefile.incp

18、-v gcc/Makefile.in,.tmpsed s/XCFLAGS =$/& -fomit-frame-pointer/ gcc/Makefile.in.tmp gcc/Makefile.inpatch -Np1 -i /lfs-sources/gcc-4.1.2-specs-1.patchmkdir -v ./gcc-buildcd ./gcc-build./gcc-4.1.2/configure -prefix=/tools -with-local-prefix=/tools -enable-clocale=gnu -enable-shared -enable-threads=pos

19、ix -enable-_cxa_atexit -enable-languages=c,c+ -disable-libstdcxx-pchmakemake installcd .rm -rf gcc-buildrm -rf gcc-4.1.2再次测试工具链的调整,以确保刚刚编译的gcc正确工作Binutils-2.17 - Pass 2tar xvf /lfs-sources/binutils-2.17.tar.bz2mkdir -v binutils-buildcd binutils-build./binutils-2.17/configure -prefix=/tools -disable-

20、nls -with-lib-path=/tools/libmakemake installmake -C ld cleanmake -C ld LIB_PATH=/usr/lib:/libcp -v ld/ld-new /tools/bincd .rm -rf binutils-buildrm -rf binutils-2.17Ncurses-5.6tar xvf /lfs-sources/ncurses-5.6.tar.gzcd ncurses-5.6./configure -prefix=/tools -with-shared -without-debug -without-ada -en

21、able-overwritemakemake installcd .rm -rf ncurses-5.6Bash-3.2tar xvf /lfs-sources/bash-3.2.tar.gzcd bash-3.2patch -Np1 -i /lfs-sources/bash-3.2-fixes-5.patch./configure -prefix=/tools -without-bash-mallocmakemake installln -vs bash /tools/bin/shcd .rm -rf bash-3.2Bzip2-1.0.4tar xvf /lfs-sources/bzip2

22、-1.0.4.tar.gzcd bzip2-1.0.4makemake PREFIX=/tools installcd .rm -rf bzip2-1.0.4Coreutils-6.9tar xvf /lfs-sources/coreutils-6.9.tar.bz2cd coreutils-6.9./configure -prefix=/toolsmakemake installcp -v src/su /tools/bin/su-toolscd .rm -rf coreutils-6.9Diffutils-2.8.1tar xvf /lfs-sources/diffutils-2.8.1.

23、tar.gzcd diffutils-2.8.1./configure -prefix=/toolsmakemake installcd .rm -rf diffutils-2.8.1Findutils-4.2.31tar xvf /lfs-sources/findutils-4.2.31.tar.gzcd findutils-4.2.31./configure -prefix=/toolsmakemake installcd .rm -rf findutils-4.2.31Gawk-3.1.5tar xvf /lfs-sources/gawk-3.1.5.tar.bz2cd gawk-3.1

24、.5./configure -prefix=/toolscat config.h #define HAVE_LANGINFO_CODESET 1#define HAVE_LC_MESSAGES 1EOFmakemake installcd .rm -rf gawk-3.1.5Gettext-0.16.1tar xvf /lfs-sources/gettext-0.16.1.tar.gzcd gettext-0.16.1cd gettext-tools./configure -prefix=/tools -disable-sharedmake -C gnulib-libmake -C src msgfmtcp -v src/msgfmt /tools/bincd $

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1