编译u-boot的过程中遇到的问题

我使用的是uboot-2016.tar.bz2这个压缩包,将其解压之后进入这个文件夹,里面所包含的文件如下图所示。
在这里插入图片描述
这个文件夹下包含着三个Shell脚本文件,都是可执行的,打开其中一个其内容如下。
在这里插入图片描述
根据自己的开发板类型决定执行哪一个Shell脚本,直接执行脚本文件,如下图所示。
在这里插入图片描述
显然没有这个权限,因此要在执行命令的前面加上sudo。
但是在执行的过程中还是报错了,如下图所示。
在这里插入图片描述
报错的具体信息如下。

cc1: error: bad value (‘armv5’) for ‘-march=’ switch

这个错误就要修改架构为arm,同时给出交叉编译器,按照网上的方法,我在当前文件夹下Makefile文件的开头添加了下面两行代码。

ARCH = arm
CROSS_COMPILE = arm-linux-gnueabihf-

保存后再次执行,这次虽然没有错误了,但是想要的文件还是没有生成,具体的信息如下图所示。
在这里插入图片描述
主要的问题如下,提示命令找不到。

make: arm-linux-gnueabihf-gcc: Command not found
/bin/sh: 1: arm-linux-gnueabihf-gcc: not found

这种情况下,我想着把交叉编译器安装的绝对路径加进来,这样总不会找不到了吧。
在安装交叉编译器的路径下查找到有以下文件的路径下停下,这个路径就是交叉编译器的绝对路径。
在这里插入图片描述
再次打开Makefile文件,将CROSS_COMPILE的路径修改为绝对路径,我修改完成之后如下。

CROSS_COMPILE = /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

再次执行下面的命令。

sudo ./build_6x_c.sh

u-boot的编译就没有问题了,编译完成后,该文件夹下所包含的文件如下图所示。
在这里插入图片描述
以上就是我在编译u-boot的过程中所遇到的问题,并通过文章中提到的方法解决了,希望本文对你也有所帮助!

猜你喜欢

转载自blog.csdn.net/weixin_42570192/article/details/132919827