其实一般不会出现我这种情况,而我这种情况真的是‘二般’情况了..
什么情况是‘二般’情况呢?就是我在测试iptables的时候,直接保存了一份错误的开机防火墙脚本,然后保存完之后在SSH端又输入了一遍错误的命令。
在我输入回车之后SSH强制关闭的那一刻,我害怕极了...
其实整体的救机思路也很简单,就是登录别的linux系统,把我那份错误的防火墙脚本删掉就好。
昨天折腾了openwrt和armbian的u盘系统,都无法挂载小钢炮的emmc分区。
在我走投无路之际,突发灵感想到修改灯大的刷emmc脚本/root/install.sh,心想能不能在不格式化的情况下删除原emmc文件。
最后,总算在不重刷的情况下解决了,解决步骤如下:
1.把灯大的固件再写入一遍u盘(随意,写入前备份),然后先插u盘(靠近hdmi口),再通电
2.在路由器管理界面查看n1新分配到的ip
3.然后就可以直接用浏览器、ssh或者sftp管理软件直接访问该ip了(我没想到灯大的固件可以直接运行在一只u盘里!!)
4.登录ssh后,输入下面的命令挂载emcc的分区到/ddbr/instal
mkdir -p /ddbr
chmod 777 /ddbr
DIR_INSTALL="/ddbr/install"
PART_ROOT="/dev/system"
PART_DATA="/dev/data"
umount -f $PART_ROOT &>/dev/null
umount -f $PART_ROOT &>/dev/null
#看了这条命令之后,发现我之前在另外两个系统无法挂载的原因,也是我没挂载对地方
mkdir -p $DIR_INSTALL
mount -t ext4 -o rw $PART_ROOT $DIR_INSTALL
mkdir -p $DIR_INSTALL/var
mount -t ext4 -o rw $PART_DATA $DIR_INSTALL/var
现在就可以访问/ddbr/install修改原emcc的文件了!!
后话:
这次经历之后觉得一定要养成改防火墙前先用crontab定时任务留后门!!还有备份小钢炮固件!!以防不时之需!!
然后我想灯大的小钢炮固件,要是能在n1本机hdmi有后台ssh登录显示的话,留个后门,遇到这次的情况也会舒服很多。(后来发现好像有一个display的启动脚本,不知道是不是我想要的)