为TL-WR720N编译带mentohust和njit-client的openwrt固件

openwrt的trunk版已经支持720N了。简单好多。

首先下载openwrt源码,我下的是trunk版

svn co svn://svn.openwrt.org/openwrt/trunk/  
  • 然后,我用的是BT5编译的,自己是root用户,而openwrt不希望root用户来编译它。

    修改include/prereq-build.mk,将18~20行用#注释掉。

  • 接着加入njit-client的feeds。

    

cp feeds.conf.default feeds.conf

    在feeds.conf最后一行加入

src-svn njit https://github.com/liuqun/openwrt-clients/trunk/njit
  • 下载扩展软件包(先不要安装)
 ./scripts/feeds update -a
  • 然后修改makfile。将auth.c的njit-RefreshIP脚本调用屏蔽。

    即修改feeds/njit/njit8021xclient/Makefile,在Build/Prepare下加入一句Sed替换为TL-WR720N编译带mentohust和njit-client的openwrt固件

    注意39、40行前面都是Tab。
        这里下载下来源码里的版本号是V3.60-6303,和我用的inode一样。如果有修改需要的在makefile里像上面一样加个sed替换即可。

  • 然后安装扩展包
./scripts/feeds install -a
  • njit已搞定,接下来是mentohust

    在package下新建一目录“mentohust”,里面新建一个Makefile,内容为:

 #
# Copyright (C) - Xmlad.com
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
# include $(TOPDIR)/rules.mk PKG_NAME:=mentohust
PKG_VERSION:=0.3.
PKG_RELEASE:= PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://mentohust.googlecode.com/files/
PKG_MD5SUM:=c7033ba8d8e75294924ed03f4b7b0c45 PKG_INSTALL:= include $(INCLUDE_DIR)/package.mk define Package/mentohust
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libpcap
TITLE:=An CERNET client daemon
URL:=http://code.google.com/p/mentohust/
SUBMENU:=CERNET
endef define Package/mentohust/description
An CERNET client daemon,
Most usually used in China collages.
endef define Build/Prepare
$(call Build/Prepare/Default)
$(SED) 's/dhclient/udhcpc -i/g' $(PKG_BUILD_DIR)/src/myconfig.c
endef CONFIGURE_ARGS += \
--disable-encodepass \
--disable-notify # XXX: CFLAGS are already set by Build/Compile/Default
MAKE_FLAGS+= \
OFLAGS="" define Package/mentohust/conffiles
/etc/mentohust.conf
endef define Package/mentohust/install
$(INSTALL_DIR) $()/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mentohust $()/usr/bin/
$(INSTALL_DIR) $()/etc
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/mentohust.conf $()/etc/
endef $(eval $(call BuildPackage,mentohust))

    这里注意,每行前面的不是空格,是Tab。

  • 然后make menuconfig,在Network下面勾选njit,选了之后可以顺便把下面的njit的luci界面也选了,在Network->CERNET下勾选mentohust。这样编译出来的固件就带有这两个客户端了。menuconfig其它选项比如luci什么不再多说了。慢慢摸索中。
  • 另外这样编译出的njit-client是带luci界面的(如果你在menuconfig里选中了的话),mentohust不带。自己修改/etc/mentohust.conf即可。自启动的话,修改/etc/rc.local,在最后一行exit 0 之前加上命令即可。
上一篇:编译小米mini openwrt


下一篇:TCP/IP学习笔记(3)----IP,ARP,RARP协议