最近几天入手了小米mini路由。到手之后马上就刷了Openwrt,爽到。
用了几天之后发现自己忘记安装aria2了。
然后opkg update && opkg install aria2
之后,aria2c -v
一看,果然官方还是没有更新到最新版,依然是1.18.0
虽然snapshot版本的Openwrt有最新版aria2,但是并不能安装到路由上面,我也不想安装新版系统,因为路由这种东西,还是稳定至上。
于是决定自己编译个最新的aria2。之前我也编译过了,但是无奈过了一年怎么编译都忘了。于是参考了这篇文章。文章讲得挺详细的,但是里面的SDK是用git上面clone下来的。我决定使用官方发布的sdk进行编译,于是做了一点修改。
wget 'http://openwrt.proxy.ustclug.org/chaos_calmer/15.05.1/ramips/mt7620/OpenWrt-SDK-15.05.1-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2' # Download
tar -xvf OpenWrt-SDK-15.05.1-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2 # extra
cd OpenWrt-SDK-15.05.1-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64 # cd into
sudo apt intsall gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev gwak ccache
这里对比原文章我多用了gwak ccache。gwak应该是前文纰漏没有安装的。而ccache是因为sdk可能存在的一个bug。
./scripts/feeds update -a
./scripts/feeds install aria2
vim package/feeds/packages/aria2/Makefile
把其中的版本号改成最新的,软件源换成github的,注释掉MD5校验。这里其实可以替换MD5校验,因为我第一次下载的源码就坏了,导致后面显示没有Makefile。
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/aria2/aria2/releases/download/release-$(PKG_VERSION)/
# PKG_MD5SUM:=36e92af92b4370817c577ed802546842
make package/aria2/download -j8 V=s # Download packages
make package/aria2/prepare -j8 V=s # Extra packages
make package/aria2/compile -j8 V=s # Compile them
这里如果出现错误,把-j8
换成-j1
查看详细错误。
bin/ramips/packages/packages
啦。如果是其他架构,ramips
会换成其他架构的名字。opkg install
就可以了!