前言
在openwrt发展到15.05之后,官方的软件仓库,不再对位于oldpackages
目录的软件进行预编译,因为其中,很多项目已经无人维护了,然而其中还是有很多有用的包的。因此我们这篇文章以编译tmux
为例来说明如何自行编译自己需要的旧软件。
安装SDK
选择对应于你路由器刷的版本的SDK即可,以官方openwrt为例,在对应的版本目录中,找到对应你路由器的固件,那么相同目录中会存在一个SDK包,下载即可。以我的小米路由器mini为例,我刷了官方的chaos_calmer15.05.1
,那么我只要下载OpenWrt-SDK-15.05.1-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2即可。
步骤
- 我们解压下载的SDK,并从命令行进入SDK目录
- 我们首先需要修改
feeds.conf.default
文件,去除下面这条语句前的#
...
#src-git oldpackages http://git.openwrt.org/packages.git
- 更新feeds
./scripts/feeds update -a
- 安装feeds
./scripts/feeds install tmux
- 开始编译
make package/tmux/compile V=s -j 1
- 编译完成没有出错的话,在下面的目录会有想要的包(包括一些依赖包),全部scp到路由器去安装吧。
bin/ramips/packages/
注意
如果发生错误,不要怕,仔细观察出错信息,一般都可以解决。
我这里遇到一个问题是zlib
一直编译不过,后来发现是我缺少ccache
,用命令安装即可
apt-get install ccache