版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fzxy002763/article/details/53763994
序言
本文我们介绍一下,在OpenWRT平台上运行一个较为轻便有效的软路由系统Click Modular Router,基于该软路由,我们可以扩展一些OpenWRT原有的功能。
Click Modular Router
第一步:获取Click源码,源码可以从官方网站下载( Click官网),也可以下载我们的整理的版本( Click源码包以及Makefile)。其中包含两个文件,一个是源码(click-2.0.1.tar.gz),一个是Makefile,之后我们需要对该Makefile进行手动添加。第二步:在openwrt源码目录下,建立click文件夹,并将源码剪贴到这个文件夹内。具体添加的目录如下:
/home/openwrt/Desktop/openwrt/package/feeds/packages/click
tar -zvxf ./click-2.0.1.tar.gz
#
# Copyright (C) 2006-2012 OpenWrt.org
#
# click Makefile by cqupt
#
#
include $(TOPDIR)/rules.mk
PKG_NAME:=click
PKG_VERSION:=2.0.1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.read.cs.ucla.edu/click/
include $(INCLUDE_DIR)/package.mk
define Package/click
SECTION:=net
CATEGORY:=Network
TITLE:=The Click Modular Router
MAINTAINER:=Roberto Riggio <[email protected]>
DEPENDS:=+kmod-tun +libpcap +libstdcpp
URL:=http://www.read.cs.ucla.edu/
endef
define Package/click/Description
The Click Modular Router
endef
CONFIGURE_ARGS += \
--enable-local\
--enable-tools=host \
--enable-userlevel \
--host=mips-linux \
--build=mips \
--enable-wifi \
--disable-linuxmodule \
--disable-dynamic-linking \
define Build/Compile
$(call Build/Install/Default, install)
endef
define Package/click/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) ~/Desktop/openwrt/build_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/uClibc-0.9.33.2/lib/librt.so.0 $(1)/usr/bin
$(CP) ~/Desktop/openwrt/build_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/uClibc-0.9.33.2/lib/libpthread.so.0 $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/userlevel/click $(1)/usr/bin/click
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/click-align/click-align $(1)/usr/bin/click-align
mkdir -p $(1)/usr/share/click
$(CP) $(PKG_BUILD_DIR)/elementmap.xml $(1)/usr/share/click
endef
$(eval $(call BuildPackage,click))
- $(CP) ~/Desktop/openwrt/build_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/uClibc-0.9.33.2/lib/librt.so.0 $(1)/usr/bin
- $(CP) ~/Desktop/openwrt/build_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/uClibc-0.9.33.2/lib/libpthread.so.0 $(1)/usr/bin
如果不做修改的话,在编译的时候,有可能会报如下的错误:
cp: cannot stat '/home/your_dir/openwrt/build_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/uClibc-0.9.33.2/lib/librt.so.0': No such file or directory
/home/openwrt/Desktop/openwrt/package/feeds/packages/click
make package/feeds/packages/click/compile V=99
第五步:进行固件配置(添加选择 <Network - click>模块),如下图
编译完之后注意保存,然后退出。最后添加以下命令,用以取消bridge:
echo '# CONFIG_KERNEL_BRIDGE is not set' >> .config
make V=99