使用 OpenWrt SDK 编译 Aria2 最新版本

发表于 2017-08-06   |   分类于 Openwrt   |   访问: 1,962 次

Preface

最近几天入手了小米mini路由。到手之后马上就刷了Openwrt,爽到。
用了几天之后发现自己忘记安装aria2了。
然后opkg update && opkg install aria2之后,aria2c -v一看,果然官方还是没有更新到最新版,依然是1.18.0
虽然snapshot版本的Openwrt有最新版aria2,但是并不能安装到路由上面,我也不想安装新版系统,因为路由这种东西,还是稳定至上。

于是决定自己编译个最新的aria2。之前我也编译过了,但是无奈过了一年怎么编译都忘了。于是参考了这篇文章。文章讲得挺详细的,但是里面的SDK是用git上面clone下来的。我决定使用官方发布的sdk进行编译,于是做了一点修改。

Steps

  1. 下载SDK
    第一部当然是下载sdk啦。我这里用了中科大的反向代理,并且用了阿里云的服务器。不得不说,阿里云学生机的服务器的ingoing带宽还是很不错的。
    sdk的架构和版本自己到官网查看一下哦。我这里是针对小米Mini的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
  2. 安装依赖
    这个SDK需要一些环境支持我们需要安装的。我在Ubuntu下面的安装命令是:
    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

  3. 更新软件包
    安装之前更新一下软件包
    ./scripts/feeds update -a 
    ./scripts/feeds install aria2
  4. 修改aria2的Makefile
    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
  5. 开始编译
    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查看详细错误。

  6. 编译完成
    编译完成之后,ipk文件就在bin/ramips/packages/packages啦。如果是其他架构,ramips会换成其他架构的名字。
    把文件拷过去,然后opkg install就可以了!
    这里附上我编译好的aria2_1.32.0-1_ramips_24kec

发表新评论

© 2019 Powered by Typecho & Theme Quark
粤ICP备17055048号