由于官方的SDK占用空间较大(大约20GB左右),需要联系相关供应商提供,且官方的SDK通过各种脚本文件进行集成编译,难以理解系统开发的详细过程。本章介绍直接从官方Github网站下载源码进行移植,进行uboot移植及编译,具体内容如下所述:
1.进入官方的github网站下载最新的uboot源码(由于官方仅维护2017.09的版本源码,因此直接利用git下载uboot源码,不下载tag中压缩包),具体路径如下所示:
GitHub - rockchip-linux/u-boot: U-Boot tree for pending commits
2.在ubuntu工作目录下,运行git clone命令(注意:运行该命令前,确保ubuntu系统已经安装上git),下载uboot源码到工作目录,如下所示:
3.拷贝uboot目录下的arch/arm/dts目录下的 rk3588-u-boot.dtsi并重命名为rk3588-lsl-u-boot.dtsi,如下图所示:
cp rk3588-u-boot.dtsi rk3588-lsl-u-boot.dtsi
4.拷贝uboot目录下的arch/arm/dts目录下的rk3588-evb.dts并重命名rk3588-lsl-evb.dts,如下图所示:
cp rk3588-evb.dts rk3588-lsl-evb.dts
5.修改拷贝的设备树文件rk3588-lsl-evb.dts,如下所示:
6.打开uboot目录include/configs子目录下的rk3588_common.h文件,进行uboot的ENV环境变量的修改,具体修改如下所述:
7.复制uboot目录configs子目录下的rk3588_defconfig并重命名为rk3588_lsl_defconfig,如下图所示:
cp rk3588_defconfig rk3588_lsl_defconfig
8.修改rk3588_lsl_defconfig配置文件,修改完成保存并退出,如下所示:
9.在uboot目录下,新建uboot编译shell脚本build_rk3588.sh,设置编译脚本内容,如下图:
10.给编译脚本添加执行权限,并运行编译脚本。
11.编译完成后,结果如下所示: