in Linux

OpenWrt FreeRouterV2 配置小记

FreeRouterV2 的配置过程是非常简单的(感谢作者 leavic),这个应该问题不大(Web配置以及WinScp复制粘贴),难点在于方案中提到包的安装:有些包使用 opkg 并不能顺利安装成功,这里来谈谈如何解决吧。

OpenWrt 中安装包的方式如下:

这里可能遇到的问题是:

  1. opkg 找到了包,下载安装后报出 kernel 版本不兼容错误。
  2. opkg 没有找到这个包,报 not found 之类的错误。

对于[1],尝试使用忽略 kernel 版本强制安装:ipkg --force-depends install xxx,但有可能会出现安装上仍然不能用情况,这时就只能自己重新编译新固件了,稍后会介绍到。

对于[2],这时我们可以手动下载包安装(或者修改软件源地址)。从哪里下载呢?

  1. 首先明确我们使用OpenWrt的版本,这个应该很容易就能找到(通过Web首页信息/SSH登录信息),这里假设是attitude_adjustment(下文简称aa)
  2. 到官网对应版本的packages目录下搜索看有无此包: http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/
  3. 也可以使用这个网站搜索试试看www.ipkg.be,如果出现多个结果,推荐首先选择对应系统版本(aa)的进行下载安装。
  4. 还没有的话,这个包就是没进入官方库的了.. 问问Google吧。

接着说,我们通过网站搜索找到的 dnsmasq-full 在trunk下有此包,我们登录到ssh安装它:

这时你可能遇到了依赖问题,它需要libnettle库。重复上文的办法继续安装直到完成。

使用 ImageBuilder 编译固件

目前OpenWrt的稳定固件版本主要有两个:

  • attitude_adjustment,去年发布的,包旧一些。
  • barrier_breaker(简称bb) 今年的新版本,目前为rc2版,我现在使用还是比较稳定的。不出意外的话,很快就能见到正式版了。

首先下载对应版本的ImageBuilder:

解压:tar -jxvf OpenWrt-ImageBuilder-ar71xx_generic-for-linux-x86_64.tar.bz2

编译固件只有简单一句话:make image PROFILE="配置文件名/路由器名" PACKAGES="自定义包"

PROFILE就是针对不同路由器型号的模板配置文件,可以通过make info获得所有配置文件列表,找到合适自己的配置文件。

PACKAGE这里是我们主要想要定义的东西,这里我写了一份自己WNDR3800用的makefile供参考:

将脚本加入执行权限,然后运行,等一会固件包就在bin/目录下生成好了,enjoy ~

原创文章,采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
转载请注明:转载自 Tony's blog,原文网址:https://itony.me/791.html