I spent a few hours to get this working last night, and it needed a bit more information than is described in the official documentation. Hopefully it will help someone else.
- Make sure you have updated u-boot, mine was
U-Boot 2024.10-rc3-OpenWrt-r20343+127-4e1d1b7df0
- Check your u-boot env vars using
fw_printenv
, my defaults were those of a first-version Omnia. You should see env vars such asscan_dev_for_boot_part
anddistro_bootcmd
. If those variables aren’t defined, you need to reset the u-boot env vars to defaults within u-boot:
env default -a
saveenv
boot
- Follow the rest of the documentation. hint: it needs to be dos partition (not gpt), with the bootable flag set, but in my case, it refused to boot from the mSATA drive.
- I narrowed it down to the u-boot
fstype
command failing to detect a valid btrfs partition. It returns nothing when tested on the msata partition, but returnsbtrfs
on the mmc partition. - I eventually found this post indicating that somehow resizing the btrfs partition would make it visible to u-boot.
- So I increased the partition size by 1 GB, and suddenly u-boot detected it as a valid btrfs partition and is happily booting from it. Why? no idea.