本帖最后由 我爱下载 于 2016-12-21 20:14 编辑
接上贴,在完成准备工作后
https://bbs.icxbk.com/community/fo ... 1261&extra=page%3D1
我们可以开始编译u-boot了。我们必须进入到orangepi_h2_linux-master/OrangePi-Kernel中,才可以继续下面的操作。
按照说明中的提示,我应该执行sudo ./build_uboot.sh zero,由于我时采用root用户登录的,所以这里的sudo就可以省略了,于是我们在终端中输入
./build_uboot.sh zero
开始中u-boot编译。编译的时候,大家都不能免俗啊,指定是戏剧性的编译失败,由于大师们把编译脚本写的太好了,所以我们就看到编译失败了,至于为什么失败了,也看不到怎么办呢
我就是比较喜欢看到编译的时候,屏幕上一条一条的显示编译结果,有错误马上显示出来,于是我们把大师写的编译脚本修改一下。
第二步、修改编译脚本,显示编译信息到屏幕上
使用任何文本编辑工具,我这里使用的gedit,你也可以使用其他的工具,打开build_uboot.sh
看第29行,我们把原来
echo "build uboot,please wait...." && make ARCH=arm CROSS_COMPLIE=arm-linux-gnueabi- > /dev/null 2>&1
更改位
echo "build uboot,please wait...." && make ARCH=arm CROSS_COMPLIE=arm-linux-gnueabi-
或者如图中所示,用“#”
echo "build uboot,please wait...." && make ARCH=arm CROSS_COMPLIE=arm-linux-gnueabi-
#> /dev/null 2>&1
这样设计将会将原来默默的编译变为我们希望的方式。
第三步,重新编译,看看到底哪错了
终端中,重新执行
./build_uboot.sh zero
这是,我们可以看到错误提示了,提示错误内容为
./scripts/dtc-version.sh:行
17:dtc: 未找到命令
./scripts/dtc-version.sh:行
18:dtc: 未找到命令
***Your dtc is too old, please upgrade to dtc 1.4 or newer Makefile:1374:recipe for target 'checkdtc' failed make:*** Error 1 提示错误内容为
./scripts/dtc-version.sh:行
17:dtc: 未找到命令
./scripts/dtc-version.sh:行
18:dtc: 未找到命令
***Your dtc is too old, please upgrade to dtc 1.4 or newer Makefile:1374:recipe for target 'checkdtc' failed make:*** Error 1
这个命令的大意是,你系统中dtc的版本太低了,必须要升级你的dtc为1.4或更高版本
第四步,升级dtc
根据以上提示,升级
debian系统的
device-tree-compiler。使用命令:
apt-get install device-tree-compiler
我这里假设你的系统都已经执行过apt-get update这样的命令了如果没有意外的,你的系统dtc升级位1.4版本了。接下来我们重新执行编译脚本,这里就不多说了,当然时一切OK了。我们顺利的获得
u-boot-sunxi-with-spl.bin至此,
uboot编译完成了。
本帖最后由 我爱下载 于 2016-12-21 20:14 编辑
接上贴,在完成准备工作后
https://bbs.icxbk.com/community/fo ... 1261&extra=page%3D1
我们可以开始编译u-boot了。我们必须进入到orangepi_h2_linux-master/OrangePi-Kernel中,才可以继续下面的操作。
按照说明中的提示,我应该执行sudo ./build_uboot.sh zero,由于我时采用root用户登录的,所以这里的sudo就可以省略了,于是我们在终端中输入
./build_uboot.sh zero
开始中u-boot编译。编译的时候,大家都不能免俗啊,指定是戏剧性的编译失败,由于大师们把编译脚本写的太好了,所以我们就看到编译失败了,至于为什么失败了,也看不到怎么办呢
我就是比较喜欢看到编译的时候,屏幕上一条一条的显示编译结果,有错误马上显示出来,于是我们把大师写的编译脚本修改一下。
第二步、修改编译脚本,显示编译信息到屏幕上
使用任何文本编辑工具,我这里使用的gedit,你也可以使用其他的工具,打开build_uboot.sh
看第29行,我们把原来
echo "build uboot,please wait...." && make ARCH=arm CROSS_COMPLIE=arm-linux-gnueabi- > /dev/null 2>&1
更改位
echo "build uboot,please wait...." && make ARCH=arm CROSS_COMPLIE=arm-linux-gnueabi-
或者如图中所示,用“#”
echo "build uboot,please wait...." && make ARCH=arm CROSS_COMPLIE=arm-linux-gnueabi-
#> /dev/null 2>&1
这样设计将会将原来默默的编译变为我们希望的方式。
第三步,重新编译,看看到底哪错了
终端中,重新执行
./build_uboot.sh zero
这是,我们可以看到错误提示了,提示错误内容为
./scripts/dtc-version.sh:行
17:dtc: 未找到命令
./scripts/dtc-version.sh:行
18:dtc: 未找到命令
***Your dtc is too old, please upgrade to dtc 1.4 or newer Makefile:1374:recipe for target 'checkdtc' failed make:*** Error 1 提示错误内容为
./scripts/dtc-version.sh:行
17:dtc: 未找到命令
./scripts/dtc-version.sh:行
18:dtc: 未找到命令
***Your dtc is too old, please upgrade to dtc 1.4 or newer Makefile:1374:recipe for target 'checkdtc' failed make:*** Error 1
这个命令的大意是,你系统中dtc的版本太低了,必须要升级你的dtc为1.4或更高版本
第四步,升级dtc
根据以上提示,升级
debian系统的
device-tree-compiler。使用命令:
apt-get install device-tree-compiler
我这里假设你的系统都已经执行过apt-get update这样的命令了如果没有意外的,你的系统dtc升级位1.4版本了。接下来我们重新执行编译脚本,这里就不多说了,当然时一切OK了。我们顺利的获得
u-boot-sunxi-with-spl.bin至此,
uboot编译完成了。