I ended up building the boot files, kernel, and device tree with Petalinux 2021.1 and using the Pynq 2.6 rootfs prebuilt. This hodgepodge is functional on a KV260 while I wait for my custom board.
Trying to integrate the sdbuild flow with an updated Petalinux/Yocto (for Kria support) did not sound like fun so I did not even try.
For booting on the KV260, I pulled some of the boot mode resistors to change the boot target to SD1-LS. This was a bit tricky since the reference designators are offset in a non-obvious way from the components. The setup for the SD card in Vivado was also a bit confusing and I ended up setting it to SD 2.0 and put a weak pulldown on MIO39.
Using just the SD card for boot let me bypass all the on-SOM storage which is easier for people downstream of me. It seems a shame to not use the QSPI and EMMC, but this works for the short term.
One thing I was proud of was pointing mmcblk0 → SD1 via the device tree. This saved some trouble with bootargs, fstab, and various other scripts after boot. Give this a try if you have a SD card boot device on SD1 and also have SD0 configured.
Testing has been minimal at this point, but I can load a bitstream and access MM devices in the fabric. On the PS side I’ve verified operation of ethernet and the SS USB. Other devices will need to wait until I have application specific hardware available.