Hello,
try out our reference design:
https://wiki.trenz-electronic.de/display/PD/TE0720+Test+BoardIt includes prebuilt Boot.bin and image.ub which you can directly use to start linux on the HW.
Instead to generate everything by yourself, you should use petalinx work flow for linux part, it's much easier especially for newbie.
And XSA(Vivado 19.2 --> on older Vivado Versions it was hdf) export defines your Zynq system (wich depends on PCB connection (basic periphery ...DDR... and your changes on the design later (PS part and PS-PL interfaces))). Your Linux part must be generated for this setup, you can't generate a general setup. --> Depending on you Vivado design, you must set correct uboot config, device tree, kernel, filesystem setup....
I would recommend to test prebuilt files(Boot.bin and image.ub if your TE0720 variant) of the reference design. Prebuilt should start, when you select the correct one for your assembly version.
As second step generate all files again by yourself without changes (see reference design documentation --> in case of 19.2 use Vitis/Vivado and petalinux 19.2). If this works, start to modify your project.
I can't help much more at the moment, sorry.
br
John