嵌入式Linux开发-uboo移植

2020-02-28  本文已影响0人  大丽水手吃卤蛋

0.准备

有一个Exynos 4412的开发板,正好趁着放假,想移植一个新的uboot和一个新的linux内核,说干就干,顺便把遇到的问题记录下来
uboot版本为2020.01,下载地址:
ftp://ftp.denx.de/pub/u-boot/
kernel版本为5.4.9,下载地址:
https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/
交叉编译器下载地址:
https://www.linaro.org/downloads/

1.交叉编译器的安装

在/usr/local/下面创建一个arm的文件夹,把交叉编译工具解压到arm文件夹下。


在这里插入图片描述

将该路径添加到环境变量中。


在这里插入图片描述 在这里插入图片描述
执行source命令
在这里插入图片描述

查看交叉编译器是否安装成功


在这里插入图片描述
查看交叉编译器版本
在这里插入图片描述

2.编译uboot

解压uboot源码,在Makefile文件中修改如下内容


在这里插入图片描述

首先配置一个config,确认编译环境


在这里插入图片描述
在这里插入图片描述
编译完成,编译环境没有问题,下面进行Exynos 4412开发板相关的配置,编译Exynos 4412开发板用的uboot
在这里插入图片描述

3.uboot的配置

创建板级目录和板级文件


在这里插入图片描述

修改目录下的相应文件


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改Makefile文件


在这里插入图片描述
修改Kconfig文件
在这里插入图片描述
在configs文件夹下创建defconfig文件
在这里插入图片描述
修改其内容
在这里插入图片描述
在arch/arm/mach-exynos/Kconfig文件中添加如下内容
在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

4.添加设备树

在arch/arm/dts下添加与开发板对应的设备树文件


在这里插入图片描述

5.添加三星加密方式

将CodeSign4SecureBoot文件夹和sdfuse_q文件夹拷贝到uboot目录下


在这里插入图片描述

修改Makefile文件,支持sdfuse_q编译,添加如下内容


在这里插入图片描述
<font color=red>注意:如果执行了make distclean 则需要重新拷贝CodeSign4SecureBoot</font>
编写执行脚本
在这里插入图片描述
在这里插入图片描述

执行脚本编译


在这里插入图片描述
uboot编译完成,后面进行相关驱动的移植。
上一篇下一篇

猜你喜欢

热点阅读