你们说,从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:~#