Configuring extroot on GLiNet MT6000

Hi eveyone.

I just purchased an MT6000 Flint 2 router which came with software:

OpenWrt 21.02-SNAPSHOT / LuCI openwrt-21.02 branch git-22.335.71649-0ecaf74, Kernel Version 5.4.238.

I am trying to configure extroot to use an external USB drive as overlay.
I followed the wiki tutorial on how to format the drive as ext4, copy the overlay folder to it, configure the /etc/config/fstab file to point to USB drive.

I tried many things, and it seems not to work. I have this in kernel logs:

[    3.646159] init: - preinit -
[    3.885138] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[    3.893471] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    3.901286] mt7530 mdio-bus:1f lan1: configuring for phy/2500base-x link mode
[    3.910347] 8021q: adding VLAN 0 to HW filter on device lan1
[    7.969704] mount_root: loading kmods from internal overlay
[    7.982985] kmodloader: loading kernel modules from //etc/modules-boot.d/*
[    7.991040] kmodloader: done loading kernel modules from //etc/modules-boot.d/*
[    8.172553] block: attempting to load /etc/config/fstab
[    8.178784] block: unable to load configuration (fstab: Entry not found)
[    8.185487] block: no usable configuration
[    8.262935] F2FS-fs (loop0): Mounted with checkpoint version = 3b1d2a6d
[    8.270089] mount_root: loading kmods from internal overlay
[    8.282707] kmodloader: loading kernel modules from /tmp/overlay/upper/etc/modules-boot.d/*
[    8.291284] kmodloader: done loading kernel modules from /tmp/overlay/upper/etc/modules-boot.d/*
[    8.430146] block: attempting to load /etc/config/fstab
[    8.435405] block: unable to load configuration (fstab: Entry not found)
[    8.442112] block: no usable configuration
[    8.447010] mount_root: switching to f2fs overlay

block: unable to load configuration (fstab: Entry not found) - i have a feeling that during boot, it tries to read fstab from rom files (which does not exist -> /rom/etc/config/fstab) because original overlay (which contains fstab file with my configuration) is mounted after.

this is my fstab file configuration:

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

config mount
	option uuid '45206cb6-ebc4-444d-a3d8-3b1e37f87640'
	option enabled '1'
	option fstype 'ext4'
	option options 'rw,noatime'
	option target '/overlay'

i tried to manually edit it, also using Luci interface, nothing works. i also tried to use device label "extroot" instead of uuid, i also tried to increase delay_root, use uci fstab.extroot="mount", doesn't work.

output of mount:

...
/dev/loop0 on /overlay type f2fs (rw,lazytime,noatime,background_gc=on,discard,no_heap,user_xattr,inline_xattr,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6,alloc_mode=reuse,fsync_mode=posix)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
....
/dev/sda1 on /tmp/mountd/disk1_part1 type ext4 (rw,relatime)

output of block info:

/dev/sda1: UUID="45206cb6-ebc4-444d-a3d8-3b1e37f87640" LABEL="extroot" VERSION="1.0" MOUNT="/tmp/mountd/disk1_part1" TYPE="ext4"

i found this topic on OpenWrt where other users are complaining about this behaviour:

my question is if anyone has managed to make this work on MT6000 with stock or custom firmware?

Thank you!

Hi

Have you tried the open-source version of the firmware?
According to the GitHub link you provided, it seems like this issue has been fixed in OpenWrt 24.

Download link:
GL.iNet download center

Upgrade guide:
Upgrade - GL.iNet Router Docs 4

Since this part of the code is maintained by the OpenWrt community, we may not be able to provide much assistance.

1 Like