找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 47946|回复: 59

路由器定制开发:MT7620N上刷openwrt

  [复制链接]
发表于 2014-8-7 15:05 | 显示全部楼层 |阅读模式
本帖最后由 jyhhappyjyh 于 2014-8-20 14:27 编辑
最近朋友给了一款电信的企业级AP,说让我玩玩。之前做过五年的企业级AP开发,对于AP还是有那么点热衷,但凡有机会还是要把玩一番的。

这款AP是智达康的ZN-7200-H500,自带的镜像就是基于openWRT开发的。但是功能不够丰富,还是自己动手定制一款实用的AP吧。

简单说一下编译过程:
1. 搭建编译环境
在自己的win7专业版机子上装上VMware虚拟机,虚拟机安装ubuntu 14.04
编译会用到但不限于以下组件、库
gcc 、g++ 、binutils 、patch 、bzip2 、flex 、bison 、make 、autoconf 、
gettext 、texinfo 、unzip 、sharutils 、subversion 、libncurses5-dev 、
zlib1g-dev 、gawk 、asciidoc 、libz-dev

sudo apt-get install x


2. 下载openwrt源码
终端进入自己需要存放工程的目录,执行如下操作
mkdir openwrt // 创建一个openwrt文件夹
cd openwrt    //进入openwrt文件夹
svn co svn://svn.openwrt.org/openwrt/trunk  //下载官网的源码trunk版本
cd trunk
./scripts/feeds update -a     //更新软件包
./scripts/feeds install -a    //安装软件包

3. 编译源码
make menuconfig //进入定制界面(里面可以选择芯片的型号,集成的组件等等,根据实际情况选择)

make V=99   (开始编译)
几点说明:
(1) 初次编译,主机需要联网,因为openwrt需要联网下载源码和库文件以及其他的一些组件。这个过程非常大的长,并且openwrt官网下载不稳定,偶尔会出现下载失败的情况。遇到下载失败的情况,可以手动下载相应的压缩文件,然后放到trunk/dl/目录下。

(2) 加速编译;如果自己的电脑性能做够强劲,可以多开辟几个进程用于编译,只要在编译的时候加上-jx(x是个人根据自己的电脑强弱,自己定义的数字,如笔者使用的是-j8)。一旦加上-jx,出错信息可能就不能够直观的看到出错信息了,这个时候就需要重新编译,加上V=99,不要加上-jx。如make V=99。

(3) 编译权限:openwrt建议非root权限下编译,这个在编译的时候会检查,否则不让编译。如果需要在root权限下编译,需要加上FORCE=1.


4. 生成镜像的存放路径。
编译生成的镜像会统一存放在trunk/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620n/目录。

5. 定制适合自己单板类型的openwrt
上面4步仅仅是可以编译生成openwrt已经支持的一些路由器型号的镜像,如果自己的路由器不在支持列表里,那怎么办呢?很显然,openwrt的人是不可能穷尽所有的路由器,也不可能知道你的述求。所以,只能靠你自己了。这一步还是需要有一些知识积累和技能的。
首先,你需要对当前路由器的一些硬件特性明了,如:以太网口是几个,哪个口是上连口WAN口,哪几个是LAN口;无线接口是否需要跟有线LAN桥接;flash和内存的大小有多大......

什么?这些一点概念都没有,那么还是不要往下看了,等网友有人分享出来捡现成的吧!

在./target/linux/ramips/image/Makefile中,我们可以增加我们的一款路由器定制。
我们首先找到
“# MT7620N Profiles”
依葫芦画瓢,增加
Image/Build/Profile/ZDCH500=$(call BuildFirmware/Default16M/$(1),$(1),zdch500,ZDCH500)
记得同时在下面将ZDCH500增加进去,否则不出镜像
ifeq ($(SUBTARGET),mt7620n)
define Image/Build/Profile/Default
    $(call Image/Build/Profile/ZDCH500,$(1))
endef

仅仅由上面的动作还不够,我们还需要提供相应的dts文件。
./target/linux/ramips/dts/ZDCH500.dts
该文件用于描述硬件的相关信息,如gpio、flash分区、usb等

6. 结束。

需要详细了解的网友,可以私下交流!
(转载请注明作者及出处恩山WIFI论坛https://www.right.com.cn/forum/?fromuser=jyhhappyjyh!)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

哈哈!!我觉得就这样了  发表于 2014-8-7 21:44

评分

参与人数 5恩山币 +9 收起 理由
lozy32000 + 1 这个很好,可以学习一下,就是LINUX系统太不熟了,尤其是命令行的。
ktool + 1 很好,学习了
chenzhikang + 1 泥马,真给力,我要顶!
tcpdump + 1 土豪,我们做朋友吧!
laoma348 + 5 为什么大家不能像某榴社区一样,楼主好人一生平安,感谢楼主,而不是喷呢

查看全部评分

发表于 2014-8-7 16:15 | 显示全部楼层
过热让人讨厌人与人与人
发表于 2014-8-7 16:29 | 显示全部楼层
收费看吗
 楼主| 发表于 2014-8-7 17:11 | 显示全部楼层

物超所值的!
 楼主| 发表于 2014-8-7 17:23 | 显示全部楼层
含流星 发表于 2014-8-7 16:15
过热让人讨厌人与人与人

内容我觉得还可以的,是自己倒腾之后总结的!
发表于 2014-8-7 17:28 | 显示全部楼层
 楼主| 发表于 2014-8-7 17:35 | 显示全部楼层
发表于 2014-8-7 19:19 | 显示全部楼层
??????
发表于 2014-8-7 20:13 | 显示全部楼层
内容太少,不应该收费
发表于 2014-8-7 20:18 | 显示全部楼层
我擦 , 这东西还收费 。楼主好意思吗? 没有一点东西是有价值的。。 建议楼下的不要在买了 。 就是一个教你怎么装ubuntu系统的环境 , 然后告诉你在什么目录建立dts 文件 ,就连dts 文件的内容都没有贴出来 。我都呵呵了。
发表于 2014-8-7 22:23 | 显示全部楼层
NB有什么用的?
发表于 2014-8-7 22:27 | 显示全部楼层
7620我也有,不知道是A还是N了
发表于 2014-8-7 23:38 | 显示全部楼层
钱太少,舍不得花。。
 楼主| 发表于 2014-8-8 09:40 | 显示全部楼层
在乎 发表于 2014-8-7 22:27
7620我也有,不知道是A还是N了

7620N
 楼主| 发表于 2014-8-8 09:46 | 显示全部楼层
454309099 发表于 2014-8-7 20:18
我擦 , 这东西还收费 。楼主好意思吗? 没有一点东西是有价值的。。 建议楼下的不要在买了 。 就是一个教 ...

看来你是openwrt行家了,可以写一些分享出来。
收费没有别的意思,初来恩山,试试这个功能而已,本来设置的1个恩山币,结果保存老是不成功,所以在后面直接添了个0,结果就生效了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-8 07:59

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

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