Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录(2)

然后克隆git上的makefile文件下来,如果你网速慢也可以自己下载然后放到./package/shadowsocks-libev下面去,注意这里不要改文件夹的名字,因为写死在makefile里面了

但是这里我们暂停一下,因为编译ss是一个完整的解决依赖-编译-连接的过程,很容易出错,而编译luci UI界面只需要简单的打包一下即可,所以不妨先编译一下luci体会一下。

git clone https://github.com/shadowsocks/luci-app-shadowsocks.git package/luci-app-shadowsocks # 编译 po2lmo (如果有po2lmo可跳过) pushd package/luci-app-shadowsocks/tools/po2lmo make && sudo make install popd # 选择要编译的包 LuCI -> 3. Applications make menuconfig # 开始编译 make package/luci-app-shadowsocks/compile V=99

首先git克隆,此时在package目录下会出现一个luci的目录

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

然后继续执行,并不容易出错

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

然后选择编译luci的ipk通过make menuconfig

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

选择LuCI,确认时<M>选中,代表编译出ipk包

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

然后选择<Save>回车,保存后,连续选择<Exit>退出

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

上图直接选择<Ok>即可

然后我们就可以开始编译luci了

make package/luci-app-shadowsocks/compile V=99

因为不依赖c编译环境,所以不容易出错

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

然后去/bin/ar71xx/packages/base���录下就可以看到我们编译好的ipk了,把它取出来放到别的位置上然后删掉,我们准备开始编译ss

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

现在开始克隆ss的openwrt版并把刚才克隆的./package/luci-app-shadowsocks给删掉

git clone https://github.com/shadowsocks/openwrt-shadowsocks.git package/shadowsocks-libev

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

然后像刚才选择luci一样在make menuconfig中选择ss

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

OpenSSL版支持的加密方法多,PolarSSL支持的加密方法少,看你的需求而定

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

注意:只编译上面选择的两个或者一个就好,不要选择第mbedTLS版,因为mbedtls需要第三方依赖库,而ubuntu是不给你自动安装的,会因为缺少依赖而编译失败

然后跟luci一样<Save>然后连续<Exit>

下面就是最激动人心的一步了,开始我们的c编译,连接过程

make package/shadowsocks-libev/compile V=99

在这个过程中会联网下载很多个依赖,要保证网络畅通然后静等,注意*不要*使用sudo权限!整个编译耗时大约2分钟左右,视网络状况而定

下图是下载某个依赖库

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

下图是下载Shadowsocks-libev的源码

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

如果没有报错就说明编译完成了

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

在这个编译过程中遇到问题退出是很正常的,完全不需要大惊小怪,而且随着版本的更新会不断的出现新的编译问题,就需要我们自己去解决。

多数的编译问题都是缺少依赖库或者网络不畅,需要我们仔细的查看config.log文件

查找这个文件的方法是执行

locate config.log

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录

一般编译到哪一步失败就去看哪一步的config.log,我之前碰到的一个编译失败是因为没安装ccache,在上图黄线的config.log在文章最后贴出来

如果编译成功,我们可以在/bin/ar71xx/packages/base目录下看到编译好的ipk了,这两个ipk到时候只安装一个就好,不要都安装

Ubuntu 使用Openwrt SDK交叉编译ipk包过程图文全纪录


现在挑一个你需要的ipk出来放到openwrt系统下使用opkg安装即可,还可以配合之前做好的luci UI界面ipk包

==============我是分隔线==============

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14833.html