首页 > 代码库 > 蜂鸟A20开发板刷 cubietruck 的 SD 卡固件

蜂鸟A20开发板刷 cubietruck 的 SD 卡固件

美睿视讯 为蜂鸟A20准备的 MerriiLinux 功能非常简陋。所以能用上主流的 debian 或者 LUbuntu 就可以说是非常迫切的需求了。蜂鸟A20(Merrii Hummingbird A20)从硬件配置上来说非常接近 cubietruck ,相同的全志A20,相同的千兆PHY 芯片 RT8211E ,相同的wifi Bluetooth芯片 AP6210。但内存和闪存比 cubietruck 要小。
 

准备工作:

1.编译蜂鸟专用 uboot (主要是为了激活网卡)
 
git clone https://github.com/boytm/u-boot-sunxi.git # 我已经提交了merge request,成功后可以直接拷主分支的 https://github.com/linux-sunxi/u-boot-sunxi.gitmake Merrii_Hummingbird_A20_config CROSS_COMPILE=arm-linux-gnueabihf-make CROSS_COMPILE=arm-linux-gnueabihf-
编译完成后会生成 spl/sunxi-spl.bin,u-boot.img 以及整合了两者的 u-boot-sunxi-with-spl.bin 。
 
这里简单介绍下 uboot 和 SD 卡分区情况
sector start size   0      0   8KB Unused, available for partition table etc.  16      8  32KB Initial SPL loader   80     40 504KB u-boot  (sector 64 / 32KB for 2013.07 and earlier)1088    544 128KB environment1344    672 128KB Falcon mode boot params1600    800  ---- Falcon mode kernel start2048   1024     - Free for partitions (higher if using Falcon boot)
Free for partitions 一般是 boot 分区 和 rootfs 分区(大小取决于发行版),这两个分区,可以通过分区表查看到,是正常的分区。
 
 
2.下载 cubietruck 的SD卡镜像 ct-lubuntu-card-v2.0,并解压
 
地址:http://dl.cubieboard.org/software/a20-cubietruck/lubuntu/ct-lubuntu-card-v2.0/server/tsd/ct-lubuntu-server-tsd-tfcard-v2.0.img.gz
 
3.从 蜂鸟A20 中提取硬件配置文件
 
 

刷机步骤:

1.确定SD卡设备的名称,如果是u盘连接,则这里是 /dev/sd[abcd] 之类
card=/dev/mmcblk0
 
2.刷入SD卡镜像 ct-lubuntu-card-v2.0 到 SD 卡
dd if=ct-lubuntu-server-tsd-tfcard-v2.0.img of=${card}
 
3.替换SD卡中 uboot 区域(Initial SPL loader 开始,free partition 之前) 为自己编译的 uboot
card=/dev/mmcblk0dd if=u-boot-sunxi-with-spl.bin of=${card} bs=1024 seek=8
 
4.此时能看到SD卡被分为2个区了 。通过 fdisk -l 可以看到 两个分区,我这里是 mmcblk0p1 和 mmcblk0p2
 
 

注意:

当前镜像启动参数有点问题,需要挂载 SD-card 第一个boot分区,修改启动参数(错误的设置为第2个sd卡了) 
mount ${card}p1 /mntvi /mnt/uEnv.txt
修改 root 的值,从 mmcblk1p2 改为 mmcblk0p2
root=/dev/mmcblk0p2
umount ${card}p1

 

 
 
 

后记:

我也试过刷 cubietruck 的 nand 版本进nand,但网卡没法启动,及时我替换掉 script.bin (虽然里面3g节点有个 gmac_pwr 描述)后也无法启动。报错如下
 
root@cubietruck:~# ifconfig eth0 up 
<6>sunxi_gmac: probed 
<4>eth0: No PHY found 
 
但 wlan0 是可以正常启动的,执行 iwlist scan 可以扫到 wifi 列表。但 替换 script.bin 后,wifi 貌似就不工作了。原因待查
 
 
 
 
 参考文档:
http://sunxi.org/Bootable_SD_card
 

蜂鸟A20开发板刷 cubietruck 的 SD 卡固件