本教程基于Ubuntu12.04环境对OpenWrt进行编译,关于Ubuntu基本的安装不赘述,从编译环境配置讲起:

1、安装配置编译环境

执行以下命令:
sudo apt-get install g++ libncurses5-dev zlib1g-dev bison flex unzip autoconf gawk make gettext gcc binutils patch bzip2 libz-dev asciidoc subversion

2、下载Openwrt的源代码

当前的开发版本分支(trunk)已包含最新的实验补丁,同时包含了最新的硬件设备,不过也有bug风险存在,因此需要谨慎编译trunk版。
#建立编辑专用目录
mkdir openwrt/
cd openwrt/
#开始下载
svn co svn://svn.openwrt.org/openwrt/trunk/

3、准备编译

首先跟进并更新源代码
cd openwrt/trunk/
svn up
./scripts/feeds update -a
./scripts/feeds install -a
下一步是检查编译环境,生成配置文件:
make menuconfig
通过文本对话框进行选项配置,最主要的配置项有:
Target system(目标系统类型)
Package selection(软件包选择)
Build system settings  (编译系统设置)
Kernel modules  (内核模块)
[*]表示:这个包裹选中编译,并安装在firmware中;
[M]表示:这个软件包选中编译,但并不安装在firmware中。
在退出Menuconfig的时,会提示是否保存配置。

 
4、编译固件

make V=99 2 –j 2 2>&1 | tee build.log | grep -i error 
简单说明
V=99
表示输出详细的debug信息 
j 2
如是多核CPU,加j=2 选项理论上能加快编译速度,理论上2=CPU内核数
tee build.log | grep -i Error
检测列出编译中出现的错误 

编译出来的文件在bin/目录

参考
新版OpenWrt编译教程
http://my.oschina.net/u/183622/blog/108411
Openwrt 源代码的下载方式
https://dev.openwrt.org/wiki/GetSource
构造编译环境
http://wiki.openwrt.org/doc/howto/buildroot 
官方wiki中的编译教程
http://wiki.openwrt.org/doc/howto/build
详细的编译说明
http://downloads.openwrt.org/kamikaze/docs/openwrt.html