Files
GL-XE300/extroot_steps/README.md
2025-11-24 02:42:33 -08:00

2.2 KiB

OpenWRT 24.10.0 Extroot on XE-300

1. Insert card & install required packages

opkg update opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs

block-mount - block info, fstab handling, extroot logic kmod-fs-ext4 - kernel driver for ext4 filesystem kmod-usb-storage - makes the SD slot show up as /dev/sda e2fsprogs - provides mkfs.ext4

2. Confirm the SD card is /dev/sda and /dev/sda1

Check dmesg:

dmesg | grep -i sd

Sample Output: sd 0:0:0:0: [sda] 1000005632 512-byte logical blocks: (512 GB/477 GiB) sda: sda1 sd 0:0:0:0: [sda] Attached SCSI removable disk

3. Format /dev/sda1 as ext4 for extroot

mkfs.ext4 -L extroot /dev/sda1

You should see output ending with success and a UUID.

4. Grab the UUID and create the extroot fstab entry

UUID=$(block info | awk -F" '/sda1/ {print $2}') echo $UUID

Sample UUID output:

4851f00e-696b-47d3-a529-82c2aca292db

Now write the minimal extroot config using uci:

uci set fstab.extroot="mount" uci set fstab.extroot.uuid="$UUID" uci set fstab.extroot.target="/overlay" uci set fstab.extroot.fstype="ext4" uci set fstab.extroot.enabled="1" uci commit fstab

Sanity-check the file:

cat /etc/config/fstab

Sample output:

config global option anon_swap '0' option anon_mount '0' option auto_swap '1' option auto_mount '1' option delay_root '5' option check_fs '0'

config mount 'extroot' option uuid '4851f00e-696b-47d3-a529-82c2aca292db' option target '/overlay' option fstype 'ext4' option enabled '1'

5. Reboot into extroot

reboot

Wait for the router to come back up, then SSH in again.

6. Verify that the SD card is now your root overlay

df -h

Expected output:

Filesystem Size Used Available Use% Mounted on /dev/root 4.0M 4.0M 0 100% /rom tmpfs 58.7M 200.0K 58.5M 0% /tmp /dev/sda1 468.3G 2.1M 444.4G 0% /overlay overlayfs:/overlay 468.3G 2.1M 444.4G 0% /

Explanation:

/dev/root at /rom → read-only squashfs from flash /dev/sda1 at /overlay → SD card is the writable layer overlayfs:/overlay on / → full rootfs = ROM + SD overlay You now have a 468 GB OpenWrt box.

No /rwm mount No copy of internal overlay This is a clean, SD-only overlay setup.