工具链在LFS中的应用

在这里插入图片描述

过程描述:

主系统中有Linux内核,源工具链、辅助命令及库。编译工具和辅助命令都依赖Glibc。考虑到主系统的Binutils比实际需要的版本低,低版本的Binutils可能缺少需要的某些功能,所以首先生成预编译工具。利用预编译工具编译生成临时系统,把临时系统作为过渡,就可以使用chroot命令切换到制定目录,再利用临时系统提供的编译环境,制作最终的目标系统。

依赖关系:

VIM依赖Ncurses和Glibc,Ncurses依赖Glibc,最后Glibc调用内核提供的函数功能。编译相关的命令会依赖Glibc,其他共享库(如Ncurses)也会依赖Glibc。依赖关系就决定了软件包的编译安装顺序:
Glibc->Ncurses->VIM

工具链调整:

调整工具链实质就是用新的Glibc替换掉旧的Glibc。关键就是修改ld命令的链接,使工具链链接到新的glibc函数库。制作linux系统,要保证系统的纯净性,关键点就是调整工具链修改ld的链接。实现方式类似C语言里中数组的复制移动过程。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值