这个工具链的制作背景是想在asus ax86u路由器上安装一些软件,而系统自带的ipkg包管理工具安装的软件要么不能用,要么版本过低。所以有了自己编译的想法。
其间在网上查阅了很多大神的文章,很少有关于macos系统的,所以写了这篇文章,一来是可为有需要的有个参考,其次怕自己遗忘。
在此感谢网上大神的文章,由于太多已记不清是哪位大神了,在此一并感谢,望见谅!
Host:Mac OS X版本12.5.1 Target:aarch64-linux
1.编译环境构建
1.1 安装命令行开发工具
打开终端,输入:
xcode-select --install
弹出对话框,问我们是否安装命令行开发工具,我们选择安装-->同意。然后是下载安装,要等好一会。
这个安装好以后,gcc g++ make等都安装好了。
1.2 编译sed、系统自带的sed有些功能不能用、编译glibc时编译不过。这里我用sed 4.8版编译。下载源码以后解压。进入源码目录
./configure
make
sudo make install
这个要加上sudo涉及到安装目录权限。
1.3 编译gawk,系统没有gawk。这里我用gawk 5.1.1版编译。下载源码以后解压。进入源码目录
./configure
make
sudo make install
1.4 更改/opt目录权限,我这里用这个目录,你也可用其它目录,可能不需要理改权限。
cd /
chown -R 你的用户名 opt
配置环境变量
export PREFIX=/opt/toolchains
export TARGET=aarch64-linux
export PATH=$PREFIX/bin:$PATH
这个可以写入home目录下的.zshrc文件中一直有效。
2. 下载相关软件源码. 我下载的如下(解压在同一目录下,例如:~/code)
binutils-2.28.1 glibc-2.26 linux-4.1.52 patch-4.1.52 (目标机上的binutils、glibc、linux版本是这个) gdb-12.1 gcc-12.2.0 gmp-6.2.1 mpc-1.2.1 isl-