Omnia boot from msata

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 as scan_dev_for_boot_part and distro_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 returns btrfs 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.
7 Likes