Error while flashing x86: `resin-device-progress : Device registration not complete, provisioning progress cannot be reported`

I am attempting to provision a Generic x86_64 (GPT) device. The web interface is stuck on Configuring (Flashing balenaOS on internal media) 100% for over an hour.

I cannot run journalctl -e resin-init-flasher as it says “Failed to match resin-init-flasher”, but systemctl status resin-init-flasher says

/dev/nvme0n1 will be used for flashing
resin-device-progress : Device registration not complete, provisioning progress cannot be reported
No need to flash first stage boot loader to a specific device
No need to flash second stage boot loader to a specific device
Cleanup
Main process exited status 124

The Intel NUC and MBR images also appear in the web UI stuck on 100% configuring, but produce no display output at all, so I can’t log in and read any logs.

Any ideas?

Doing some debugging:

  1. Script is failing because timeout 10 bash -c 'until test -L /dev/disk/by-label/resin-boot; do sleep 1; done' on line 473 of meta-balena/meta-balena-common/recipes-support/resin-init/resin-init-flasher/resin-init-flasher at master · balena-os/meta-balena · GitHub fails
  2. This fails because resin-boot never appears in disk/by-label
  3. DD executes correctly, but fdisk is showing very different output for balena-image-generic-amd64.balenaos-img and /dev/nvme0n1 even though they should be identical.
  4. Current theory is this is a 512 vs 4096 sector size issue?

Yeah, reformatting on a Debian live image with sudo nvme format /dev/nvme0n1 --lbaf=0 --ses=0 sets the drive to 512 byte sectors, and appears to be installed successfully now.