I've been able to boot my Linux on the zcu106 as well as the QEMUs.
I'm using the Legacy U-Boot approach of fatload'ing the uImage, initramfs.ub and dtd and then use mboot.
Our userspace is read-only and so we never switchroot to any mounted fs.
However, I have two questions:
(1) I had to use memory addresses from existing on-line examples without understanding why those addresses are chosen. I reviewed the User Guide but I couldn't find anything that showed why a starting address for the kernel of 0x80000 works but 0x0 does not. I'm assuming that there is reserved space in the lower addresses for I/O space or something. I ended up using the Start addresses below. Can someone point me at a table which explains why most examples use 0x80000?