搭建编译环境python
Ubuntu x64 12.04下的命令:git
sudo apt-get install subversion
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install g++
sudo apt-get install gawk
sudo apt-get install zlib1g-dev
sudo apt-get install libncurses5-devweb
固然,也能够将上面的命令合起来:svn
sudo apt-get install subversion git flex g++ gawk zlib1g-dev libncurses5-devflex
创建工做目录及获取openwrt源码es5
mkdir openwrt
cd openwrt
svn co svn://svn.openwrt.org/openwrt/trunk/spa
trunk是openwrt的开发版,openwrt有好几个分支,要编译其它分支,sun://后的换为相应的地址便可。ip
创建openwrt文件夹是为了方便存放不一样分支的代码,若是你不须要,能够省略“mkdir openwrt”及“cd openwrt”。ci
若是svn的速度慢,可使用openwrt的第三方镜像,好比国内的openwrt中文论坛所建的镜像。路由
更新feed及添加package
openwrt 的一些额外功能都是经过package实现的,不少个package就组成了一个feed,咱们能够根据需求更新本身想要的feed的源。 例如咱们须要luci的web管理界面和python的支持,那么咱们须要更新luci和packages的feed源:
cd trunk
./scripts/feeds update luci packages
./scripts/feeds install luci packages
固然,咱们推荐更新全部feed并添加全部package
./scripts/feeds update -a
./scripts/feeds install -a
配置及编译
进入配置界面
make menuconfig
之后再次编译时,要先切换到工做目录:
cd openwrt
cd trunk
然 后在次过程当中选择好target system和target profile,target system须要看你路由器的cpu芯片信息,target profile是你路由器的型号。接下来就能够根据本身的需求进行定制了,添加上须要的支持或去掉无用的包,按“Y”在固件中添加包按“Y”,按“N”去 掉不须要的包。
要运行OH3C,必须有python-mini(lang->python->python-mini)的支持。
若是你的路由器flash空间比较紧张,能够去掉下面的包:
Kernel modules->Network Support->kmod-ppp
Network->ppp
选好后就保存配置退出开始编译了:
make -j
-j 后面能够跟参数,即同时进行的任务数,好比2或4,不跟参数意为不限制同时进行的任务数,会大大减小编译的时间,特别是首次编译。
编译过程当中可能不会下载一些东西,因此断网可能形成编译中断,编译所需时间与你的CPU及网速有很大关系,通常首次编译在40分钟到2小时之间不等。之后的编译通常在30分钟以内。
生成的固件在~/openwrt/trunk/bin/XXXXX目录下。