R4S SquashFS ImmortalWRT/OpenWRT SD卡系统扩容

R4S SquashFS ImmortalWRT/OpenWRT SD卡系统扩容

在R4S安装了 ImmortalWRT SquashFS系统, 但是系统只给了300M, 很多软件都安装不了, 所以需要扩容.

这里我插了一张64G的卡, 打算其中10G分给系统overlay用来安装软件包, 剩余所有空间格式化为ext4分区, 用于存储数据.

1. 安装必要工具

BASH
opkg update
opkg install cfdisk losetup f2fs-tools

2. 查看数据

BASH
root@ImmortalWrt:~# df -Th
Filesystem           Type            Size      Used Available Use% Mounted on
/dev/root            squashfs        6.3M      6.3M         0 100% /rom
tmpfs                tmpfs           1.9G      2.6M      1.9G   0% /tmp
/dev/loop0           f2fs          291.9M    223.9M     67.9M  77% /overlay
overlayfs:/overlay   overlay       291.9M    223.9M     67.9M  77% /
tmpfs                tmpfs         512.0K         0    512.0K   0% /dev
/dev/mmcblk1p1       ext4           15.7M      6.1M      9.3M  39% /mnt/mmcblk1p1

3. 使用 cfdisk 扩展分区

BASH
cfdisk /dev/mmcblk1

> /dev/mmcblk1p2
> Resize (10G)
> Write > yes


> Free Space
> New (All)
> Quit

4. 执行自动扩容脚本

SHELL
LOOP="$(losetup -n -O NAME | sort | sed -n -e "1p")"
ROOT="$(losetup -n -O BACK-FILE ${LOOP} | sed -e "s|^|/dev|")"
OFFS="$(losetup -n -O OFFSET ${LOOP})"
LOOP="$(losetup -f)"
losetup -o ${OFFS} ${LOOP} ${ROOT}

fsck.f2fs -f ${LOOP}

mount ${LOOP} /mnt
umount ${LOOP}

resize.f2fs ${LOOP}

5. 格式化ext4分区并挂载

BASH
mkfs.ext4 -L Storage /dev/mmcblk1p3
mount /dev/mmcblk1p3 /mnt/storage

6. 重启设备, 并检查扩容结果

BASH
reboot

df -Th

fdisk -l /dev/mmcblk1

R4S SquashFS ImmortalWRT/OpenWRT SD卡系统扩容
https://simonkimi.githubio.io/posts/20260303034146/
作者
simonkimi
发布于
2026年3月3日
许可协议