在Debian jessie下交叉编译Ubnt EdgeRouter ER-X的SS

##Ubnt EdgeRouter ER-X属于mipsel构架,与EdgeRouter ER-L的SS安装包不共用

安装Debian自己装即可,另外百度搜索到的一些关于ubnt的交叉编译的教程,我看了下都太老了,这个是最新的Debian,为啥用debian,那么多教程都用ubuntu,我只能说,debian本身就支持多平台,交叉编译工具非常全,不信你看那些Ubuntu教程用的都是debian的包,费那劲干嘛,直接用Debian多好,而且国内清华大学,阿里云都有提供镜像。

添加所需的源

echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.list.d/emdebian.list
curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | sudo apt-key add -

安装交叉编译工具链

dpkg --add-architecture mipsel
apt-get update
apt-get install crossbuild-essential-mipsel
apt-get install gcc-mipsel-linux-gnu
apt-get install g++-mipsel-linux-gnu
apt-get install gcc Python-pip python-m2crypto Git

安装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
cd ../

编译SS

git clone https://github.com/shadowsocks/shadowsocks-libev.git
cd shadowsocks-libev/
./configure --host=mipsel-linux-gnu --with-openssl=/usr/local/openssl_mips --prefix=/usr/local/shadowsocks-libev_mips/ --disable-ssp

完成后在

/usr/local/shadowsocks-libev_mips/

路径找到编译好的文件,拷贝到路由里赋予执行权限即可执行。

 

未经允许不得转载:SuperMan's blog » 在Debian jessie下交叉编译Ubnt EdgeRouter ER-X的SS

评论 3

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. locyooSSR现在破娃酱搞得和SS-libev不太一样了,能用类似方法编译SSR吗回复
  2. enimomake 的时候找不到参数 making all in crypto... make[1]: Entering directory '/home/wzeng/openssl-1.0.2k/crypto' /usr/bin/perl ../util/mkbuildinf.pl "gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -mabi=32 -O3 -Wall -DBN_DIV3W" "linux-mips32" >buildinf.h gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -mabi=32 -O3 -Wall -DBN_DIV3W -c -o cryptlib.o cryptlib.c gcc: error: unrecognized argument in option '-mabi=32' gcc: note: valid arguments to '-mabi=' are: ms sysv : recipe for target 'cryptlib.o' failed make[1]: *** [cryptlib.o] Error 1 make[1]: Leaving directory '/home/wzeng/openssl-1.0.2k/crypto' Makefile:287: recipe for target 'build_crypto' failed make: *** [build_crypto] Error 1回复