news 2026/5/1 21:16:05

Linux配置交叉编译工具链

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux配置交叉编译工具链

在x86机器上编译Arm的内核,需要配置交叉编译工具链,需要三个东西,记住:ARCH, CROSS_COMPILE,和PATH。
提醒:交叉编译工具一般芯片供应商的厂家会提供版本,如果交叉编译工具太老可能导致编译失败(比如我这篇文章中使用的9.2就太老了)。

1 设置交叉编译工具链

还有种开机生效的方法没写。。。我的服务器不方便重启。

1.2 永久生效(每次终端进来都需要source,但是最方便的 )

vim~/.bashrc 在行尾添加或修改,加上下面几行exportARCH=arm64exportCROSS_COMPILE=aarch64-none-linux-gnu-exportPATH=$PATH:/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/ 设置完毕后,要执行source~/.bashrc 命令使其生效

1.2 临时生效

每次在命令行输入exportARCH=arm64exportCROSS_COMPILE=aarch64-none-linux-gnu-gccexportPATH=$PATH:/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/

1.3 手动指定实现交叉编译

# 编译kernel make ARCH=arm CROSS_COMPILE=/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-# 编译kernel module,需要制定kernel路径 make ARCH=arm CROSS_COMPILE=/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-KERNEL_SRC=/home/linux-kernel-dir

2 测试交叉编译工具链

2.1测试环境变量

book@:~$echo$ARCHarm64 book@:~$echo$CROSS_COMPILEaarch64-none-linux-gnu-

2.1测试交叉编译器

book@:~$ aarch64-none-linux-gnu-gcc-vUsing built-in specs.COLLECT_GCC=aarch64-none-linux-gnu-gccCOLLECT_LTO_WRAPPER=/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/../libexec/gcc/aarch64-none-linux-gnu/9.2.1/lto-wrapper Target: aarch64-none-linux-gnu Configured with: /tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/src/gcc/configure--target=aarch64-none-linux-gnu--prefix=--with-sysroot=/aarch64-none-linux-gnu/libc --with-build-sysroot=/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/install//aarch64-none-linux-gnu/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/host-tools --with-mpfr=/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/host-tools --with-mpc=/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/host-tools --with-isl=/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/host-tools --enable-fix-cortex-a53-843419 --with-pkgversion='GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)'Thread model: posix gcc version9.2.120191025(GNU Toolchainforthe A-profile Architecture9.2-2019.12(arm-9.10))
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 21:14:25

Lily58项目社区贡献指南:如何参与开源键盘开发

Lily58项目社区贡献指南:如何参与开源键盘开发 【免费下载链接】Lily58 644keys column-staggered split keyboard. 项目地址: https://gitcode.com/gh_mirrors/li/Lily58 Lily58是一款644键的列错位分体式开源键盘项目,为机械键盘爱好者提供了高…

作者头像 李华
网站建设 2026/5/1 21:08:27

在模型广场中根据任务需求与预算快速对比并选择合适的大模型

在模型广场中根据任务需求与预算快速对比并选择合适的大模型 1. 理解模型广场的核心功能 Taotoken 模型广场为开发者提供了集中查看和管理可用大模型的入口。该功能将不同厂商的模型按照统一标准展示,支持按名称、能力类型或价格区间筛选。每个模型卡片包含基础信…

作者头像 李华
网站建设 2026/5/1 21:06:34

Postal邮件服务器MCP集成:AI工作流自动化与邮件管理新范式

1. 项目概述:一个连接Postal与MCP的桥梁如果你正在构建一个需要处理邮件发送、追踪或地址验证的应用程序,并且希望以一种更现代、更灵活的方式来集成这些功能,那么你很可能已经听说过Postal这个开源的邮件服务器。但直接与Postal的API交互&am…

作者头像 李华
网站建设 2026/5/1 21:05:52

Ignite终极设备信息获取指南:React Native应用开发必备技巧

Ignite终极设备信息获取指南:React Native应用开发必备技巧 【免费下载链接】ignite Infinite Reds battle-tested React Native project boilerplate, along with a CLI, component/model generators, and more! 9 years of continuous development and counting. …

作者头像 李华
网站建设 2026/5/1 21:03:31

NTU VIRAL数据集:无人机多传感器融合研究的技术基石

NTU VIRAL数据集:无人机多传感器融合研究的技术基石 【免费下载链接】ntu_viral_dataset 项目地址: https://gitcode.com/gh_mirrors/nt/ntu_viral_dataset 在机器人感知与自主导航领域,单一传感器往往难以应对复杂多变的环境挑战。视觉传感器在…

作者头像 李华