如何挂载U盘到openwrt并扩容根分区

先安装必要环境

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盘,再重启。

 

《如何挂载U盘到openwrt并扩容根分区》上有3条评论

  1. 在 Chaos Calmer 15.05 (明月永在修改版, 安装在 WNDR3800) 下测试成功.
    但有几处不解 (主要是 Linux 的文件系统):
    1. 挂载成功后如果通过 WinSCP 等软件上传文件, 该文件是保存到路由器的 Flash 还是 U 盘? 还是 Flash 用尽后顺延占用 U 盘?
    2. 挂载成功并重启路由器后 /Overlay 中的所有文件都消失了, 但配置文件 (hosts 等) 及自己上传的文件依然存在. 如果未来使用 dd if=/dev/mtd* 这种命令备份分区会不会导致这些文件未被包含, 进而导致下次恢复时配置丢失? 如何确定这些文件的实际路径 (开始挂载之前发现这些文件位于 /Overlay)?
    3. 挂载成功后如果在路由器运行期间贸然取下 U 盘是否会损坏路由器系统?

发表评论

电子邮件地址不会被公开。 必填项已用*标注