OrangePi4LTS USB Uboot

OrangePi-Build下载 在GitHub中搜索xunlong-OrangePi-Build,这是OrangePi官方提供的构建工具。主要用于构建Uboot,Kernel和编译内核,该构建系统有版本限制要求,推荐Ubuntu20.04版本,版本过高或过低还有wsl均不支持编译,配置好环境然后下载完成后命令行运行./build.sh进行编译。进入以下界面 选择Uboot单元,并选择自己的开发板后,系统会自动下载依赖然后进行编译。 可能遇到的故障 如果仅仅是升级Uboot,编译好后直接会产生deb文件,直接参考手册安装,运行即可,但是对于需要修改启动项来说,需要串口工具进行连接,进入Uboot命令行。官方推荐ch340的USB转串口工具,可是我使用的ch340工具在mobaxterm中存在输入乱码,SecureCRT直接无法输入,流模式已经关闭仍然无效,在网络查询均没有结果,遂尝试降低波特率,OrangePi4LTS的Uboot和系统波特率均为1500000,高波特率有部分USB转串口工具支持不全。波特率有两个阶段修改,1是在Uboot阶段,2是系统启动后阶段,我们修改Uboot阶段波特率以便能进入Uboot命令行。 首先上面的构建工具先要完整构建一遍,构建后进入userpatches文件夹,打开config-default.conf文件,修改IGNORE_UPDATES=““的值为INGORE_UPDATES=“yes”,然后进入u-boot文件夹,进入编译的Uboot版本文件夹,然后进入configs文件夹,搜索自己的主板_defconfig配置文件,找到后搜索CONFIG_BAUDRATE字段,修改波特率,然后重新进入编译界面进行编译Uboot。由于OrangePi本身不支持U盘中系统的直接启动,所以我们通过再SD卡或Emmc中烧录Uboot,从Uboot引导U盘的系统。所以,进入u-boot文件夹,进入生成的uboot资源文件夹,拷贝出idbloader.img和u-boot.itb文件,然后进行烧录。 USB系统准备 使用OrangePi官方提供的系统以及刷写系统教程进行系统刷入到USB设备,此处不再赘述 烧录Uboot 对于烧录程序,我们通过对构建系统产生的deb文件进行解包,发现内部存在一个sh脚本存在着对uboot的烧录程序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 DIR=/usr/lib/linux-u-boot-next-orangepi4-lts_3.1.0_arm64 write_uboot_platform () { if [[ -f $1/rksd_loader.img ]]; then dd if=$1/rksd_loader.img of=$2 seek=64 conv=notrunc status=none > /dev/null 2>&1; else if [[ -f $1/u-boot....

May 28, 2024 · 2 min · 227 words · ecturing