当前位置: 首页 > news >正文

Crosstool-NG构建arm交叉编译工具链

前言全局说明

嵌入式移植,交叉编译工具链是必不可少的

Crosstool-NG是一个用于构建交叉编译工具链的工具,它简化了从源代码构建gcc、glibc、binutils等工具的过程.


一、说明

1.1 环境:

Ubuntu 22.04 LTS (Linux VirtualBox 6.8.0-87-generic #88~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Oct 14 14:03:14 UTC 2 x86_64 x86_64 x86_64 GNU/Linux)

二、安装依赖

sudo apt-get update
sudo apt-get install -y git gperf bison flex texinfo help2man gawk libtool-bin libncurses5-dev unzip 

三、获取Crosstool-NG

3.1

git clone https://github.com/crosstool-ng/crosstool-ng

3.2 选择特定版本

默认 master

cd crosstool-ng
git checkout master 

四、编译安装Crosstool-NG

4.1

./bootstrap

4.2

./configure --prefix=/opt/crosstool-ng

4.3

make

4.4

sudo make install

4.5 将Crosstool-NG添加到PATH:

export PATH="/opt/crosstool-ng/bin:$PATH"

五、设置

5.1

mkdir ~/arm-toolchain

5.12

cd ~/arm-toolchain

arm-toolchain 会占用大量空间,选择一个空间大的路径,在 .confi 里修改,或用 ct-ng menuconfig 修改

5.3 选择ARM架构预设

ct-ng arm-unknown-linux-gnueabi 

六、构建工具链

6.1 构建

ct-ng build

构建过程可能需要较长时间(30分钟到几小时,取决于系统配置)。

构建完成后,工具链将安装在~/x-tools/arm-unknown-linux-gnueabi目录下(或你指定的目录)。


七、扩展

7.1 离线构建

提前下载所有源码包:

ct-ng source

image

7.2 自定义配置(可选)

ct-ng menuconfig

常见配置选项:
Paths and misc options:设置安装路径(默认为~/x-tools)
Target options:调整目标架构(如ARMv7、ARMv8等)
Toolchain options:选择C库(glibc、musl等)
Operating System:选择Linux内核版本
Binary utilities:binutils版本
C compiler:gcc版本和配置



免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://www.wenxiaobai.com/6cd2e86a-b238-4f5e-984d-efb9a779150b



http://www.jsqmd.com/news/40402/

相关文章:

  • 获取docker前一分钟的至现在日志
  • 【转载】python如何录屏
  • 2025 年 11 月一力油漆/一力涂料厂家推荐排行榜:醇酸油漆,环氧富锌底漆,丙烯酸聚氨酯油漆优质品牌精选
  • 2025 年 11 月一力油漆/一力涂料厂家推荐排行榜:醇酸油漆,环氧富锌底漆,丙烯酸聚氨酯油漆专业选购指南
  • AI一周资讯 251108-251114
  • 2025年模块电源十大品牌权威排行榜揭晓,铁路电源/军用电源/新能源车载逆变电源/光伏电源/辅助应急电源/电源模块/高功率密度电源厂商排行榜
  • 解决EF Core数据同步问题:从强制刷新到单例模式的演进
  • leetcode36. 有效的数独
  • 2025年塑料皮带轮批发厂家权威推荐榜单:塑料电机齿轮/尼龙圆柱齿轮/塑料齿轮源头厂家精选
  • 102302104刘璇-数据采集与融合技术实践作业3
  • Pandas --Series序列
  • B5819W-ASEMI可直接替代安世PMEG4010CEGW
  • 习题解析之:字符大小写转换
  • ASM指令做题记录
  • Java 并行编程
  • 视频汇聚平台EasyCVR化解高速服务区管理难题,打造高速服务区的智慧监控方案
  • Linux Shell脚本基础语法
  • 不懂 Attention 不算懂 AI?十大奠基论文(一):一文读懂《Attention Is All You Need》
  • 2025年直埋保温管供货厂家权威推荐榜单:热力管道/夹克保温管/预制直埋保温管源头厂家精选
  • 2025上海专业防水补漏推荐!Top5口碑公司实测,先检测后施工有保障
  • 2025年通风气楼厂家权威推荐榜单:钢结构厂房气楼/顺坡气楼/排烟通风气楼源头厂家精选
  • 楼宇间网络拓扑测绘 从原理到精准部署
  • IP种子技术:构建全球P2P网络实时监测方案
  • IP应用场景全图谱:你的IP属于哪一类?
  • windows下配置cmake+opencv报错
  • 编译lazarus时,可能出现Makefile:3520: recipe for target fcllaz.ppu failed的处理方法
  • 破局代码思维:软件开发公司的体验式竞争力进化
  • IP定位面积揭秘:为什么你的IP归属地会不准确?
  • 无需人工奖励!Meta FAIR华人团队提出「早期经验学习范式」,AI智能体像人类一样“从错误中成长”
  • 嵌入式PWRKEY多功能使用攻略与设计要点探讨!