Slate-AX :: Running the OS from the SD card, not onboard storage

I am trying to get docker installed on a slate-ax. While it is technically possible, the onboard storage available is insufficient for the installation. I have purchased a 128 gig microsd card, and I would like to reconfigure the router to use the microsd card as its main storage instead of the onboard flash - this will allow me to install docker, and a couple containers (i need to install home assistant on this router, and docker seems like the easiest way to do that)

is there a guide, or a howto at all on how to accomplish this? Or is there a way to tell openwrt to install things onto the sdcard instead of onto the flash, and not reconfigure the whole system?

any help here would be fantastic!

Check this out: [OpenWrt Wiki] Extroot configuration

Or just mount the SD card and config docker to use it as a storage.

I cant install docker at all because there is insufficient room on the device.
it's not even in the opkg repository for the device because gl.inet themselves knows the stock config of the slate-ax doesnt have enough room - i'd have to manually pull the package from another repo and install it.

The chief concern I have with this extroot method is that the document youve linked doesn't really have a clear 'rollback' section. If the uci commands to tell the system which partition to boot from get messed up somehow or if theres an inconsistency between stock openwrt and the gl.inet maintained images, how do I get back to a functional state to try again?

Like always: Reset the device using the reset procedure or firstboot -y

I'm presuming there's some kinda fastboot-like or safe-mode type state the unit will go into if boot fails?

Not really, but there is this Debrick via Uboot - GL.iNet Router Docs 4

This reads like its easy enough! I'll give it a shot and report back what happens!
Thanks much!

Okay, i've been able to get this part operational, but it looks like perhaps the extroot component is introducing some kind of filesystem issues? I am trying to get containerd running on this thing as a prerequisite to getting home assistant installed on it (i cant seem to make docker happen), and its throwing filesystem errors

it's weird to see errors saying operation not permitted when running as root..

root@fwiffo:~# ctr run --rm -t --net-host --mount type=bind,src=/opt/homeassistant,dst=/config,options=rbind:rw docker.io/homeassistant/home-assistant:latest homeassistant /usr/b
in/hass -c /config
INFO[0018] apply failure, attempting cleanup             error="failed to extract layer sha256:4e88b85aef6fc1ecbc4b3e12aa29c6641791687f7ea343f52faa0497eaca2f94: failed to convert whiteout file \"usr/src/.wh.gh-126156-Improve-performance-of-creating-Morsel-obj.patch\": operation not permitted: unknown" key="extract-546244464-CEwI sha256:3cae08bfccf46683bc0bfe78c9d6e62b5e422086ab59e9a7a047eebb698ed9ee"
ctr: failed to extract layer sha256:4e88b85aef6fc1ecbc4b3e12aa29c6641791687f7ea343f52faa0497eaca2f94: failed to convert whiteout file "usr/src/.wh.gh-126156-Improve-performance-of-creating-Morsel-obj.patch": operation not permitted: unknown
root@fwiffo:~# mount
mtd:ubi_rootfs on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
/dev/mmcblk0p1 on /overlay type ext4 (rw,relatime,data=ordered)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
bpffs on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,noatime,mode=700)
pstore on /sys/fs/pstore type pstore (rw,noatime)
/dev/ubi0_2 on /rwm type ubifs (rw,relatime)
/dev/mmcblk0p1 on /tmp/mountd/disk1_part1 type ext4 (rw,relatime,data=ordered)

I have had nothing but issues running extroot on my MT1300 and finally gave up after trying multiple SD cards. The main issue I had was that it would work fine until reboot or power off in which the FS would get corrupted beyond repair and then I would have to start over. I really don’t recommend extroot

so far extroot is behaving for me, but i can't seem to install 'actual docker, proper', and ive tried containerd instead. there were very weird issues trying to get a container to run, because theres some kinda extroot related filesystem issue where the container cant uncompress correctly due to a whiteout file not being handled the right way? so i tried another route, which was to install home assistant via pip3, and that got me farther, but im stuck again since python wants to compile stuff, and I can't figure out how to get gcc onto this thing so python can build its dependencies.

i'd be happy with either scenario - either containerd or python, but my objective is to try and get home assistant to run on this thing