先安装必要环境
opkg update opkg install block-mount kmod-fs-ext4 kmod-usb-ohci kmod-usb2 kmod-usb-storage e2fsprogs blkid
然后在dev中找到你的U盘(一般是sdax,这里假设为sda1)
格式化U盘
mkfs.ext4 /dev/sda1
由于我们要挂载到/,所以我们先要拷贝原来的文件到U盘中,执行下面的命令
mkdir -p /tmp/introot mkdir -p /tmp/extroot mount --bind / /tmp/introot mount /dev/sda1 /tmp/extroot tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf - umount /tmp/introot umount /tmp/extroot
然后,使用blkid 命令来查看sda1的UUID,显示结果类似于下面
/dev/mtdblock5: TYPE="squashfs" /dev/sda1: UUID="c91d06ce-8781-4255-b635-610bd6beef7e" TYPE="ext4"
然后,把下面的UUID替换成你的,把这段文本拷贝到/etc/config/fstab 文件的后面
config 'mount' option target '/' option uuid 'c91d06ce-8781-4255-b635-610bd6beef7e' option enabled '1'
现在,重启路由器。使用df -h 来查看是否挂载成功。如果重启失败,可以尝试取下U盘,再重启。
在 Chaos Calmer 15.05 (明月永在修改版, 安装在 WNDR3800) 下测试成功.
但有几处不解 (主要是 Linux 的文件系统):
1. 挂载成功后如果通过 WinSCP 等软件上传文件, 该文件是保存到路由器的 Flash 还是 U 盘? 还是 Flash 用尽后顺延占用 U 盘?
2. 挂载成功并重启路由器后 /Overlay 中的所有文件都消失了, 但配置文件 (hosts 等) 及自己上传的文件依然存在. 如果未来使用 dd if=/dev/mtd* 这种命令备份分区会不会导致这些文件未被包含, 进而导致下次恢复时配置丢失? 如何确定这些文件的实际路径 (开始挂载之前发现这些文件位于 /Overlay)?
3. 挂载成功后如果在路由器运行期间贸然取下 U 盘是否会损坏路由器系统?
作者是转载的吗
不是