Tomato optware 环境初始化
小米路由刷成了Tomato之后想要让他运行插件必须配置IPKG,让他可以下载更多好用的插件,以及一些语言环境的安装,比如Python!因为网上很多教程都太老了,中间有很多坑,被我一点点填了。
基本流程
网上的流程基本上都是这样的:
挂在U盘或者硬盘
安装aria2
运行aria2
布置自启动脚本
其实大致的流程就这么四项。然而随着版本变迁和小米路由ARM架构的问题,有几个坑要填,以下是具体步骤。
具体步骤
在你的硬盘下面建一个文件夹
mkdir /tmp/mnt/sdaX/opt
(X为数字,一般为1)挂载你的硬盘到路由器上
mount -o bind /tmp/mnt/sdaX/opt /opt
进入/usr/sbin/目录,执行
wget http://bbs.dualwan.cn/downloads/optware-install.sh
给文件加权
chmod 755 optware-install.sh
执行文件
sh optware-install.sh
更新ipkg
ipkg update
注意事项
本来是可以用官方的地址下载shell脚本,但是因为某些不(防)可(火)抗(长)拒(城)的力量,换了一个源下载脚本。其次如果不在/usr/sbin/ 目录执行的话是会报下面这个错误:
root@unknown:/tmp/home/root# wget http://tomatousb.org/local--files/tut:optware-
installation/optware-install.sh -O - | tr -d '\r' > /tmp/optware-install.sh
Connecting to tomatousb.org (107.20.139.170:80)
Connecting to tomatousb.wdfiles.com (54.165.29.53:80)
- 100% |*******************************| 2826 0:00:00 ETA
root@unknown:/tmp/home/root# chmod +x /tmp/optware-install.sh
root@unknown:/tmp/home/root# sh /tmp/optware-install.sh
Checking system config ...
Using 84.235.6.27 as the default gateway.
Using the following nameserver(s):
nameserver 127.0.0.1
Warning: /opt partition is not empty!
Installing package uclibc-opt_0.9.28-13_mipsel.ipk ...
Some newer versions of DD-WRT does not show download progress bar,
so just be patient - or check STATUS -> BANDWIDTH tab for download
activity in your routers Web-GUI, and then still wait a minute or two.
Connecting to ipkg.nslu2-linux.org (140.211.169.161:80)
uclibc-opt_0.9.28-13 100% |*******************************| 832k 0:00:00 ETA
Updating /opt/etc/ld.so.cache
/opt/sbin/ldconfig: line 1: syntax error: unexpected "("
Installing package ipkg-opt_0.99.163-10_mipsel.ipk ...
Some newer versions of DD-WRT does not show download progress bar,
so just be patient - or check STATUS -> BANDWIDTH tab for download
activity in your routers Web-GUI, and then still wait a minute or two.
Connecting to ipkg.nslu2-linux.org (140.211.169.161:80)
ipkg-opt_0.99.163-10 100% |*******************************| 75850 0:00:00 ETA
/opt/sbin/ldconfig: line 1: syntax error: unexpected "("
/opt/bin/ipkg: line 1: ELF☺☺☺☺♠@4ⁿ: not found
/opt/bin/ipkg: line 2: syntax error: unexpected "("
/opt/bin/ipkg: line 1: ELF☺☺☺☺♠@4ⁿ: not found
/opt/bin/ipkg: line 2: syntax error: unexpected "("
/opt/bin/ipkg: line 1: ELF☺☺☺☺♠@4ⁿ: not found
/opt/bin/ipkg: line 2: syntax error: unexpected "("
这是因为小米路由是ARM架构的路由,脚本支持的是MIPS架构的路由,所以会出问题!
就因为这两个坑,折腾了我很久才解决问题,这里给出个极简的方案:
- 下载optware
cd /tmp/mnt/sda1 (切换到硬盘)
下载optware包,然后把他上传到硬盘上。
tar zvxf opt.tar.gz (解压)
这时候硬盘上就会多出一个opt目录,里面就是optware
- 挂接到/opt
mount -o -bind /tmp/mnt/sda1/opt /opt
- 更新软件列表
/opt/bin/ipkg update
完成,这样就避免了架构问题。
IPKG管理方法
ipkg update(下载并更新最新的软件包列表)
ipkg upgrade(更新所有已安装软件)
ipkg list(列出可安装包)
ipkg install packagename(安装包)
ipkg remove packagename(移除包)
尾巴
网上那些个教程基本停留在2012年,真是各种坑啊,整的我心里憔悴,睡觉了。