從0開始,製做Cubie版OpenWRT(功能齊全,大小僅有11M)

你們說,從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

  1. root@OpenWrt :/etc/config# uname -r                                              
    github

  2. 3.12.5                                                                          
    網絡

  3. root@OpenWrt :/etc/config# uname -r -a                                           
    多線程

  4. Linux OpenWrt 3.12.5 #1 SMP PREEMPT Sun Feb 9 14:59:19 CST 2014 armv7l GNU/Linux
    ssh

  5. 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


2014-02-09 19:11:07的屏幕截圖.png

記得選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

  1. fdisk /dev/sdbspa

而後進去後呢,這麼輸入(記得enter):

  1. d

  2. 1

  3. d

  4. 2

  5. d

  6. 3

  7. d

  8. 4

  9. d

  10. n

  11. p

  12. 1

  13. 2048

  14. +30M

  15. n

  16. p

  17. 2

  18. (直接換行)

  19. (直接換行)

  20. p

  21. w


最後的w先不要輸入,看下p出來的結果是否是這樣:

  1. Disk /dev/sdb: 504 MB, 504365056 bytes

  2. 16 heads, 61 sectors/track, 1009 cylinders, total 985088 sectors

  3. Units = 扇區 of 1 * 512 = 512 bytes

  4. Sector size (logical/physical): 512 bytes / 512 bytes

  5. I/O size (minimum/optimal): 512 bytes / 512 bytes

  6. Disk identifier: 0xcad4ebea


  7.    設備 啓動      起點          終點     塊數   Id  系統

  8. /dev/sdb1            2048       63487       30720   83  Linux

  9. /dev/sdb2           63488      985087      460800   83  Linux

若是是,繼續。
cd到openwrt的bin/sunxi目錄

  1. dd if=openwrt-sunxi-root.ext4 of=/dev/sdb2 bs=1M


記得換sdb啊
而後:

  1. 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主題。
因而,就這樣了:


2014-02-09 18:53:07的屏幕截圖.png

順便告訴你們,cb的openwrt支持PPPoE和固定mac地址了,我把以太網口設置成了wan,方便使用。
這是df的結果,大小隻有11M,ssh還能用:

  1. root@OpenWrt :~# df

  2. Filesystem           1K-blocks      Used Available Use% Mounted on

  3. rootfs                  459716     11375    444245   2% /

  4. /dev/root               459716     11375    444245   2% /

  5. tmpfs                   517316       556    516760   0% /tmp

  6. tmpfs                      512         0       512   0% /dev

  7. root@OpenWrt :~# df -h

  8. Filesystem                Size      Used Available Use% Mounted on

  9. rootfs                  448.9M     11.1M    433.8M   2% /

  10. /dev/root               448.9M     11.1M    433.8M   2% /

  11. tmpfs                   505.2M    556.0K    504.6M   0% /tmp

  12. tmpfs                   512.0K         0    512.0K   0% /dev

  13. root@OpenWrt:~# 


原文做者:tll

原文連接:http://forum.cubietech.com/forum.php?mod=viewthread&tid=1991

相關文章
相關標籤/搜索