嵌入式Linux开发-uboo移植

一世执手 提交于 2020-02-29 02:01:20

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编译,添加如下内容
在这里插入图片描述

  • 注意:如果执行了make distclean 则需要重新拷贝CodeSign4SecureBoot

编写执行脚本
在这里插入图片描述

在这里插入图片描述
执行脚本编译
在这里插入图片描述
uboot编译完成,后面进行相关驱动的移植。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!