一、下载编译环境
首先是从github拉去orange-pi的编译环境,百度网盘下载的比较旧,解压完也需要重新拉取
这里为了加速,在github账号里面,fork一下官网的仓库,然后在gitee里面导入一下,之后就可以在gitee里面下载了
git clone https://gitee.com/maple-feather/orangepi-build.git
可以看到速度相对于github,还是可以接受的注意,master分支是没有OPI-4-LTS的选项的,需要切换到next分支
二、下载u-boot
这里运行build.sh脚本,它会以一个图形化的界面进行配置,但是,本质还是对github仓库进行克隆等等。
第一次运行会先下载交叉编译工具链,这个的下载速度倒还是挺快的
这里需要在scripts/general.sh里面修改一下,打印输出一下它到底是去哪里下载u-boot仓库
打开scripts/general.sh文件,注意到里面的fetch_from_repo函数,这个函数会处理仓库的链接并且执行,添加一行echo语句,打印它的url
看看下载u-boot的链接
通过跟踪fetch_from_repo发现,它在scripts/main.sh里面调用处理u-boot的链接,并且把链接传给了fetch_from_repo
这里直接修改u-boot的链接到自己的仓库
再次执行build.sh,发现它从我们自己的仓库下载u-boot了
三、下载rkbin-tools
依葫芦画瓢,找到rkbin-tools是在external/extensions/rkbin-tools.sh文件里面被调度,这里也是一样修改文件
可以看到也去我们自己的仓库下载了
u-boot写入SD卡启动
自此,u-boot的下载和编译完毕,生成的文件如下图所示
接下来要写入到SD卡来验证结果
参考瑞芯微的WiKi里面的Boot Option章节来进行烧录
sudo dd if=idbloader.bin of=/dev/sdb seek=64
sudo dd if=uboot.img of=/dev/sdb seek=16384
可以看到,u-boot启动成功