扩充 OpenWRT 的 Overlay 分区

首先,使用 cfdisk /dev/nvme0n1 在固态硬盘上新建分区,并命名为 /dev/nvme0n1p3 ,具体图形界面的操作步骤参考 eSir 的 OpenWRT Overlay 扩容教程 。接下来的 Overlay 的设置将参考 OpenWRT 官方文档说明

完成新建分区后通过 block info 命令查看最新的分区情况,输出结果类似如下

/dev/sda1: UUID="67E3-17ED" LABEL="EFI" VERSION="FAT32" MOUNT="/mnt/sda1" TYPE="vfat"
/dev/sda2: LABEL="LaCie" MOUNT="/mnt/sda2" TYPE="hfsplus"
/dev/nvme0n1p1: UUID="1234-ABCD" LABEL="kernel" VERSION="FAT16" MOUNT="/boot" TYPE="vfat"
/dev/nvme0n1p2: UUID="0f780390-c25ace7e-aefdb48f-0533549e" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/nvme0n1p3: UUID="1d401b92-9a39-443f-8336-5fa226e935d9" LABEL="extroot" VERSION="1.0" MOUNT="/overlay" TYPE="ext4"

确定需要作为 overlay 分区的名称,也就是刚才新建的分区名称 /dev/nvme0n1p3

DEVICE="/dev/nvme0n1p3"
mkfs.ext4 -L extroot ${DEVICE}

配置 overlay 的分区设置

eval $(block info ${DEVICE} | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab

挂载新的分区,并拷贝目前的 overlay 分区内容至新的分区,最后重启

mount ${DEVICE} /mnt/nvme0n1p3
tar -C /overlay -cvf - . | tar -C /mnt/nvme0n1p3 -xf -
reboot