买了一个Ubnt EdgeRouter X路由后,有点相见恨晚的感觉。5口全千兆,可自由配置成LAN/WAN口,双核880MHz的MTK MT7621AT芯片,双256M的FLASH与RAM,配置体积小巧,弱电箱轻松放下,作为单纯的路由,没有对我没用的无线,不会有天线影响弱电箱的空间,简直完美! 前几日折腾在上面跑SS,交叉编译SS的过程放上来,供有需要的人参考:
1.安装最新稳定版Ubuntu(我装的14.04.1桌面版64位) 2.添加emdebian源到/etc/apt/sources.list
deb http://www.emdebian.org/debian stable main
apt-get update
3.下载libgmp3c2,选择amd64版本 对应网站:https://packages.debian.org/squeeze/libgmp3c2 wget http://ftp.cn.debian.org/debian/pool/main/g/gmp/libgmp3c2_4.3.2+dfsg-1_amd64.deb dpkg -i libgmp3c2_4.3.2+dfsg-1_amd64.deb
4.安装交叉编译环境 注意ERX的CPU是mipsel的,el意思是小字符集,不带el的是大字符集 wget http://ftp.us.debian.org/debian/pool/main/e/emdebian-archive-keyring/emdebian-archive-keyring_2.0.3_all.deb dpkg -i emdebian-archive-keyring_2.0.3_all.deb #安装签名,避免apt-get下载的时候签名无法认证 apt-get install gcc-4.3-mipsel-linux-gnu libgmp3c2-mipsel-cross 安装完之后交叉编译环境已经可以用了,测试:mipsel-linux-gnu-gcc -static test.c -o test
4.安装zlib for mips apt-get install zlib1g-mipsel-cross zlib1g-dev-mipsel-cross -y
5.安装openssl 去http://openssl.org/source/下载最新稳定版的openssl源码 wget http://openssl.org/source/openssl-1.0.2e.tar.gz
tar zxvf openssl-1.0.2e.tar.gz cd openssl-1.0.2e CC=mipsel-linux-gnu-gcc CXX=mipsel-linux-gnu-cpp AR=mipsel-linux-gnu-ar RANLIB=mipsel-linux-gnu-ranlib ./Configure no-asm shared --prefix=/usr/local/openssl_mips linux-mips32
make make install 编译的时候有时需要修改makefile中CC的值
6.最后编译 ./configure --host=mipsel-linux-gnu --with-openssl=/usr/local/openssl_mips --prefix=/usr/local/shadowsocks-libev/ --disable-ssp
必须加上--disable-ssp关闭-fstack-protector。 make make install 编译的时候有时需要修改makefile中CC的值
参考资料: http://stackoverflow.com/questions/17006843/compile-c-for-mips-architecture https://blog.bydell.com/posts/cross_complie_shadowsocks_for_dd-wrt__r6300v2/
|