OpenWRT 开源路由器固件定制和编译的一些操作方法

一、基本环境:Linux 操作系统

Linux 系统诸如 Ubuntu、Cent OS、RedHat 等等都可以,如果你是新手建议安装带桌面的,至少操作起来可能会方便一些。

你也不一定非得在物理机上安装,比如鸭子哥就在 VMware 里装了个 Ubuntu 就可以开搞了。

二、软件环境: 以 Ubuntu 为例

进入 Ubuntu 桌面后通过 Ctrl+Alt+T 调出终端,为了防止在整体操作时发生权限不足的情况,所以可以先输入 sudo su 切换成 root 权限。

在执行以下命令时提醒:Ubuntu 服务器在海外、安装软件时速度较慢,建议最好挂上个速度快的代理,不然可能几十 K 的速度你得下一天。

在终端内依次执行以下安装命令来安装软件:

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 libssl-dev  
sudo apt-get install libssl0.9.8  

再次提醒国内下载安装速度较慢,不要中断。如果中断某一个软件的安装则仍然需要执行安装命令进行重新安装,不然后面的操作会直接报错。

三:创建本地存放路径并修改权限,执行以下命令:

mkdir openwrt  
sudo chmod 777 openwrt  
cd openwrt  

四、获取资源列表

(首选)Trank 版:git clone git://git.openwrt.org/openwrt.git
Branch 版:git clone git://git.openwrt.org/15.05/openwrt.git  

注意:

1、版本可按自己需求进行选择,如果你并不知道版本之间的区别那就选择 Trank 版吧;

2、网上许多 OpenWRT 编辑教程获取资源的地址写的是 SVN,目前已经换成 Git 了且 SVN 的地址似乎已经直接报错了;

3、如果使用 Git 获取时提示 Git 为安装则执行 sudo apt-get install git-core 进行安装;

五、修改扩展并更新与安装

首先进入 OpenWRT 包所在位置 cd /home/landian/openwrt/openwrt(landian 是我的 Ubuntu 名字,你操作时注意改成自己的系统名称)

修改配置文件扩展名称并更新安装 ,执行以下命令:

cp feeds.conf.default feeds.conf  
./scripts/feeds update -a 
./scripts/feeds install -a

六:测试环境,OK 的话就可以进入定制界面了:执行命令

make defconfig  

如下图:全部检查 OK,点击图片可查看大图:

七:进入定制化界面按需进行设置:

首先执行以下命令进入定制化界面,在该页面可以通过键盘的上下左右方向键进行移动:

make menuconfig  

上述各项功能与设置估计你需要各种百度、Google 进行查了,既然愿意折腾了就不要怕麻烦慢慢查去吧。

设置好记得先转到 上回车下进行保存,保存好转到 上回车退出定制化界面。

八、开始编译固件包:

在退出定制化界面后我们又来到了终端界面,开始输入编译命令进行编译:

make                  //(直接编译)  
make  V=99            //(带输出 debug 信息编译)  
make -j V=99          //(带输出 debug 信息并进行全速编译、不推荐!)  

编译时建议选择第二种,在编译时输出 debug 信息如果出错可以容易排查;第三种全速编译不推荐使用,全速编译会耗尽大量 CPU 资源并持续 2~3 个小时。

第一次编译时耗时较长且需要联网下载部分资源,所以为了能顺利编译成功建议你全程代理防止出现资源下载不了而中断。

第一次编译时快的话大半个小时、慢的话 2~3 个小时都正常,所以还是需要耐心等待的。

编译完成后会在之前的文件夹里出现编译后的固件包,比如我们之前的路径是/home/landian/openwrt/openwrt。

至于刷固件这里就不再说了,估计各位已经是分分钟就可以刷几次了都。

九、附注资源:

OpenWRT 官方网站:https://openwrt.org/

GitSources:https://dev.openwrt.org/wiki/GetSource

十、引用资源: 本文参考以下链接中的内容,感谢原作者

1、JackieGemini:http://blog.csdn.net/fyh2003/article/details/44564219

2、zy900114:http://www.right.com.cn/forum/thread-83746-1-1.html