之前写过一篇文章用 extroot 为 openwrt 扩充存储空间,最近重装openwrt的时候,发现官方文档已经更新了扩展方法,觉得有必要单独写一篇作为更正,以免误导新人。
1.首先,需要更新系统、安装必要程序
opkg update && opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs kmod-usb-ohci kmod-usb-uhci fdisk usbutils
2.之后更新rootfs数据
DEVICE="$(awk -e '/\s\/overlay\s/{print $1}' /etc/mtab)"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${DEVICE}"
uci set fstab.rwm.target="/rwm"
uci commit fstab
3.然后格式化硬盘,后再次更新文件系统表
mkfs.ext4 /dev/sda1
DEVICE="/dev/sda1"
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
4.最后,迁移数据
mount /dev/sda1 /mnt
cp -a -f /overlay/. /mnt
umount /mnt
5.重启,完成
reboot