首先下载OpenWrt-SDK-Linux-i686-1.tar.bz2包,解压缩
tar jxf OpenWrt-SDK-Linux-i686-1.tar.bz2
为了方便,可以做个链接
ln -s /root/OpenWrt-SDK-Linux-i686-1/staging_dir_mipsel/bin/mipsel-linux-uclibc-gcc /usr/bin/mepsel-gcc
然后使用
/root/OpenWrt-SDK-Linux-i686-1/staging_dir_mipsel/bin/mipsel-linux-uclibc-gcc
来编译你的程序就可以了,有Make文件的,可以修改Make文件的CC行,使用mepsel-gcc编译。
有人跟我问,说链接的时候可能出错,我编译的都是简单的程序,实际上对于大型源码,需要链接的,请参考网上一个达人的编译办法
Debian 下编译OpenWrt 和使用搭建交叉编译环境(buildroot) 编译OpenWrt后也就有了交叉编译需要的工具链(ToolChain),工具链其实在官方DownLoad是可以直接获取到的. 我们是在虚拟机下做这些的,首先给Debian更新一下sshd以便我们能方便操作。 su - 注销光盘源(vi /etc/apt/sources.list 然后在光盘源前加个#) apt-get update apt-get install ssh openssh-server 更新OpenWrt编译环境所需的软件包。 apt-get install build-essential bison flex zlib1g-dev libncurses5-dev subversion quilt intltool ruby fastjar unzip gawk 可以开始了。 cd /usr/src svn co svn://svn.openwrt.org/openwrt/branches/backfire/ 经过一段时间后,从官方SVN仓库获得用于编译最新发行版backfire的脚本。 接下来用普通用户权限来完成吧。 在root权限下先chown 用户 /usr/src/backfire ctrl + D 退出root 开始下载源码和编译(友情提醒:过程漫长,需要有高速的带宽,建议在睡觉前执行.) cd backfire make menuconfig 选择好你要编译的硬件目标和所带的软件,rg100-a aa只要把前几个选项里的bcm 63xx勾上就好了。 make V=99 于是开始了漫长的下载源码和编译过程,一觉醒来再看看吧。 最后你会发现在/usr/src/backfire/生成了一个叫做staging_dir大约99M的文件夹,表明bcm 63xx的OpenWrt和相对工具链已经编译好了。 执行以下命令,进入mips编译环境 (注意,注释掉的可以不用输.要特别注意,涉及的路径和内核一定要对!!不要跟我说编译出来的是X86的,那就是你环境变量都没设对,自己分析一下../staging_dir下的toolchain目录是哪个,不要抄我这个,我这个是RG100A的,且源码路径在/usr/src/backfire...)
然后我们开始编译锐捷: tar -zxf mentohust-0.3.1.tar.gz cd mentohust-0.3.1 ./configure --host=mips-openwrt-linux --disable-encodepass --disable-notify --prefix=/tmp make make install cd /tmp ls 这就是OpenWrt/backfire用于bcm 63xx版的锐捷,传到rg100-a试试吧,运行之前记得到官网Download下libpcap的ipk在路由上opkg install libpcap*.ipk后,mentohust才能找到网卡。 |