VRAMS Rock960c RK3399开发板u-boot编译踩坑指南
最近买了一块VRAMS Rock960c RK3399开发板,上面是采用lpddr4内存的,应该是复刻板,原版貌似只有lpddr3的。
打算学习一下u-boot编译,以下是踩坑记录。
素材是主线的u-boot源码
用来交叉编译的机器是采用英特尔z8350 cpu的平板电脑,4g内存。主要是考虑到它支持64位指令集,而且价格便宜。建议别在rk3399上面本地编译,坑太多,我水平有限,很多依赖解决不了。英特尔低价的处理器就能一马平川编译出来,为啥不用?
直接在平板上装上ubuntu 22.04lts,内核也自己升级到最新的6.2,这个不展开讲了。
git clone https://github.com/u-boot/u-boot
把u-boot源码下载到本地
https://github.com/u-boot/u-boot/tree/master/board/vamrs/rock960_rk3399
这里有这块开发板的u-boot编译流程,大体方法没错,不过有些细节有坑。
ubuntu 22.04lts下面,设置好清华的源,然后:
apt update
apt upgrade
apt-get build-essential install u-boot-tools libssl-dev swig make bison flex libssl-dev git nano htop libffi-dev python-software-properties software-properties-common -y
安装python3.9.9,教程网上找
安装pip3,安装以下两个工具
pip3 install pyethtools setuptools
安装以上一系列依赖吧,可能有遗漏,不过多少能减轻各位踩坑的数目
主线u-boot源码有几个地方要修改才能在我这个开发板跑起来。
.config文件需要进行如下设置:
ATF_LOAD_IMAGE_V2=y
CONFIG_SYS_MMC_ENV_DEV=0
CONFIG_SYS_MMC_ENV_PART=3
此外,还需要在make menuconfig的device driver里面选择lpddr4的支持
还要修改下面文件:
cd /home/rock/u-boot/arch/arm/dts
nano rk3399-rock960-u-boot.dtsi
开头的include文件名改为“rk3399-sdram-lpddr4-100”保存才能支持lpddr4,默认是lpddr3的。
其他的话就按照以下连接教程即可:
https://github.com/u-boot/u-boot/tree/master/board/vamrs/rock960_rk3399
完毕。

