一、下载arm-linux-gnueabihf
下载网址:https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/
二、安装
下载到宿主机桌面后,将其拖到Ubuntu虚拟机中随便一文件夹(这一步骤可能需要VMtools,自行解决),在此处打开终端执行
sudo xz -d gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
sudo tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar
sudo mv gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf /usr/local/arm-gcc
意思是将解压出来的gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf文件夹移动并更名为arm-gcc,位置是/usr/local。
而后去配置环境变量,以便于随时随地使用。
sudo vi /etc/profile
然后在打开的文件末尾,加上下面两行:
export PATH=$PATH:/usr/local/arm-gcc/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm-gcc/lib
如图:
而后执行:source /etc/profile
,以更新环境配置。
此时可输入arm
,并点击TAB键两次,如果出现下图则成功了。如若没有,则进行以下命令:
sudo vi /etc/environment
并在行位这样添加再执行source /etc/environment
,生效设置就ok了。不放心的话reboot一下虚拟机。
题外话
如果使用上面的刚安装的交叉编译工具去编译源文件/汇编文件,例如:
arm-linux-gnueabihf-gcc test.s -o test
可能会出现/lib/ld-linux-armhf.so.3: No such file or directory
这样的错误,其实是因为我们安装的工具库中,并没有这个文件,所以只需要把它下载下来就行了。这时可以执行这个指令:
sudo apt-get install libc6-armhf-cross
然后在/usr/
目录下会出现这arm-linux-gnueabihf
这个文件,这时如果虚拟机中安装了qemu的话,可以这样来执行这个文件:
qemu-arm -L /usr/arm-linux-gnueabihf/ test