安装好系统后在安装软件时切记不要改动软件源,同时按住Ctrl + Alt + T,调出终端;逐条输入下列命
- sudo apt-get install g++
- sudo apt-get install libncurses5-dev
- sudo apt-get install zlib1g-dev
- sudo apt-get install bison
- sudo apt-get install flex
- sudo apt-get install unzip
- sudo apt-get install autoconf
- sudo apt-get install gawk
- sudo apt-get install make
- sudo apt-get install gettext
- sudo apt-get install gcc
- sudo apt-get install binutils
- sudo apt-get install patch
- sudo apt-get install bzip2
- sudo apt-get install libz-dev
- sudo apt-get install asciidoc
- sudo apt-get install subversion
- sudo apt-get install sphinxsearch
- sudo apt-get install libtool
- sudo apt-get install sphinx-common
复制代码
对于不同的系统可能环境不一样,很多帖子上面的就完了,但是编译却会出现问题,然后对比了下不同的教程,发现编译安装的一些工具依赖包都有些不同,所以整合了下,建议再添加上下面的的一些安装包
- sudo apt-get install Texinfo
- sudo apt-get install Sharutils
- sudo apt-get install ncurses-term
复制代码
然后安装git工具(不清楚可以了解下github)
- sudo apt-get install git-core
- sudo apt-get install automake
- sudo apt-get install gcc-multilib
- sudo apt-get install screen
- sudo apt-get install binutils
- sudo apt-get install libc6
- sudo apt-get install git
复制代码
最后要有要安装;
- sudo apt-get install libssl-dev
复制代码
否则会出现以下错误: Checking 'libssl'... failed.
Checking 'openssl'... ok.
Checking 'gnu-find'... ok.
Checking 'getopt-extended'... ok.
Checking 'file'... ok.
Checking 'non-root'... ok.
Build dependency: Please install theopenssl library (with development headers)
Prerequisite check failed. Use FORCE=1 tooverride.
make: *** [tmp/.prereq-build] Error 1
到这里编译前期准备工作基本上完成了,下面是下载OpenWrt源码并编译
OpenWrt源码分两种,一种是最新但不是最稳定的Trunk开发版,一种是最稳定的Backfire版,建议下载官方源码。下载前先在本地创建文件夹:
- mkdir openwrt
- sudo chmod 777 openwrt
- cd openwrt
复制代码
Trunk版下载命令:
- svn co svn://svn.openwrt.org/openwrt/trunk/
复制代码
Backfire版下载命令:
- svn cosvn://svn.openwrt.org/openwrt/branches/backfire/
复制代码
添加软件扩展包,将feeds.conf.default修改为feeds.conf:
- cp feeds.conf.default feeds.conf
复制代码
更新扩展,安装扩展:
- ./scripts/feeds update -a
- ./scripts/feeds install –a
复制代码
测试编译环境:
这里说明一定,编译必须采用普通用户,否则会报错编译通不过。
如果一切正常,会出现一个配置菜单,可以选择要编译的固件平台(芯片类型)、型号,还能选择固件中要添加的功能和组件,配置好后保存并退出菜单即可。
- Target System : CPU型号
- Target Profile : 路由器型号(系列)(这里如果是WRTnode2R要选择相对应的)
- 最 make V=99 (输出调试信息模式下进行)
编译成功后输出窗口如下:
进入到/bin/ramips目录下的即可知道编译好的固件
整个编译过程除了在芯片和路由器选型上不同,其他可以说完全一样,所以后面在玩WRTnode2R编译固件时注意下这里的选型基本上就可以完成自己固件的编译。编译过程需要根据上面安装好安装包,可能少一两个包都会导致最终编译失败,所以一定要仔细。另外万一出现问题也不用着急,根据输出的调试信息查看错误,然后百度Google,一般网上都能找到解决办法。最后编译的过程是一个漫长的等待大概4个小时左右,但是第一次编译完后,后面再次编译就比较快了,所以我一般第一次编译就到晚上编译,让它慢慢去跑,睡一觉就好了,哈哈!过程本身很简单,主要是要有耐心。 (PS:上面的固件没有加入其他的模块,算是一个非常精简的一个固件,后面添加其他功能时在具体说明如果配置添加新的模块)
1