首先要有一个centos7
step1:更新系统的源:
yum install update
但是发现官方的源好像被墙了,于是自己又去换源,找163的源换。具体的操作最后的链接。
可是换完源之后发现163的源只支持到centos6、、、、、、但是就泪崩了。于是又把源换了回来。
再更新源,居然就可以了。
step2:再添加GIT核
1 yum install git-core
git应该是用来添加github的开源代码用的。
step3:安装必要的编译工具,或者说编译所需要的依赖文件。
yum install libtool autoconf automake gcc-multilib bison screen gcc g++ binutils patch bzip2 flex make gettext unzip libc6 git-core git build-essential libncurses5-dev zlib1g-dev gawk quilt asciidoc libz-dev subversion
这个是参照ubuntu的copy过来的,由于有些名字不同可能就又会造成有的没有安装上。所以在后面运行make menuconfig的时候回出现报错。可以根据报错所显示的内容对应的再去一一的安装。下面是其中的一些:
1 yum -y install openssl openssl-devel//安装libssl 2 yum group install “Development Tools"//安装gcc编译器 3 yum install ncurses-libs 4 yum install ncurses-devel 5 yum -y install openssl openssl-devel 6 yum -y install git 7 yum -y install zlib zlib-devel
step4:下载openwrt源码
trunk(现在最新的是 CHAOS CLAMER):
git clone git://git.openwrt.org/openwrt.git
Barrier Breaker 14.07 分支:
git clone git://git.openwrt.org/14.07/openwrt.git
step5:更新下载和安装拓展包
1.进入工作目录openwrt
cd openwrt
2.把feeds.conf.defaultf复制一份命名为feeds.conf
feeds.conf.default feeds.conf
3.用vim打开feeds.conf,在最后一行加上njit-client 的源。
src-svn njit https://github.com/liuqun/openwrt-clients/trunk/njit
4.更新下载拓展包,把他们安装在package/feeds/目录
./scripts/feeds update -a ./scripts/feeds install -a
step6:配置openwrt
(这里可能报错,由于上面所说的依赖文件没有安装完整,根据报错百度把缺少的安装上去即可运行)
make menuconfig
然后就会出现下面这个菜单:
其中:Target System是选择路由器的芯片型号;
Target Profile是选择路由器的型号;
还有选择luci,可以选择不同的luci主题包luci ITEM。
最最重要的在Network中的njit8021xclient选择上,还可以添加web版。
Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty │ │ submenus ----). Highlighted letters are hotkeys. Pressing <Y> │ │ includes, <N> excludes, <M> modularizes features. Press <Esc><Esc> to │ │ exit, <?> for Help, </> for Search. Legend: [*] built-in [ ]
根据他的英文提示我们可以知道:按enter建进入;Y确定,把软件直接安装在固件中;M选择生成IPK包(不包含在此次编译的固件中);N不选择;连续按两次<esc>返回上一层菜单或退出。
step7:编译
make V=s//可以输出debug信息
在编译前最好打开
cd package/kernel/mac80211/files/lib/wifi/ vim mac80211.sh option disabled 0//把option disabled 1改成
在虚拟机上编译了一个下午终于编译好了,放到路由器中CHAOS CLAMER直接可以用。成功了一半了。
njit-client 拨号一直failure,然后在网上问一下,好像是timeout的问题,把它改小到2000左右就可以了。
过阵子再改吧,改了能不能工作再说。
参考:
http://www.7forz.com/1973/ http://www.bananawolf.com/html/2012/09/831.html