计算机型号:vmware 9
计算机系统:Ubuntu 12.04LTS
路由器型号:RG100A-AA
进入openwrt源码目录,执行一下命令:
#make menuconfig
然后进入了图形配置界面,可以根据实际需要进行配置了。
1、选择目标芯片——Target System
图1 配置主界面
默认情况下,选择的是Atheros公司的AR7xxx/AR9xxx,但是RG100A-AA使用的是Broadcom公司的BCM6358 V1的芯片,所以选择“Broadcom BCM63xx”选项。
图2 目标芯片界面
2、 添加LuCI——web配置界面,默认情况下没有配置!
首先,在主Configuration菜单中找到LuCI选项,如下图:
图3 带LuCI的OpenWrt Configuration界面
图4 无LuCI的OpenWrt Configuration界面
进入LuCI选项后,会看到下面的界面。选择Collections选项
图5 LuCI界面
最后,把Collections界面中的luci选上!
图6 Collections界面
注意:要执行了一下命令之后,OpenWrt Configuration中才能看到LuCI选项,否则如图4所示,是看不到这个选项的!
#./scripts/feeds update -a
#./scripts/feeds install -a
原因分析:LuCI是个独立的原件包,要通过feeds下载安装之后才能使用!其他的包也是类似的。
发现:经过测试发现,仅仅选择了上述的luci选项,还不能使用web面登陆luci!
3,开始编译
#make V=99
备注:编译的过程中还会不断的下载文件。编译的过程有点漫长,要1个小时左右吧。
出错处理1:见参考资料[2]
说明:
为了下载json-c-0.11.tar.gz这个包,在https://s3.amazonaws.com、http://mirror2.openwrt.org/sources和http://downloads.openwrt.org/sources三个mirrors都尝试过了,但都Connection timed out,也就是说,不是mirrors中没有json-c-0.11.tar.gz,而是连接不上。因此我们可以手工到这些mirrors去找到json-c-0.11.tar.gz,然后自己下载。
下载了json-c-0.11.tar.gz后,放到哪个目录呢?根据make[3]: *** [/opt/openwrt-pandorabox/dl/json-c-0.11.tar.gz] Error 2的提示,可以知道在/opt/openwrt-pandorabox/dl/中找不到json-c-0.11.tar.gz从而出错,因此说明json-c-0.11.tar.gz应该放到/opt/openwrt-pandorabox/dl/中!
Error 2通常表示文件缺失!
出错处理2:——参考GNU make中文手册,可标出错误原因与类型。
错误原因:我使用root用户创建了openwrt,下载源文件...后来发现不能使用root用户来进行make,就切换到了普通用户。这时候发现很没有权限去修改很多文件,于是我就人为的使用chmod将所有文件(可能还有部分没有修改)的权限修改为777。可能就因此导致了target-mips_uClibc-0.9.33.2/..产生了No targets错误。
解决方法:使用普通用户,创建openwrt,下载openwrt源文件,重新编译一次!
4,成功的模样
5,烧写——详细的烧写方法请看《OpenWrt学习笔记_RG100A-AA刷机方法汇总》
编译成功后,在bin目录中生成了许多的*.bin文件.那么,到底哪个才是我们想要的固件呢?
其实,这里面包含了很多型号的路由的固件,由于我的路由是RG100A-AA,因此在里面找到包含RG100A字样的文件名即可!
6,第一次登陆openwrt
根据《第一次登陆》,可以使用telnet登陆openwrt,从而设置root密码。然而,不同版本固件,有所差异!
固件1:openwrt-RG100A_DB120-jffs2-64k-cfe.bin
以下是第一次使用telnet登陆的截图:
图7
这个固件,使用的根文件系统是jffs2,不支持写!
图8
固件2:openwrt-RG100A_DB120-squashfs-cfe.bin
图9
这个固件可以正常的修改root密码!
图10
修改root密码后,可以使用ssh登陆openwrt了!
图11
注:《第一次登陆》中说修改root密码后就关闭了telnet,但是经测试发现,依然可以使用telnet登陆!
7,问题与困惑
遇到问题1:烧写固件后,登陆不了LuCI。
原因:编译固件的时候,没有将LuCI编译进去!
疑惑:交叉工具链条是如何辨识所使用的cpu的?
参考资料
[1]openWRT_百度百科http://baike.baidu.com/link?url=JtrY1qh5zYO2tzVblRQ3FazQZLdK9cNIT2Y_I1Mfd0pgJN9bwYu6dv-wd8spvNTMfB0q5ysEVzIrSoQJJmVTTa
[2]编译自己的openwrthttp://www.openwrt.org.cn/bbs/forum.php?mod=viewthread&tid=14335
[3]RG100A-AA无线路由器刷机记http://cruelfox.blog.163.com/blog/static/1766883032011732613233/
编译openwrt全过程(超详细)http://blog.csdn.net/mirkerson/article/details/7287931
Ubuntu 10.04下编译OpenWrt完全新手教程http://www.linuxidc.com/Linux/2011-06/37739.htm
编译OpenWrt-DreamBox ¶https://dev.openwrt.org.cn/wiki/howto
OpenWrt Buildroot – Usagehttp://wiki.openwrt.org/doc/howto/build
【OpenWRT之旅】LuCI探究http://www.cnblogs.com/gnuhpc/archive/2013/08/31/3293643.html
刷OpenWRT标准版固件后安装LuCI的方法http://blog.csdn.net/zyphio/article/details/8564474