一、下载编译环境

首先是从github拉去orange-pi的编译环境,百度网盘下载的比较旧,解压完也需要重新拉取
这里为了加速,在github账号里面,fork一下官网的仓库,然后在gitee里面导入一下,之后就可以在gitee里面下载了

git clone https://gitee.com/maple-feather/orangepi-build.git

香橙派 gpio python board 香橙派的做法_编译环境


可以看到速度相对于github,还是可以接受的注意,master分支是没有OPI-4-LTS的选项的,需要切换到next分支

香橙派 gpio python board 香橙派的做法_编译环境_02

二、下载u-boot

这里运行build.sh脚本,它会以一个图形化的界面进行配置,但是,本质还是对github仓库进行克隆等等。

第一次运行会先下载交叉编译工具链,这个的下载速度倒还是挺快的

香橙派 gpio python board 香橙派的做法_学习_03

这里需要在scripts/general.sh里面修改一下,打印输出一下它到底是去哪里下载u-boot仓库

打开scripts/general.sh文件,注意到里面的fetch_from_repo函数,这个函数会处理仓库的链接并且执行,添加一行echo语句,打印它的url

香橙派 gpio python board 香橙派的做法_学习_04


看看下载u-boot的链接

香橙派 gpio python board 香橙派的做法_编译环境_05

通过跟踪fetch_from_repo发现,它在scripts/main.sh里面调用处理u-boot的链接,并且把链接传给了fetch_from_repo

香橙派 gpio python board 香橙派的做法_git_06


这里直接修改u-boot的链接到自己的仓库

再次执行build.sh,发现它从我们自己的仓库下载u-boot了

香橙派 gpio python board 香橙派的做法_github_07

三、下载rkbin-tools

依葫芦画瓢,找到rkbin-tools是在external/extensions/rkbin-tools.sh文件里面被调度,这里也是一样修改文件

香橙派 gpio python board 香橙派的做法_编译环境_08


香橙派 gpio python board 香橙派的做法_github_09


可以看到也去我们自己的仓库下载了

u-boot写入SD卡启动

自此,u-boot的下载和编译完毕,生成的文件如下图所示

香橙派 gpio python board 香橙派的做法_学习_10

接下来要写入到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启动成功

香橙派 gpio python board 香橙派的做法_学习_11