你們說,從0開始製做系統真是太難了,有失敗的,有放棄的。
好吧,給你們一種簡單的buildroot的方式,那就是,使用OpenWRT
目前Openwrt對Cubietech的產品已經算大部分支持了,不過官網上還叫Work in process,和Raspbreey Pi同樣,畢竟不是專業路由,不像TP-Link那樣,不少產品已經能夠正常工做了
好吧,若是你用其餘非Cubie的sunxi系列產品,也能來看,如pcduino,MK802,等等
http://wiki.openwrt.org/doc/hardware/soc/soc.allwinner.sunxi
上面這個openwrt的官方wiki上告訴了你們各類芯片的大概東西,如幾核心,等等,
A80看來都支持openwrt了,cubie啥時候出一個A80產品,確定受歡迎php
上面是官網上的內容,不過聽說,ct的GMAC(千兆以太網)在openwrt下還沒驅動,因此我用了老版本的cb來運行openwrt。
具體你們能夠本身去詳細考究,給你們ct的網址,不信不能驅動的本身去上面看:
http://wiki.openwrt.org/toh/cubietech/cubietruck
我不知道ct的gmac在內核下的狀況,可是我知道openwrt用的是最新的內核:git
root@OpenWrt :/etc/config# uname -r
github
3.12.5
網絡
root@OpenWrt :/etc/config# uname -r -a
多線程
Linux OpenWrt 3.12.5 #1 SMP PREEMPT Sun Feb 9 14:59:19 CST 2014 armv7l GNU/Linux
ssh
root@OpenWrt :/etc/config#
ide
因此本身的ko是不能用的。
好了,如今開始編譯openwrt。
若是你們以爲鏈接github比較快,推薦你們git clone一下github的openwrt的mirror,你們能夠看到github裏面有個叫mirrors的賬號,裏面就有openwrt,代碼我就不給了。
此外你們還可鏈接到openwrt的git和openwrt的svn,這兩個都很好用,不過就算是鏈接了openwrt的git和svn,clone或co後,在編譯時仍是要下載東西,因此我把我電腦上原來用來編譯703n固件的openwrt複製了一份,而後make clean了一下,告訴你們,若是你們也像我這樣複製,別沒事去make destclean,這樣估計還要下載,按照我這樣就不用下載東西了(其實也是要,只不過少一些),方便多了,也很快。
openwrt在編譯前記得要先make menuconfig一下,不用defconfig。svn
記得選cubieboard,按照圖上的選,不要選703n去了……Target Images裏面能夠設置ext4的大小,這就是你root分區的大小,默認是48,估計不夠用,因此建議大點比較好,我設置了450M,由於我要用一張512Mb的卡來安裝系統,還有一個啓動分區須要用呢,建議把nano給編譯進去,好編輯東西,可是在minicom下好像有點很差用,你們能夠隨便選,反正別選壞了就是,我就順便把wpa_supplicant等東西安裝上了,openwrt的菜單真是極其豐富,能夠隨意挑選,你們也能夠選擇編譯SDK來用就是。
而後make -j 8,8是個人線程數,根據你的線程數來判斷,由於個人mac是雙核的,4個線程,可是考慮到能夠多線程來一個線程編譯一個線程下載,就多弄了幾個。
若是有報錯,建議make V=s來編譯一下,這時候最好單線程,比較好看到錯誤的東西。
編譯完成了,而後呢?
插入一張sd卡,大小……64Mb足矣,固然,大一點也好。
把如下的sdb換成sd卡在/dev下的名字,我上次就由於沒改,把硬盤mbr弄壞了ui
fdisk /dev/sdbspa
而後進去後呢,這麼輸入(記得enter):
d
1
d
2
d
3
d
4
d
n
p
1
2048
+30M
n
p
2
(直接換行)
(直接換行)
p
w
最後的w先不要輸入,看下p出來的結果是否是這樣:
Disk /dev/sdb: 504 MB, 504365056 bytes
16 heads, 61 sectors/track, 1009 cylinders, total 985088 sectors
Units = 扇區 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcad4ebea
設備 啓動 起點 終點 塊數 Id 系統
/dev/sdb1 2048 63487 30720 83 Linux
/dev/sdb2 63488 985087 460800 83 Linux
若是是,繼續。
cd到openwrt的bin/sunxi目錄
dd if=openwrt-sunxi-root.ext4 of=/dev/sdb2 bs=1M
記得換sdb啊
而後:
mkfs.vfat /dev/sdb1
接着把uImage拷貝進去,這些都不是很難,要特別講的是,要拷貝cb的dtd進去,而script.bin不見了,若是你用的是新版本的固件,應該會有一個功能,那就是,生成uEnv.txt,可是我這是老版本的,沒uEnv,咋辦?我原來是用替代品boot.scr,進去了,it doesn't work!load uImage之後沒輸出了。咋辦?
因而我上網找openwrt給sunxi的uEnv.txt,找到了https://dev.openwrt.org/changeset/39438,裏面就有更改的uEnv.txt,直接拷貝下來用,能夠了,而後配置網絡,訪問cb的IP,LuCI的管理界面就出來了,設置成中文,OK。
推薦你們去使用我這個好看的luci主題。
因而,就這樣了:
順便告訴你們,cb的openwrt支持PPPoE和固定mac地址了,我把以太網口設置成了wan,方便使用。
這是df的結果,大小隻有11M,ssh還能用:
root@OpenWrt :~# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 459716 11375 444245 2% /
/dev/root 459716 11375 444245 2% /
tmpfs 517316 556 516760 0% /tmp
tmpfs 512 0 512 0% /dev
root@OpenWrt :~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 448.9M 11.1M 433.8M 2% /
/dev/root 448.9M 11.1M 433.8M 2% /
tmpfs 505.2M 556.0K 504.6M 0% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
root@OpenWrt:~#