赋料扬雄敌,诗看子建亲。这篇文章主要讲述LFS 系列从零开始 DIY Linux 系统:构建临时系统 - Binutils-2.25相关的知识,希望能为你提供帮助。
在安装并配置好宿主机之后,我们就可以开始构建临时系统了!
构建该最小系统有两个步骤:
- 第一步是构建一个宿主系统无关的新工具链(编译器、汇编器、链接器、库和一些有用的工具)
- 第二步则是使用该工具链构建其它的基础工具。
?$LFS/tools?
? 中,以使其与下一章中安装的文件和宿主系统生成的目录分开。这是因为此处编译的软件包都是临时性的,因此我们不愿意它们污染后面即将制作的 LFS 系统。
?
?Binutils?
? 是首个安装的包,这是因为执行 GCC 和 Glibc 的 configure 时都将进行有关汇编器和链接器的多项特性测试,以判断允许或禁用哪些软件特性。其重要性可能更甚于最初的意识。对 GCC 或 Glibc 的错误配置可能导致工具链出现难以捉摸的问题,可能直到整个构建过程接近尾声时才会显现出这些问题。通常情况下,一次测试套件失败可在你进行太多其它工作前暴露出该错误。
?
?Binutils?
? 将其汇编器和链接器安装在两个位置,即 ??/tools/bin?
? 和 ??/tools/$LFS_TGT/bin?
?。介绍完之后,我们就开始吧!????????
Binutils 软件包包括了一个链接器、汇编器和其它处理目标文件的工具。
首先,切换到 ?
?lfs?
? 用户下:su - lfs
确保环境变量已生效,并且解压 ?
?Binutils-2.25?
? 软件包echo $LFS
cd $LFS/sources
tar xf binutils-2.25.tar.bz2
cd binutils-2.25
Binutils 手册建议在源码目录之外一个专门的编译目录里面编译 Binutils:
mkdir -v ../binutils-build
cd ../binutils-build
准备编译 Binutils,生成文件:
../binutils-2.25/configure\\
--prefix=/tools\\
--with-sysroot=$LFS\\
--with-lib-path=/tools/lib \\
--target=$LFS_TGT\\
--disable-nls\\
--disable-werror
编译软件包
make
如果是在 x86_64 上编译,创建符号链接,以确保工具链的完整性:
case $(uname -m) in
x86_64) mkdir -v /tools/lib & & ln -sv lib /tools/lib64 ; ;
esac
安装软件包:
make install
安装完成后清理工作:
cd ..
rm -rf binutils-build
rm -rf binutils-2.25
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
?? 技术交流可以 关注公众号:Lucifer三思而后行 ??
【LFS 系列从零开始 DIY Linux 系统(构建临时系统 - Binutils-2.25)】
推荐阅读
- 8.常见的权限表示形式
- 操作系统_第三章处理器管理_进程的调度算法
- 操作系统_进程同步与进程通信_多线程技术的优势
- 树莓派Pi4b 8G版本安装centos7
- 树莓派安装python3并配置pip
- windows 下如何修改文件的修改时间
- 操作系统_第三章处理器管理_进程
- micro-ROS之esp32与ros2资料(freertos)
- 智慧军营之动态人员监控系统