【Joytag 香蕉R1学习】自己动手组装OpenWrt for R1

尽管已经有香蕉派R1的镜像可以下载,但是本着折腾的原则,自己弄一下貌似也挺有趣。
而且有助于加深对R1启动过程的理解以及便于进一步学习。

在OpenWrt官网各种学习,终于发现一篇适合的文章:
http://wiki.openwrt.org/doc/hardware/soc/soc.allwinner.sunxi
这篇文章(Assembling the SD card image yourself)部分以Cubieboard3为例,讲述了如何自己组装SD卡镜像。因为我们用是BPI R1,所以需要做一些修改,现将修改后的流程记录,以供参考。

SD卡布局

SD layout with 512 byte blocks:
[table]
[tr][td] NAME [/td][td] start block [/td][td] size [/td][/tr]
[tr][td] MBR [/td][td] 0 [/td][td] 1 block [/td][/tr]
[tr][td]
u-boot-with-spl.bin
[/td][td] 16 (8 KB) [/td][td] ~250 KB [/td][/tr]
[tr][td] FAT [/td][td] 2048 (1 MB) [/td][td] 15 MB [/td][/tr]
[tr][td] EXT4 [/td][td] 32768 (16 MB) [/td][td] rest [/td][/tr]
[/table]

用到的文件

另外,就BPI R1而言,我们需要准备如下文件:
(可以先把这些文件下载好,保存到当前工作目录下)
openwrt-sunxi-Lamobo_R1-u-boot-with-spl.bin
openwrt-sunxi-Lamobo_R1-uEnv.txt
openwrt-sunxi-Lamobo_R1-boot.scr (原文中未说明这个这个文件,会系统导致启动不起来)
sun7i-a20-lamobo-r1.dtb
openwrt-sunxi-uImage
openwrt-sunxi-root.ext4

硬件

1)装有Linux系统的电脑或者虚拟机 (为了偷懒,我使用的BPI M1)
2)空白的TF以及卡套或者读卡器
3)BPI R1

操作步骤:

1)首先将TF卡插入装有Linux系统的电脑上,
我使用的是usb读卡器,在BPI M1会被识别为/dev/sda

2)Fdisk删除原有分区内容(如有),并保存

3)创建新的分区

将写好的TF卡插入R1,并上电。
通过串口,我们就会看到熟悉的界面。
关于如何连接串口请参考:《【Joytag 香蕉R1学习】R1初印象并点亮》

关于boot.scr

由于原文中并未提及boot.scr的复制
当执行完所有其它操作,将TF卡插入R1并启动时,出如下错误:

对比正常启动过程的dmsg输出
http://wiki.openwrt.org/toh/lamobo/r1
这步应该是找到boot.scr并读取执行。
所以我们在原文的基础上,加入了这项内容。

好文,顶顶顶