Linux · 2010-11-09

UBUNTU编译出能运行在DD-WRT、Tomato下的软件

我的系统环境: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