MNT Reform System Image V3 Beta

After a couple of days, I figured out how to get the latest v3 commit compiling and working with my eMMC+encrypted NVMe setup. In short:

  • Replaced all “mmcblk1” with “mmcblk0” in mkuserland.sh, and added “init=/usr/sbin/reform-init rdinit=/usr/bin/reform-init” to the kernel args.
  • Compiled the latest uboot from Reform / reform-boundary-uboot · GitLab and then changed mkimage.sh to copy flash.bin from the build directory instead of downloading it from GitLab.
  • Flashed the resulting images, then booted into the rescue image on the eMMC and changed /usr/sbin/reform-init to use /sbin/cryptsetup isLuks --disable-locks "$BOOTPART" instead of grepping the output of blkid. Added the --disable-locks flag to the luksOpen call as well.
  • Edited /etc/fstab on the NVMe to remove the “/boot” mount (upgrading rendered my machine unbootable again earlier, I suspect because kernel command line args there got overwritten somehow) and to mount /dev/mapper/cryptroot at / instead of /dev/mmcblk1p2.

Edit: Looks like regulatory.db isn’t getting loaded because cfg80211 is built-in, and so tries looking for the file before the root filesystem is loaded. Noticeably slower wifi, probably because my regulatory domain is now set to “world.” Can’t seem to change it, probably because regulatory.db isn’t loading.

[    6.481327] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    6.481337] cfg80211: failed to load regulatory.db