分享
 
 
 

LFS6.1学习备忘录(第二步:构建临时编译环境)

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

作者: lvjinhua

日期:2005.11.13

昨天创建了一个基本的工作空间,总结一下:首先在一个新分区上构建ext2文件系统,作为以后LFS系统的主分区,如果可能最好有一个swap分区;然后将此分区挂载到一个目录下,我们选择 /mnt/lfs , 并设置环境变量 $LFS=/mnt/lfs; 接下来在 $LFS下新建目录 tools 并将其在宿主系统 /tools处建立一个符号连接, 我们马上就要构建的临时编译环境将全部存放到此目录中; 创建目录 $LFS/sources用于存放解压后待编译的源代码 ;紧接着在宿主系统新建一个用户 lfs , 赋予其 $LFS/tools, $LFS/sources目录的所有权, 后续步骤将使用 lfs 用户进行; 最后运行 su - lfs 进入新建的用户, 为新用户设置一些环境参数, 目的是使我们在此用户下编译的内容尽可能小地依赖于宿主系统. 复习完成了以前的内容, 下边进入今天的主题->

1. 什么是临时编译环境

见文知义啊,也就是说此编译环境并不进入到我们最终建成的LFS系统,而只是一个中间内容;这里边包含了一个完整的开发环境,包括C/C++编译器, 调试器,文件编译器和各种Linux 常用工具集.

2. 为什么要构建临时编译环境

构建临时编译环境的目的是为了使我们最终的LFS系统完全地与宿主系统隔离. 之所以要隔离的原因是因为真实的操作系统为了减少可执行文件的大小和最大限度地重用一些通用库, 因此把这些通用库做成可在运行时动态加载的动态链接库形式, Linux 下常以 *.so 表示, 而Windows下常以 *.DLL 的形式表示. 实际上我们的宿主主机就已经是一个编译环境了,为什么还要构建一个临时的呢? 原因是这样滴::宿主上的编译环境是高度依赖于宿主主机的, 基于这样的原因, 非常不便于我们对编译后软件的测试. 因此这里利用交叉编译的基本方法, 首先从宿主系统编译一个基本上不依赖于宿主的编译环境, 然后利用这个环境再编译最终的LFS.

3. 第一步:第一次编译基本部件 binutils 和 gcc

首先你得知道自己下载的LFS源代码包在哪个位置, 由于我是使用 LFS6.1-LiveCD 启动的系统, 因此源代码包位于 /sources 目录下, 新建环境变量 export $SRC=/sources 指代此源代码目录

LFS的作者假设我们已经非常熟悉Linux的使用, 因此对于一个压缩的源代码包如何解压缩都没说, 我这里简单的说一下: 首先进入解压后源代码欲存放的目录, cd $LFS/sources , 然后使用 tar 命令解压binutils工具包, tar -xf $SRC/binutils-2.15.94.0.2.2.tar.bz2 , 稍等片刻, 就可在 $LFS/sources目录下发现一个新的目录 binutils-2.15.94.0.2.2 , 解压过程完成.

新建一新目录来编译binutils工具, mkdir $LFS/sources/binutils-build , cd binutils-build , 进入目录, 执行 ../binutils-2.15.94.0.2.2/configure --prefix=/tools --disable-nls 对源代码进行自动配置, configure 后的参数 --prefix=/tools 指明其编译生成的内容存入 /tools 目录中, 注意, 此目录是 $LFS/tools 目录的一个符号连接, --disable-nls 参数将禁止国际化特性. 配置无错完成后, 可接着运行 make ; make install 对源代码进行编译并安装, 注意这里它将安装到 $LFS/tools 目录下. 下边的这步将调整连接器, make -C ld clean ; make -C ld LIB_PATH=/tools/lib , 作用就是使用刚生成的库文件重新编译连接器.

在目录 $LFS/sources 解压 gcc3.4.3.tar.bz2 , 然后按照LFS安装说明上的讲解去安装就行.

4. 第二步:编译其它工具

实际上这没有什么好说的, 只要按照LFS安装说明, 打补丁, 配置, 编译, 安装, 调整, 一路下去就行.

好了, 临时环境的构建就到这里, 下面将进入 LFS 系统基本软件的安装过程.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有