设为首页收藏本站

恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 363|回复: 5

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

[复制链接]
发表于 2017-10-26 15:37 | 显示全部楼层 |阅读模式
最新开始接触到刷路由器固件的小伙伴瞬间多了起来,为什么多了起来你肯定是知道的。
不过在不能刷路由器第三方固件的情况下,对于路由器自带的系统大家都是本着不能折腾就这么用着吧。
那么现在能进行刷第三方固件了,各种功能要求也就瞬间多了起来了,各种插件诸如广告屏蔽、代理、多拨等等。
但是对于别人编译的固件总有人会觉得功能上不能满足,其实常刷的例如RT-AC54和PandoraBox也都是可以通过插件实现各种功能的。
不过一方面路由器本身硬件配置限制,不可能直接集成太多的东西;另一方面不少功能也可以通过自定义代码的形式进行实现,然而搞不定代码也成为一个问题。
如果你有兴趣的话还可以自行进行编译各种固件,本身这些开源路由器固件就可以按照设备的不同、功能的不同进行定制,那么对于有需要的功能我们也可以进行定制。
以下为一些基本的操作流程,难点在于你得各种查询参数和功能方面的配置,不然每一个配置都不知道是干嘛的,定制也就没戏了。
另外你至少得基本了解Linux操作系统的一些知识,例如root权限、命令行操作等,如果你连Linux系统(Ubuntu、Cent OS、RedHat等等)都没用过,那么难度指数暴增。。
一、基本环境: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如下图:
1.png
七:进入定制化界面按需进行设置:
首先执行以下命令进入定制化界面,在该页面可以通过键盘的上下左右方向键进行移动:
make menuconfig如图:
2.png
3.png
4.png
上述各项功能与设置估计你需要各种百度、Google进行查了,既然愿意折腾了就不要怕麻烦慢慢查去吧。
设置好记得先转到<Save>上回车下进行保存,保存好转到<Exit>上回车退出定制化界面。
八、开始编译固件包:
在退出定制化界面后我们又来到了终端界面,开始输入编译命令进行编译:
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
十一、报错:如果你觉得本文中哪些地方存在瑕疵或者错误,欢迎在评论中给我们留言,谢谢!
微信图片_20171026153622.jpg

评分

参与人数 1恩山币 +1 收起 理由
hjg16 + 1 能再出个软件编译的教程吗,各种编译好了却不能运行

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-10-26 15:52 | 显示全部楼层
厉害了我的哥
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-10-26 15:55 | 显示全部楼层
大佬能给出个软件编译的教程吗,目前我只能用装载器运行着,readelf,pathelf,找库文件,改path ,export七七八八全弄了还是not found,各种稀奇古怪的问题。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-10-26 15:57 | 显示全部楼层
摩拜大神,给大佬递茶
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-10-26 15:57 | 显示全部楼层
比如发个实战pathelf软件编译,改个elf我还要ubuntu samba到路由复制出来。。。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-12-7 23:07 | 显示全部楼层
收藏了,这才是我想要的东西
来自安卓客户端来自安卓客户端
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛 ( 苏ICP备05084872号-1 )  

GMT+8, 2017-12-16 11:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表