小米路由器R1D是带1T硬盘的第一代小米存储路由器,一直稳定运行了好多年,可能有七八年了。
时过境迁,曾经记得可以搞一些官方的插件,挂机下载之类的,后来手机端APP更新后,插件没见到了,但是通过官方网页还是可以离线下载的。
系统一直都是出厂的稳定版,有点厌倦了,想着反正那么多年了,早就过保了,就折腾折腾吧。
第一步:刷开发版系统,开SSH。
这一步,网上的教程不要太多,简单说几个注意点,去官网下载开发版固件和SSH文件,并保存好root密码页;建议迁移备份小米路由器硬盘内的所有文件。
第二步:关闭写保护。
因为小米路由器的固件系统是只读系统,在SSH下建立文件夹之类的写操作,都被提示Read-Only System,那么,能不能整体取消写保护呢?可以的,就是重新挂载一下根目录
mount -rw -o remount /
这条命令就是重新挂载根目录为可读写模式。
第三步:安装EntWare
经过探索,小米路由器内的系统是基于OpenWrt魔改的,其中的She'll是ash,软件包管理器是opkg,然后opkg的软件源是openwrt官方的特定软件包库,这么多年过去了,早已经不存在了,直接表现为opkg update不成功,无法从指定软件源下载软件清单。
然后只能通过EntWare下载软件了。
到EntWare官网的armv7目录中的2.6版本下面,将generic.sh这个安装文件拷贝到/opt目录下,并添加运行权限
chmod +x generic.sh 然后用ash generic.sh运行安装,会在/opt目录下多出来一些目录,进入其中的bin 目录,cd到bin里面,用./opkg update试试,就可以更新软件清单了。
测试了一下,./opkg install nano,直接安装了Nano编辑器。
到这一步,就意味着可以安装自定义的软件了。
写的只是思路和注意点,如有 需要了解细节的,欢迎在评论区里交流。
附:EntWare相应的2.6版本软件库里没有mysql,没有docker,我本想安装可道云KodBox的计划落空了,如有新思路,也请指教。
如果安装EntWarr3.x版本,不适用于小米路由器R1D,需要清理/opt目录,重新安装2.x版本的。
经查,小米路由器R1D的系统空间为127.2M,已用106.1M,剩余14.7M,安装EntWare后,剩余更少,不足以装下Nginx和php等。这时候就要e用到转移大法了。
先在/userdisk 目录下面建立 opt 和 root两个目录
然后用 mount -o bind "/userdisk/opt/" /opt 和mount -o bind "/userdisk/root" /root命令将opt和root目录转移到硬盘里,空间变得无穷大了。
现在研究到安装Nginx + PHP +MySQL环境了,网上都是一键安装脚本,是github.com/xzhih/ONMP/oneclick.sh 但是实测是网络连接异常,毕竟非常久远了。
而且ONMP安装要求opt目录非常干净,那我们之前安装的EntWare算什么?
进入到Entware的arm7的目录里,有一串php8-mod-*的软件包,真是眼花缭乱了。哎。