文档章节

从0开始,制作Cubie版OpenWRT(功能齐全,大小仅有11M)

cubieboard
 cubieboard
发布于 2014/08/20 11:20
字数 1490
阅读 1068
收藏 2

大家说,从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产品,肯定受欢迎

上面是官网上的内容,不过据说,ct的GMAC(千兆以太网)在openwrt下还没驱动,所以我用了老版本的cb来运行openwrt。
具体大家可以自己去详细考究,给大家ct的网址,不信不能驱动的自己去上面看:
http://wiki.openwrt.org/toh/cubietech/cubietruck
我不知道ct的gmac在内核下的情况,但是我知道openwrt用的是最新的内核:

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

  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

  5. root@OpenWrt :/etc/config# 


所以自己的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。


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弄坏了

  1. fdisk /dev/sdb

然后进去后呢,这么输入(记得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



本文转载自:http://forum.cubietech.com/forum.php?mod=viewthread&tid=1991

cubieboard
粉丝 11
博文 64
码字总数 2651
作品 1
珠海
私信 提问
玩转小米路由器先从pcDuino的OpenWrt系统开始

小米路由器发布颠覆了路由器的定义,就像当初乔布斯发布没有键盘的iphone一样。玩家们都知道小米为发烧友而生,玩家都知道小米路由器使用的深度定制的OpenWrt系统,然而对于很多玩家来说,对...

simpower
2014/11/17
1K
2
为pcDuino安装OpenWrt

OpenWrt是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。OpenWrt支持各种处理器架构,无论是...

酸酸苹果汁
2014/02/18
6.8K
1
Ubuntu 12.04下编译Openwrt教程 推荐

搭建编译环境 Ubuntu x64 12.04下的命令: sudo apt-get install subversion sudo apt-get install git sudo apt-get install flex sudo apt-get install g++ sudo apt-get install gawk su......

枫影Xda
2012/10/30
9.1K
1
一个小型的无线路由器 Linux 系统OpenWRT

OpenWRT - (http://www.openwrt.org) 开发板: 十几种市面上很容易买到的无线路由器,价钱500元左右, 请看硬件列表: (http://wiki.openwrt.org/TableOfHardware) 我使用的是 Linksys WRT54G: ...

AlphaJay
2011/07/26
3.3K
0
编译x86架构的openwrt系统,让笔记本从u盘启动openwrt

下载openwrt源码, 参考: http://blog.csdn.net/u011641885/article/details/46348267 make menuconfig 基本配置 Target System (x86) ---> Subtarget (Generic) ---> Target Profile (Gene......

shzwork
04/06
313
0

没有更多内容

加载失败,请刷新页面

加载更多

Rust:最小化窗口后 CPU占用率高 (winit,glutin,imgui-rust)

最近试着用 imgui-rust 绘制界面,发现窗口最小化后CPU占用会增大。 查询的资料如下: https://github.com/rust-windowing/winit/issues/783 https://github.com/ocornut/imgui/issues/1151 ...

reter
17分钟前
4
0
cloud-zuul路由网关

九、zuul路由网关 概述 1.1 能干嘛 路由、过滤 路由基本配置 路由访问映射规则 十、springCloud config分布式配置中心

榴莲黑芝麻糊
17分钟前
5
0
Circuit Breaker模式

Circuit Breaker模式会处理一些需要一定时间来重连远程服务和远端资源的错误。该模式可以提高一个应用的稳定性和弹性。 问题 在类似于云的分布式环境中,当一个应用需要执行一些访问远程资源...

mskk
30分钟前
7
0
写论文之前的准备都有哪些?干货来了!

原文链接:https://www.lwfdy.com/archives/144.html 之前跟大家谈了许多有关于初稿修改以及写作事项需要注意的问题,那么今天我们来说一说,在写之前,我们需要做哪些准备呢,为了做到下笔如...

辅导员
36分钟前
6
0
idea快捷键

Alt + Enter 引入类 Ctrl + O 查看我们继承的类或者接口中的方法,以及我们要实现的方法 Ctrl + Alt + b 查看接口实现类中方法(就是我们使用接口编程时,在调用实现类方法处直接Ctrl+鼠标左...

行者终成事
44分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部