Ubuntu 10.04下编译OpenWrt完全新手教程

hcr 2011-06-24

学期末的课程设计出了个题:无线路由器的软件开发。

平台就是openwrt。openwrt是由Cisco放出源代码的开放无线路由平台。由于是基于linux内核,所以可以将很多linux平台下的软件移植到此平台下,然后让无线路由拥有很多意想不到的功能,例如拿来做BT下载器,音乐播放器,小型数据库处理等等。

环境:

Ubuntu 10.04,subversion,VMware workstation 7.1.3

首先是得到openwrt的源代码。

在Ubuntu下,首先安装上svn工具:

sudo apt-get install subversion

然后装上各种依赖关系包:

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversi-dev ncurses-term zlib1g-dev

sudo apt-get update

然后进入home目录,建立文件夹:

makedir /openwrt

cd /openwrt

然后使用svn命令行checkout出源代码:

 svn checkout svn://svn.openwrt.org/openwrt/trunk

进入trunk文件夹:

cd trunk

更新openwrt:

./scripts/feeds update -a

安装所有包:

./scripts/feeds install -a

这个时候,我觉得有必要把LUCI编译进内核,这样就方便以后我们通过web来控制openwrt,而不是通过命令行来控制了。所以加上以下命令:

./scripts/feeds update packages luci

./scripts/feeds install -a -p luci

这样之后,在编译内核时才会出现LUci选项。

由于我没有Linksys系列的路由器,而且只是为了体验openwrt,所以我就把openwrt编译成VMware workstation的磁盘镜像,使用VMware workstation来模拟一台路由的硬件环境。

以下为符合此情况的配置:(由于编译时会继续从网络上下载相应的包,所以一旦开始编译,就不要断开连接。但是遇到很大的包,但是下的很慢的,可以中断过程,使用下载过程去相应的网站上下载之后放入)

首先输入make menuconfig,开始进入内核配置界面:

Ubuntu 10.04下编译OpenWrt完全新手教程

1. Target System (x86) ---> (X) x86

2. 配目标文件系统为 EXT2

        Target Images ---> [*] ext2

        Target Images ---> [*] Build VMware image files (VMDK)

相关推荐