背景:因为在原子的教程中有强调最新的Linaro gcc编译完uboot后无法运行的问题,所以原子采用4.9,那我们就沿用下。
Linaro gcc有两个版本: gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.tar.xz 和 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz,
第一个是针对 32 位系统的,第二个是针对 64 位系统的。大家根据自己所使用的 Ubuntu 系统类型选择合适的版本,比如我安装的 Ubuntu 20.04 是 64 位系统,因此我要使用 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。
这两种交叉编译器我们已经下载好放到了开发板光盘中,路径: 5、开发工具->1、交叉编译器。我们要先将交叉编译工具拷贝到 Ubuntu 中,当然你们也可以去https://releases.linaro.org/components/toolchain/binaries/下载各个版本试一下:
我放置的路径为:~/project/board/yuanzi/imx6ull/tool
解压
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
环境变量设置
touch env.sh
vim env.sh
编辑为以下内容:
#!/bin/bash
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=/home/zhongjun/project/board/yuanzi/imx6ull/tool/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin:$PATH
NOTED:根据自己的路径有所差别,我把路径放在PATH前面是因为我有其他的编译链
使能环境变量
source env.sh
查看是否配置成功
arm-linux-gnueabihf-gcc -v
显示4.9.4证明我们就配置成功了
sudo apt-get install nfs-kernel-server rpcbind
可以看到IP为10.88.110.31,这里记住IP,后续会用到
编译uboot跟Kernel下载到开发板中,参照:
https://wlink.blog.csdn.net/article/details/128590747
然后在开发板网线
然后ifconfig可以看到eth0有了ip
我们试下是否能ping通ubuntu
mount -t nfs -o nolock,nfsvers=3,vers=3 10.88.110.31:/home/zhongjun/project/board/yuanzi/imx6ull/nfs /mnt/nfs
其中会附带ubuntu的ip地址,然后会附带挂载的路径,以及imux6ull的映射路径
执行成功后,我们就可以在/mnt/nfs中看到