1.背景
ARM的很多东西在网上都找不到,只能自己编译,而内网又没法联网,有时候会却各种各样的包,且自己的虚拟机环境是X86,于是只能找下如何在x86编译ARM包。
2.获取交叉编译工具链
2.1.下载
在有网的x86机器上执行以下命令下载包:
wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz --no-check-certificate
tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
2.2.配置环境变量
在解压后的工具链目录中,有一个 bin
子目录,其中包含了交叉编译器和其他工具。将这个目录添加到系统的 PATH
环境变量中,以便于使用交叉编译工具。
打开你的 shell 配置文件(例如 ~/.bashrc
或 ~/.bash_profile
),添加以下行:
export CROSS_COMPILE=/path/to/extracted/toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
执行source ~/.bashrc
使环境生效。
3.编译举例
以下以编译fio为例,fio的源码可以在github上搜出来。
解压fio包之后,cd进去,执行:
./configure
make
执行完成后在当前目录即可生成fio二进制包,拿到ARM机器上可直接执行。