USB2JFFS – 用U盘来挂载jffs

USB2JFFS – 用U盘来挂载jffs

1
https://koolshare.cn/thread-178957-1-1.html

1. 查看路由器是否有坏道

1
dmesg|grep "bad block"

还好没有坏道

2. 手动实现U盘挂载jffs
要实现U盘挂载jffs本身不难,以RT-AC1900P为例

插上U盘

1
df -h           //可以看到我们的U盘挂载到什么路径了

得出结果

1
2
3
4
5
6
Filesystem                Size      Used Available Use% Mounted on
/dev/root                33.9M     33.9M         0 100% /
devtmpfs                124.7M         0    124.7M   0% /dev
tmpfs                   124.8M    924.0K    123.9M   1% /tmp
/dev/mtdblock4           62.8M      8.5M     54.3M  14% /jffs
/dev/sda5                11.7G     16.0M     11.1G   0% /tmp/mnt/sda5

可以看到 我的U盘/dev/sda5 挂载到了 /tmp/mnt/sda5(倒数第一行);同时也知道了,固件原始的jffs挂载文件系统是/dev/mtdblock4

3. 卸载jffs

卸载jffs前需要关闭软件中心进程,因为skipd的数据库是存在/jffs/db下的,httpdb程序本身也是在/jffs/.koolshare/bin目录下的,所以需要关闭这两个进程。
实际上路由器的流量统计等功能也会用jffs作为储存,但是这些进程是间隔时间写入数据的,所以不用太严格考虑重启这些进程。

1
2
3
4
5
6
# 先关闭skipd和httpdb进程
killall skipd
/koolshare/perp/perp.sh stop

# 卸载jffs分区
umount -l /jffs

4. 用U盘挂载jffs

1
2
3
4
5
6
7
8
9
# 将jffs分区里的所有文件复制到U盘.koolshare_jffs目录
cp -a /jffs/ /tmp/mnt/sda5/.koolshare_jffs

# 用刚才创建的文件夹文件夹替换/jffs
mount -o rbind /tmp/mnt/sda5/.koolshare_jffs /jffs

# 重启软件中心相关进程
service restart_skipd
/koolshare/perp/perp.sh start      //这步提示no found 报错

5. 手动恢复原始jffs挂载方式
还是以RT-AC1900P为例:

卸载jffs

1
2
3
4
5
6
# 先关闭skipd和httpdb进程
killall skipd
/koolshare/perp/perp.sh stop
# 卸载jffs分区
umount -l /jffs
重新挂载jffs
1
2
3
4
5
6
# 用原始的jffs挂载文件系统/dev/mtdblock4 挂载 jffs
mount -t jffs2 -o rw,noatime /dev/mtdblock4 /jffs

# 重启软件中心相关进程
service restart_skipd
/koolshare/perp/perp.sh start

Leave a Reply

Your email address will not be published. Required fields are marked *