Skip to content

Extroot

extroot & overlay

1
2
3
4
5
6
7
8
9
opkg install \
    kmod-fs-ext4 \
    block-mount \
    e2fsprogs \
    parted \
    kmod-scsi-generic \
    kmod-usb-storage \
    kmod-usb-storage-extras \
#   kmod-usb-storage-uas  # for SSD, if any
ls -l /sys/block
1
2
3
4
5
DISK=/dev/sda9  # put your drive path here
parted -s ${DISK} -- mklabel gpt mkpart extroot 2048s -2048s

DEVICE="${DISK}1"
mkfs.ext4 -L extroot ${DEVICE}
1
2
3
4
5
6
7
eval $(block info ${DEVICE} | grep -o -e 'UUID="\S*"')
eval $(block info | grep -o -e 'MOUNT="\S*/overlay"')
uci -q delete fstab.extroot
uci set fstab.extroot="mount"
uci set fstab.extroot.uuid="${UUID}"
uci set fstab.extroot.target="${MOUNT}"
uci commit fstab
1
2
3
4
5
6
ORIG="$(block info | sed -n -e '/MOUNT="\S*\/overlay"/s/:\s.*$//p')"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${ORIG}"
uci set fstab.rwm.target="/rwm"
uci commit fstab
1
2
3
4
5
6
7
mount ${DEVICE} /mnt
tar -C ${MOUNT} -cvf - . | tar -C /mnt -xf -
sync
umount /mnt

sync
reboot