OpenWrt学习笔记_OpenWrt编译与烧写

计算机型号:vmware 9

计算机系统:Ubuntu 12.04LTS

路由器型号:RG100A-AA


    进入openwrt源码目录,执行一下命令:

#make menuconfig

    然后进入了图形配置界面,可以根据实际需要进行配置了。


1、选择目标芯片——Target System

OpenWrt学习笔记_OpenWrt编译与烧写_第1张图片

                                                                           图1   配置主界面


    默认情况下,选择的是Atheros公司的AR7xxx/AR9xxx,但是RG100A-AA使用的是Broadcom公司的BCM6358 V1的芯片,所以选择“Broadcom BCM63xx”选项。

OpenWrt学习笔记_OpenWrt编译与烧写_第2张图片

                                                                          图2   目标芯片界面


2、 添加LuCI——web配置界面,默认情况下没有配置!

    首先,在主Configuration菜单中找到LuCI选项,如下图:

OpenWrt学习笔记_OpenWrt编译与烧写_第3张图片

                                                                                图3   带LuCI的OpenWrt Configuration界面


OpenWrt学习笔记_OpenWrt编译与烧写_第4张图片

                                                                                      图4   无LuCI的OpenWrt Configuration界面


     进入LuCI选项后,会看到下面的界面。选择Collections选项

OpenWrt学习笔记_OpenWrt编译与烧写_第5张图片

                                                                                                   图5   LuCI界面


    最后,把Collections界面中的luci选上!

OpenWrt学习笔记_OpenWrt编译与烧写_第6张图片

                                                                                  图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]

OpenWrt学习笔记_OpenWrt编译与烧写_第7张图片

说明:

     为了下载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中文手册,可标出错误原因与类型。

OpenWrt学习笔记_OpenWrt编译与烧写_第8张图片

错误原因:我使用root用户创建了openwrt,下载源文件...后来发现不能使用root用户来进行make,就切换到了普通用户。这时候发现很没有权限去修改很多文件,于是我就人为的使用chmod将所有文件(可能还有部分没有修改)的权限修改为777。可能就因此导致了target-mips_uClibc-0.9.33.2/..产生了No targets错误。

解决方法:使用普通用户,创建openwrt,下载openwrt源文件,重新编译一次!


4,成功的模样

OpenWrt学习笔记_OpenWrt编译与烧写_第9张图片


5,烧写——详细的烧写方法请看《OpenWrt学习笔记_RG100A-AA刷机方法汇总》

    编译成功后,在bin目录中生成了许多的*.bin文件.那么,到底哪个才是我们想要的固件呢?

OpenWrt学习笔记_OpenWrt编译与烧写_第10张图片

    其实,这里面包含了很多型号的路由的固件,由于我的路由是RG100A-AA,因此在里面找到包含RG100A字样的文件名即可!


6,第一次登陆openwrt

    根据《第一次登陆》,可以使用telnet登陆openwrt,从而设置root密码。然而,不同版本固件,有所差异!

固件1:openwrt-RG100A_DB120-jffs2-64k-cfe.bin

    以下是第一次使用telnet登陆的截图:

OpenWrt学习笔记_OpenWrt编译与烧写_第11张图片

                                             图7


    这个固件,使用的根文件系统是jffs2,不支持写!

OpenWrt学习笔记_OpenWrt编译与烧写_第12张图片

                                    图8


固件2:openwrt-RG100A_DB120-squashfs-cfe.bin

OpenWrt学习笔记_OpenWrt编译与烧写_第13张图片

                                                  图9


    这个固件可以正常的修改root密码!

                       图10


    修改root密码后,可以使用ssh登陆openwrt了!

OpenWrt学习笔记_OpenWrt编译与烧写_第14张图片

                                         图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

你可能感兴趣的:(OpenWrt学习笔记_OpenWrt编译与烧写)