我是在x86_64环境下制作arm的编译工具链,不过我一直没有找到一份好的参考资料来说明每一步的所代表的具体的意义;
以及每一参数对工具链的影响.如果有好的参考资料的小伙伴欢迎参与讨论和私信.
另外,制作出来的工具链并没有运用的实际工作中(编译出来的程序可以在arm架构的cpu上跑),仅仅是好奇做出来的.
!!!!!!!!!!!!!!!!!!!!!!!!!没有充足的把握还是不要用到项目中.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
环境准备
- ubuntu18.04(LTS)
ubuntu安装完成以后,需要安装一下几个工具:
flex,bison,texinfo,gawk, build-essential, g++
- 需要的源码:
binutils-2.30.tar
gcc-7.2.0.tar
glibc-2.26.tar
linux-4.19.30.tar
下面的是数学库和浮点运算库
gmp-6.1.2.tar
mpc-1.0.3.tar
mpfr-3.1.6.tar
这些工具库不同版本的组合有些是会编译失败的,以上的版本是我实验过可以成功编译出来的.
- 环境变量
创建编译目录
mkdir -p ./arm-linux/{kernel/,tools/sysroot,build-tools/{build-gcc,build-boot-gcc,build-glibc,build-binutils,glibc-header}}
创建环境变量文件(e