网上搜索到的mips环境设置如下: 执行以下命令,进入mips工具链编译环境:
注意,注释掉的可以不用输。 要特别注意,涉及的工具链和内核的路径一定要对!否则编译出来的是X86的,那就是你环境变量都没设对,自己分析一下../staging_dir下的toolchain目录是哪个,不要照抄,且源码路径在/usr/src/backfire...
[cpp] view plaincopy
- export PATH=$PATH:/usr/src/backfire/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin
- #export AR=/usr/src/backfire/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/bin/mips-openwrt-linux-ar
- #export AS=/usr/src/backfire/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-as
- #export LD=/usr/src/backfire/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-ld
- #export NM=/usr/src/backfire/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-nm
- export CC=mips-openwrt-linux-gcc
- export CPP=mips-openwrt-linux-cpp
- export GCC=mips-openwrt-linux-gcc
- export CXX=mips-openwrt-linux-g++
- export RANLIB=mips-openwrt-linux-uclibc-ranlib
- export ac_cv_linux_vers=2.6.32
- export LDFLAGS="-static"
- export CFLAGS="-Os -s"
内核路径在:/usr/src/backfire/build_dir/linux-brcm63xx/linux-2.6.32.27
然后我们开始编译锐捷:
tar -zxvf mentohust-0.3.1.tar.gz
cd mentohust-0.3.1
./configure --host=mips-openwrt-linux --disable-encodepass --disable-notify --prefix=/tmp
make
。。。
我的路由器型号的netgear 3700V2
我仍存在很多疑惑,我的PATH是/home/hzw/hai/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin,而usr/bin里面只有include和lib。
bin里面成对出现了好多mips-openwrt-linux-*和mips-openwrt-linux-uclibc-*
上面的CC CPP CXX的选择 是怎么确定的?为什么独独ranlib要选 uclibc的呢?
另外执行./configure的时候 --prefix=/tmp这个参数有什么要求吗?
--prefix=/home/wlq/hai/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/ 这个是不是不可以?里面貌似已经有lib和include了。
希望高人能解惑一下,谢谢!
|