小米路由 R1D 发挥余热,刷 TOMATO 固件并开启软件中心
先来 2 张效果图:
楔子
原来家里很早以前买的一个小米 R1D 路由,因为后面玩软路由了,就闲置在家里了。最近有需要就又把他拿起来发挥点余热,不过用了几天感觉小米的系统太难用了。所以动手把路由固件改造刷新一下。做个笔记,下面是改造步骤:
小米路由刷 TOMATO 系统
1. 小米路由 R1D 开启 SSH。
先将小米路由器刷成开发版。然后使用官方的 SSH 工具,在 http://d.miwifi.com/rom/ssh 上开启 SSH 功能,下载 SSH 工具包,将 ssh_rom.bin 文件拷贝到 U 盘,然后长按 RESET 键进入 U 盘恢复模式。
2. 下载刷机工具包及固件。
刷机包工具地址
链接: https://pan.baidu.com/s/1Si54WbEGaJRFmfjVFC0doQ 提取码: qkq4
TOMATO 固件下载服务器地址
http://firmware.koolshare.cn/Koolshare_tomato-arm_firmware/
可自行选择当前最新版本下载。
2020/2/6 最新 TOMATO 固件下载地址:
http://firmware.koolshare.cn/Koolshare_tomato-arm_firmware/X1.4/tomato-R1D-KoolShare-AT-ARM-3.4-140-X1.4-Custom-64K.trx
3. 前期准备工作
由于小米路由器引导和 tomato 不同,需要修改 cfe.bin 并且稍后更换。两步走,一是打开小米路由器管理后台,按截图记下你小米路由器的 MAC 。
用工具包的 cfe 编辑器,打开 cfe_stock.bin 文件,按下面截图提示修改并且保存 cfe.bin 文件备用
把修改后的 cef.bin 文件以及工具包里的 backup.sh、flash-cfe.sh 共 3 個文件放到 U 盘中,插入小米路由器 USB 待用。
4. 开始刷机
用 Xshell 4 或者 putty.exe 之类打开 SSH 操作。进入 U 盘。
1
cd /extdisks/sdb1
这个 U 盘位置各人可能不同,自己修正。
原有小米路由器备份。这一步非常重要。因为我们刷机第三方系统,今后要恢复原系统要靠这些备份。
1
./backup.sh
约半分钟左右,备份完毕。
更换 cfe.bin。
1
./flash-cfe.sh
几秒钟后 cfe,更换完成,拿下 U 盘,备份妥善保存。
确认刷机后门打开。
1
nvram set boot_wait=on && nvram set wait_time=10 && nvram commit && nvram show |grep wait
屏幕上有
boot_wait=on
wait_time=12
显示为成功。把本地 IP 设置成
192.168.1.2
小米路由器 lan 口用网线和电脑连接,路由器拔下电源重启,指示灯转黄灯,稍等一会用网页打开
192.168.1.1
. 会有以下显示:
按选择文件找到你下载的 tomato
固件,再按上传 (Upload)注意左下角有正在上传文件的百分比。
- 等待固件安装和重启,需要时间较长,等 3-5 分钟或者更长时间,到黄灯转蓝灯即成功。这里如果重启不能显示 cfe 刷机服务标志,又或者上传不能开始,上传时间过长(超过 1 分钟),上传中途中断等,不用灰心。黄灯不可怕,可能是缓存问题,只需要拔下电源,长按
reset键
再插电 30 秒以上。重新操作直到黄灯转蓝灯,最后在网页输入192.168.1.1
,会弹出要求的登录名和密码框框,同样都输入admin
即可进入 tomato 设置。
到此 TOMATO 固件就已经刷完了,但是还没有软件中心功能。
TOMATO 固件安装部署软件中心
1. 挂载硬盘到 TOMATO.
ssh 登陆 192.168.1.1, 检查硬盘挂载情况。
1 | df -h |
我的硬盘识别出来是 sda1
, 所以按下面的命令建立一个 jffs
目录。
1 | mkdir /mnt/sda1/jffs |
接着把这个目录挂载到路由器的 /jffs
目录上。
1 | mount -o bind /mnt/sda1/jffs /jffs |
2. 软件中心安装
输入以下命令来进行软件中心的安装:
1 | eval `/usr/bin/wget -q -O - https://ttsoft.ngrok.wang/softcenter/ttsoft` |
安装完后,重新登陆 192.168.1.1
就可以看到软件中心了。
3. TOMATO 开机启动设置
软件中心安装完成后,需要做一些启动设置,不然重启路由后,软件中心就会没有了。
进入系统管理
-> 脚本
-> 初始化脚本
, 添加下面这段代码。(挂载的硬盘路径,自己根据情况修改)
1 | mount -o bind /mnt/sda1/jffs /jffs |
以上设置完成后,建议重启一下路由器看看软件中心是否能正常访问和运行。