Openwrt平台搭建

1. 在平台搭建之前,有几点需要说明一下的:

所谓的平台搭建,不仅包括固件的烧写,还包括开发,编译和调试的环境搭建。

Openwrt平台是基于Linux的,其支持虚拟机安装,对于手边没有设备的亲们,可以通过安装虚拟机感受一下(木有图形界面,需要命令行控制)。

2. Openwrt开发环境搭建流程(仅列出我本人所搭建的环境,以Atheros 9344为例):

(1)操作系统: Ubuntu12.04。(版本有点老,推荐使用更行的版本)。

(2)在Ubuntu下搭建Openwrt开发环境:

apt-get install g++
apt-get install libncurses5-dev 
apt-get install zlib1g-dev 
apt-get install bison 
apt-get install flex 
apt-get install unzip 
apt-get install autoconf 
apt-get install gawk 
apt-get install make 
apt-get install gettext 
apt-get install gcc
apt-get install binutils 
apt-get install patch 
apt-get install bzip2 
apt-get install libz-dev 
apt-get install asciidoc 
apt-get install subversion

因源码随时可能变动,下载后,运行snv up更新本地代码。

下载后一般额外软件包需要更新: (没有安装git的要安装一下:sudo apt-get install git)

./scripts/feeds update -a 
./scripts/feeds install -a

(3)Openwrt系统的首次编译(p.s. 在编译过程中,程序会自动通过feed机制,在网上下载相应的依赖文件,这要求编译者所在网络环境良好!): 

编译必须保证有良好的网络连接,且非root账户。

下一步是检查编译环境:

#make defconfig

若defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可

若提示有某个依赖库没有安装,请按照提示按照对应的依赖库. 直到上述检查无返回。

进行编译配置:

对目标固件进行配置

make menuconfig

image

对目标固件进行配置. 由于首次编译时间会较长,因此我创建一个无外加软件的固件:(下面三幅图,分别对应于Target System,Subtarget和Target Profile)

image

image

 image

 最后保存设置:

image

之后就是漫长的编译的时间了:

make #默认安装,无提示 make V=99 #显示编译日志,并打印在shell中

等待漫长的时间之后,如果成功,可在编译目录下 bin/

image

 可以看到多个.bin文件,这些.bin文件中

image

openwrt-ar71xx-generic-db120-kernel.bin:对应于只烧写内核固件

openwrt-ar71xx-generic-db120-rootfs-squashfs.bin:对应于文件系统固件

openwrt-ar71xx-generic-db120-squashfs-sysupgrade.bin:对应于完整的固件

  至此,一个可以烧写的固件就编译好了。当然,可以看出这个系统只能将路由器启动,能够正常加电运转,但是其没有任何功能。(在后面,我们需要对其添加各种软件支持,甚至是通过编译内核的方式添加软件应用)

(4)  固件烧写

对于固件烧写呢,有多种方式,我仅将我所使用过的方式列出来:

++Web在线固件升级,这个一般适用于原厂固件升级,或者Openwrt镜像烧写。此方法难度低,如果固件没有问题并且少些过程中没有断电的话,都能成功烧写。

++tftp方式升级,本人使用的Atheros9344路由,机身自带有console口,可以通过网线直连的方式,直接通过PC进行烧写。

      此过程难度较高,需要有一定的开发基础。

此外,还有好多方法,在网上都能找到,由于暂时不需要,我就不一一列出了。

(5) 路由重启,测试

进入这一步,整个开发、编译、调试和烧写的过程就到最后了。

转载请注明出处: http://www.cnblogs.com/double-win/ 谢谢!

猜你喜欢

转载自blog.csdn.net/baidu_31437863/article/details/89281814
今日推荐