Steps:css
準備工做:html
下載openwrt源碼: git clone git://git.openwrt.org/openwrt.gitgit
Step1:編譯openwrt源碼緩存
先執行make menuconfig命令,而後有下列幾個地方要更改:
spa
選擇Target System爲llwinner A1x/A20/A3x線程
選擇Target Profile爲Cubietruckrest
選擇Target Images,設置Boot大小與Root大小(我用的是4G卡,Boot設置爲100M,Root設置爲3600M)htm
而後保存生成.config文件
內存
接下來執行make -j8 (個人機子是雙核四線程的,總共8個線程,so..j8)ci
Step2:爲SD卡分區
使用命令:fdisk /dev/sdb (注:sdb爲我機子SD卡的盤符,其餘因機子而異)
建立兩個分區 /dev/sdb1 與 /dev/sdb2,分別爲boot分區與root分區,具體大小看你Step1所編譯的大小
將第一個分區格式化爲vfat格式: mkfs.vfat /dev/sdb1
Step3:寫卡系統
如下操做都是基於下面表完成的.
SD layout with 512 byte blocks:
NAME | start block | size |
MBR | 0 | 1 block |
u-boot-with-spl.bin | 16 (8 KB) | ~250 KB |
FAT | 2048 (1 MB) | 15 MB |
EXT4 | 32768 (16 MB) | rest |
1.將spl寫到CD卡第8k內存處:
dd if=bin/sunxi/uboot-sunxi-Cubietruck/openwrt-sunxi-Cubietruck-u-boot-with-spl.bin of=/dev/sdb bs=1024 seek=8
2.掛載/dev/sdb1到/mnt
mount -t vfat /dev/sdb1 /mnt
3.複製boot相關文件到/mnt
cp bin/sunxi/uboot-sunxi-Cubietruck/openwrt-sunxi-Cubietruck-uEnv.txt /mnt/uEnv.txt
cp bin/sunxi/sun7i-a20-cubietruck.dtb /mnt/dtb
cp bin/sunxi/openwrt-sunxi-uImage /mnt/uImage
4.重定義root系統文件的大小(剛纔在make menuconfig那定義了,如今能夠不用執行)
resize2fs bin/sunxi/openwrt-sunxi-root.ext4 3600M
5.將root根文件系統寫道/dev/sdb2
dd if=bin/sunxi/openwrt-sunxi-root.ext4 of=/dev/sdb2 bs=128k
6.將緩存內容寫到SD卡,並卸載/mnt
sync
umount /mnt
END
以上方法若是失敗,Step3直接換成如下命令:
dd if=bin/sunxi/openwrt-sunxi-Cubietruck-sdcard-vfat-ext4.img of=/dev/sdb
參考資料: