在ubuntu虚拟机上安装不同版本的交叉编译工具链

在之前的章节中,学习了如何安装了4.8.3的交叉编译工具链:

交叉编译 和 软硬链接 的初识(面试重点)-CSDN博客

但是,在之后学习内核编译时,由于我的树莓派内核版本较高,为6.1,所以在使用4.8.3版本的交叉编译工具链来进行内核配置的时候会提示版本过低:

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第1张图片

于是只好安装更高版本的交叉编译工具链,经过实践:虽然报错提示最低也要使用5.1.0版本的交叉编译器,但是我下载5.3或者5.5版本的依然会报错。可见,交叉编译工具链不是版本越高越好,而是要选择和内核版本兼容的我最后安装了5.1版本的

不同版本的交叉编译工具链下载地址:

Linaro Releases

进入网站后:

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第2张图片 

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第3张图片

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第4张图片

  • 下载下来后是.tar.xz后缀的压缩文件,先用windows解压一层变成.tar文件再拖入虚拟机(再解压tar的话windows又会提示大小写不同的文件名属于同名文件了):
sudo tar -xvf gcc-linaro-5.1-2015.08-x86_64_arm-linux-gnueabihf.tar //解压

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第5张图片 

  • 解压后进入该文件夹,再进入bin,找到“arm-linux-gnueabihf-gcc”:

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第6张图片

  • 为了防止和之前4.8.3版本的交叉编译器名字重叠,创建一个名为“arm-linux-gcc-5.1”的软链接指向它:
sudo ln -s arm-linux-gnueabihf-gcc arm-linux-gcc-5.3

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第7张图片 

  • 同样的,为4.8.3也重新创建一个软链接“arm-linux-gcc-4.8.3”来区分:
1. cd /home/mjm/ras_CrossCompile/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
2. ln -s arm-linux-gnueabihf-gcc-4.8.3 arm-linux-gcc-4.8.3

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第8张图片 

  • 然后永久性添加环境变量:
1. 将/home/mjm/ras_CrossCompile/gcc-linaro-5.1-2015.08-x86_64_arm-linux-gnueabihf/bin添加上4.8.3的环境变量之后,用“:”分隔

2. vi /home/mjm/.bashrc

3. 将1的内容加入2的文件最下方,保存退出

4. source /home/mjm/.bashrc

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第9张图片 

  •  最后重新开一个终端输入“arm-linux-gcc-5.1 -v”和“arm-linux-gcc-4.8.3 -v”测试:

输入arm-linux-gcc-5.1 -v:

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第10张图片

输入arm-linux-gcc-4.8.3 -v:

在ubuntu虚拟机上安装不同版本的交叉编译工具链_第11张图片

可见,成功在虚拟机上安装了不同版本的交叉编译工具链,且使用了软链接来自由的使用他们!

你可能感兴趣的:(ubuntu,linux,交叉编译,树莓派,交叉编译工具链)