I managed to get some progress by essentially tarballing the contents of a NixOS aarch64
SD card image 2nd ext4
partition and then unpacking that into a simple DOS partition layout with just one partition:
> sudo parted /dev/sda
GNU Parted 3.6
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel msdos
(parted) mkpart primary 0% 100%
Which then managed to be detected by U-Boot:
=> mmc part
Partition Map for MMC device 1 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 2048 122165248 f3d35a5f-01 83
=> run bootcmd_mmc1
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
735 bytes read in 11 ms (64.5 KiB/s)
------------------------------------------------------------
1: NixOS - Default
Enter choice: 1: NixOS - Default
Retrieving file: /boot/extlinux/../nixos/8kqlms92cy9ycvh2x189xalay0d4fj39-initrd-linux-6.1.31-initrd
12278723 bytes read in 1007 ms (11.6 MiB/s)
Retrieving file: /boot/extlinux/../nixos/8qajvgdwgl58xahzwk4xd8ay3sgyynzj-linux-6.1.31-Image
57461248 bytes read in 4650 ms (11.8 MiB/s)
append: init=/nix/store/hfbp8ig1n2jsnq9hxv2sqxxsiyxwj03x-nixos-system-nixos-23.05pre-git/init console=ttyS0,115200n8 console=ttyAMA0,115200n8 console=tty0 cma=32M conso7
Retrieving file: /boot/extlinux/../nixos/8qajvgdwgl58xahzwk4xd8ay3sgyynzj-linux-6.1.31-dtbs/rockchip-nanopi6.dtb
** File not found /boot/extlinux/../nixos/8qajvgdwgl58xahzwk4xd8ay3sgyynzj-linux-6.1.31-dtbs/rockchip-nanopi6.dtb **
Skipping nixos-default for failure retrieving fdt
SCRIPT FAILED: continuing...
But failed with inability to find rockchip-nanopi6.dtb
file. But this is progress.
It appears something in how the SD card image is partitioned makes it not possible to boot by default.