Archlinux 搭建 arm64/AArch64 交叉编译环境
0. 系统环境
系统:
Archlinux: 成文时间最新
工具版本:
Binutils: 2.34-1
GCC: 9.2.1+20200130-2
GNU Make: 4.3
1. 编译交叉编译工具链
此部分参考博客。
交叉编译工具链需要用到至少七个工具(库):
同时我们还有两个用于优化的库:
这两个库是可选的。
搭建完成后我们会获得一系列编译、链接工具,包括我们熟知的 gcc、ld 等。
1.1 准备工作
首先建立三个目录,分别存放源码、构建文件和编译结果(也即我们需要的交叉编译工具链)
mkdir -p /path/to/cross-compile-src/
mkdir -p /path/to/cross-compile-build/
mkdir -p /path/to/cross-compile-install/
export CROSS_COMPILE_SRC=/path/to/cross-compile-src/
export CROSS_COMPILE_BUILD=/path/to/cross-compile-build/
export CROSS_COMPILE_INSTALL=/path/to/cross-compile-install/
将安装目录内未来会生成的 bin 目录加入 PATH(我以为这一步只是为了省事,为了不把环境变量搞乱我第一次尝试没有加,结果编译失败)
export PATH=$CROSS_COMPILE_INSTALL/bin:$PATH
接下来下载相应的包,笔者选用的软件包版本分别为(除 Linux Kernel 外均为成文时最新稳定)
软件名
版本
Binutils
2.34
GCC
9.2.0
glibc
2.31
Linux Kernel
4.14.172
MPFR
4.0.2
GMP
6.2.0
MPC
1.1.0
isl
0.18
CLooG