我的系统环境:vista
在虚拟机virtualbox中安装ubuntu
1.装好ubuntu,安装增强工具
2.在ubuntu的用户目录下建立以下几个文件夹cross、tools、source。
tools:放置交叉编译工具 source:存放源代码
3.到DD-WRT的官方网站下载交叉编译工具toolchains.x86.debian.sp1.tar.bz2
4.将toolchains.x86.debian.sp1.tar.bz2中的4.1.0-uclibc-0.9.28,解压缩到tools目录,并改名为dd
这个交叉编译工具编译出的程序可在tomato和dd-wrt下正常运行
5.安装一些所需要的工具
sudo apt-get install bison flex build-essential patch libncurses5-dev
6. 到这个时候准备工作就基本完成了
每次新打开终端,使用前请运行
export PATH=”$PATH:/home/jacky/tools/dd/bin” (请根据实际情况修改路径)
1.下载libpcap源码http://www.tcpdump.org/release/
(我用的是0.9.8,因为这个版本编译出来的libpcap.a比较小254KB)
2.将其解压缩到cross目录
3.进入libpcap目录,cd /home/jacky/cross/libpcap-0.9.8
4.运行命令 export PATH=”$PATH:/home/jacky/tools/dd/bin”
5.运行命令 export ac_cv_linux_vers=2.6
6.运行命令 ./configure –host=mipsel-linux-uclibc –prefix=/home/jacky/tools/dd –with-pcap=linux
(–host=HOST 指定软件运行的系统平台,configure –host=mipsel-linux-uclibc这个就是mipsel的交叉编译选项。
prefix是你要安装的位置,这里我把libpcap安装到交叉编译工具所在目录)
7.运行命令 make
8.运行命令 make install
………………………….
红色字体部分,请按实际情况修改路径
通常交叉编译开源软件一般只需以下几步即可编译
1 export PATH=”$PATH:/home/jacky/tools/dd/bin“
2 ./configure –host=mipsel-linux
3 make
…………………………………………………………………
针对tomato对xclient进行的小修改
xclient源码中,使用了pkill、dhclient命令,但是tomato中并没有这两个命令,
所以用killall替代pkill,用dhcpc-renew替代dhclient。
通常在tomato中客户端是设置成开机自动运行的,我们难以知道客户端运行情况。
所以我想了一个折中的方法,把拨号时的提示信息输出到日志文件中。
tomato中有个logger命令,可以用他把信息输入到日志文件中,
如运行logger hello,可在tomato日志中发现信息user.notice root: hello
具体修改如图所示
………………………………………………………………….
相关文章:
http://felix021.com/blog/read.php?1467
http://www.right.com.cn/forum/viewthread.php?tid=22853&extra=page%3D1&page=1
http://groups.google.com/group/njit8021xclient
http://gforge.osdn.net.cn/projects/njit8021xclient/
http://hi.baidu.com/syshall/blog/item/d75d89182368904243a9adda.html