首先我们需要一个工具链,目前有很多可以选择,此处我们选择Linaro,这是一种预先构建好的工具链。甚至也可以通过工具构建一个工具链,比如Buildroot,但此处我们不需要那么复杂。
其次按照自己的需求从这里来选择一个工具链下载,比如我期望将Nginx运行在NanoPI Neo2上面,处理器属于ARMv8,其上运行的系统是基于Ubuntu Core构建(使用glibc),所以我应该选择aarch64-linux-gnu。这个三项代表cpu-vendor-os,在这里有说明。
另外要注意具体的工具链版本,比如这个版本 https://releases.linaro.org/components/toolchain/binaries/latest-7/ 里面提到glibc是2.25,但是我那个系统里面的glibc版本并没有这么高,如果用这个来编译,再放到我的NanoPI Neo2里面去运行,会导致运行时GLIBC_2.25符号找不到的错误。所以这里我选择https://releases.linaro.org/components/toolchain/binaries/6.5-2018.12/aarch64-linux-gnu/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.xz 。