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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(手把手教你如何建立自己的Linux系统Word文档格式.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

手把手教你如何建立自己的Linux系统Word文档格式.docx

1、我的Blog:如须转载请注明作者为孙海勇(冲天飞豹),并提供转载出处。准备工作:下载LiveCD的ISO文件(因为在制作本文时最新正式版只有6.3-r2145下载):/ftp.osuosl.org/pub/lfs-livecd.-6.3-r2145.iso刻录ISO文件到光盘上,如果你是用真实机器当然少不了这步,不过如果你用VMWare的话,就可以直接使用ISO文件了。以VMWare Workstation 5.5为例(真实机器可跳过此部分)选择File-New-Virtual Machine.启动向导选择Custom,并选择New-Workstation 5然后在选择Guest operat

2、ing system里选择Linux,在Version里选择Other Linux 2.6.x kernel存放目录、处理器数量和内存大小根据实际情况,建议内存不得小于128M,最好256M以上相关知识点:LFS-6.3采用了GCC4.1.2,如果使用128M编译GCC4.x.x话就需要使用swap了,但如果配置了256M就可以在没有swap的情况下完成编译,所以条件允许的情况下使用256M。Network connection里选择Use network address translation(NAT)SCSI Adpters选择默认的LSI Logic就可以了注意点:这里选择的磁盘类型对于

3、最后编译内核使用选项是有影响的,我在本文的第一版中使用BusLogic来建立系统,因此这里选择使用LSI Logic来用,如果使用BusLogic的话可以参考本文第一版中的内核编译选项来代替后面的内核选项部分。选择Create a new virtual disk在Virtual Disk Type这步比较重要,你可以选择IDE也可以选择SCSI,但这里的选择直接影响到最后编译内核时的选项。这里以选择IDE为例子。如果选择了IDE,则内核的默认设置就可以支持,但如果选择了SCSI,就必须在内核中加入对SCSI Adpters的支持,因为前面选择了LSI Logic,所以内核中就必须加入对LSI

4、 Logic的支持,否则将无法启动,相关部分在最后的内核编译部分有说明。不过这里我建议选择使用IDE,一方面方便驱动,另外似乎LFS-6.3-r2145尚不能支持LSI Logic的SCSI磁盘,用该LiveCD启动后可能无法识别出硬盘来。对于磁盘大小,使用4G足够编译LFS了,但如果你打算编译更多的BLFS,这里可以考虑适当的增加一些大小,如果磁盘空间比较富裕就用默认的8G好了。完成向导后在虚拟机的界面里选择Edit virtual machine settings,将CD-ROM改为Use ISO image,然后选择LiveCD的ISO文件,如果你已经刻录好了光盘,将光盘放入光驱就行了。

5、点Start this virtual machine开是虚拟机由于虚拟盘上没有任何信息,因此将自动从LiveCD中启动,在启动过程中会出现选择时区等信息,你可以按照实际情况选择,也可以按照默认选择,简单点就是等待一会系统会自动进行选择。这里我选择时区为Asia/Shanghai,选择本地语言为Chinese (Simplified, UTF-8),其它的都按默认选择了。启动完成LiveCD后就开始建造自己的LFS的历程了。这里先介绍以下两个LiveCD下的重要目录/usr/share/LFS-BOOK-6.3-HTML目录存放的就是LFS手册了/lfs-sources里面存放的就是建造LFS

6、所需要的源码包,不需要到处下软件了。磁盘分区:输入命令:cfdisk /dev/hda将出现分区界面这里可以按照你自己的需要的分区,这里我按照设置一个根分区和一个交换分区为例,交换分区占用512M,其余的全部分给根分区。磁盘分区 作用/dev/hda1 swap/dev/hda2 作为目标系统根目录保存退出后进行磁盘分区的格式化mkswap /dev/hda1mkfs.xfs /dev/hda2磁盘格式化一定要在磁盘分区未进行加载前进行。mkswap是用于将磁盘分区格式化为交换分区的命令。这里我将/dev/hda2格式化了为Xfs格式,如果你喜欢其它格式的文件系统,你可以使用相应的命令来格式化

7、。注意:这里要根据实际情况建立和设置分区,如果你不太清楚这个问题,请先不要开始,否则可能造成难以恢复的损失!(这里只是根据VMWare里面的情况做的例子,在VMWare中相对安全些,建议初学者在虚拟机中开始。)如果你的内存不太大,想在编译期间就使用上交换分区的话,可使用下面的命令激活交换分区swapon /dev/hda1swapon用于激活交换分区swapoff用于将激活的交换分区停用可以通过free命令来查看当前的内存使用情况创建LFS的“创作基地”export LFS=/mnt/lfsmkdir -pv $LFSexport LFS=/mnt/lfs这条命令的作用是为了后面引用“创作基地

8、”的绝对路径方便而设置LFS这样的环境变量。加载/dev/hda2到“创作基地”mount /dev/hda2 $LFS创建必要的目录并设置属性创建源代码编译用目录mkdir -v $LFS/sourceschmod -v a+wt $LFS/sourceschmod a+wt是将目录或文件的属性设置为1777,这样任何人都可以对其进行读写。创建工具链目录mkdir -v $LFS/toolsln -sv $LFS/tools /ln -sv $LFS/tools执行后应该会输出/tools - /mnt/lfs/tools表示正确。上面这两句就建立了神奇的工具链目录(是工具链目录不是工具链)

9、,这样的创建方式是为了在创建工具链和使用工具链创建目标系统的时候对于工具链的位置都是/tools,这样可保证工具链的正常使用创建lfs用户groupadd lfsuseradd -s /bin/bash -g lfs -m -k /dev/null lfs设置lfs密码,设置为空就行了,也就是输入密码的时候直接回车就成。passwd lfs将tools和sources目录的用户改为lfs,以便后面使用lfs来操作这两个目录chown -v lfs $LFS/toolschown -v lfs $LFS/sources登陆到lfs用户su - lfs这时候你会发现命令行提示符已经由#改为了$其实

10、如果不使用lfs用root也是能完成工具链的,不过需要对root的环境变量进行修改,还要防止因为输入错误而导致覆盖主系统下的文件,所以LFS手册中制作工具链部分就是为了解决这种意外的发生而用lfs用户来建立工具链建立lfs用户的环境cat /.bash_profile EOFexec env -i HOME=$HOME TERM=$TERM PS1=u:w$ /bin/bashEOF /.bashrc exec env -i HOME=$HOME TERM=$TERM PS1=EOFset +humask 022LFS=/mnt/lfsLC_ALL=POSIXPATH=/tools/bin:e

11、xport LFS LC_ALL PATHsource /.bash_profile8.检查一下export命令查看输出,应该是declare -x HOME=/home/lfsdeclare -x LC_ALL=POSIXdeclare -x LFS=/mnt/lfsdeclare -x OLDPWDdeclare -x PATH=/tools/bin:/usr/bindeclare -x PS1=u:w$ declare -x PWD=declare -x SHLVL=1declare -x TERM=linux9.进入编译目录cd $LFS/sources基本上就恢复工作状态了。开始工具

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

13、binutils-2.17.tar.bz2因LFS的LiveCD中提供的tar版本比较新,后面制作的tar版本也比较新,因此支持自动识别的能力,同时为了使文章的解压命令看起来比较统一方便维护(同样对于想制作成脚本的朋友也会比较方便)因此后面统一使用tar xvf来解压。接着我们需要建立一个目录,因为binutils建议使用一个空目录来编译,所以mkdir -v ./binutils-buildcd ./binutils-buildCC=gcc -B/usr/bin/ ./binutils-2.17/configure -prefix=/tools -disable-nls -disable-w

14、errormakemake 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 1 tar xvf /lfs-sources/gcc-4.1.2.tar.bz2mkdir -v gcc-buildcd gcc-build ./gcc-4.1.2/configure -prefix=/tools -with-local-prefix=/tools -disable-nl

15、s -enable-shared -enable-languages=cmake bootstrapln -vs gcc /tools/bin/ccrm -rf gcc-buildrm -rf gcc-4.1.2这里不要图省事而不删gcc-4.1.2,因为这样可能会给后面的编译产生一些意外的错误。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

16、_installcp -rv dest/include/* /tools/includerm -rf linux-2.6.22.5Glibc-2.5.1tar xvf /lfs-sources/glibc-2.5.1.tar.bz2cd glibc-2.5.1mkdir -v ./glibc-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 -

17、with-headers=/tools/include -without-selinuxmkdir -v /tools/etctouch /tools/etc/ld.so.confrm -rf glibc-buildrm -rf glibc-2.5.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

18、 -v /tools/bin/ld-new,ldln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ldgcc -dumpspecs | sed s/lib/ld-linux.so.2/tools&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 -v

19、f grep -l DO NOT EDIT THIS FILE $GCC_INCLUDEDIR/* &unset GCC_INCLUDEDIR工具链的调整方法有好几种,而且不同版本GCC的specs可能会有不同,但实际上都是把specs文件中的/lib/ld-linux.so.2替换成了/tools/lib/ld-linux.so.2,所以即使有些文章在调整工具链上的命令和LFS手册上的不一样也不用太奇怪,当然也可以直接用gcc -dumpspecs导出后手工直接编辑specs文件。测试工具链的调整echo main() dummy.ccc dummy.creadelf -l a.out |

20、grep tools如果输出大致如下Requesting program interpreter: /tools/lib/ld-linux.so.2则表示调整成功,因为所有的库已经连接到了/tools/lib下。rm -rf a.out dummy.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./con

21、figure -prefix=/toolsmake install-private-headersln -sv tclsh8.4 /tools/bin/tclshtar xvf /lfs-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=nomake SCRIPTS= installtar xvf /lfs-sources/dejagnu-1.4.4.tar.gzcd dejagnu-1.4.4./configure -p

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2