首先是得到openwrt的源代码。

 

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

 

sudo apt-get install subversion

 

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

 

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

 

sudo apt-get update

 

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

 

makedir /openwrt

 

cd /openwrt

 

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

 

 svncheckout 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,开始进入内核配置界面:

 

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

2. 配目标文件系统为 EXT2

        Target Images ---> [*] ext2

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

 这样就后面编译时产生可以直接在 VM 上用的虚拟硬盘。

配 Web UI :

1) Base system --->  uci................ Utility for the UnifiedConfiguration Interfa 

2) LuCI都选上 

3) Network ---> 

uhttpd........................ uHTTPd -tiny, single threaded HTTP server ---> 

uhttpd-mod-lua... uHTTPd - tiny, singlethreaded HTTP server (Lua plugin)

 4) make V=99 编译,时间有点长,完后,在 bin/x86/ 就是最后编译出来的文件了。

 5) 拷贝 bin/x86/openwrt-x86-generic-combined-ext2到 电脑上;


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐