11-11-2016 08:50 AM
Hey, I am newbie of zcu102 board and I have some questions for the different boot mode. Here is the materials I generated:
1) For Jtag boot, I have successfully run the linux kernel on the board, but i cannot dow hello_world application after running linux(in baremetal, we can just dow and con to run the hello_world), so how can I run the application after running linux on the board? (For SD boot, we can combine the application elf file with BOOT.bin)
2)For SD boot, i only combine fsbl.elf, u-boot.elf and bl31.elf to BOOT.bin. Then, I copy BOOT.bin, image.bin, uramdisk.image.gz, system.dtb and Hello_World.elf to SD card.In the zed board, we need to check the default environment in zynq-common.h in .../u-boot-xlnx/include/configs/ , ie: the file name of kernel image(image.bin), device tree(system.dtb) and root file system(uramdisk.image.gz) need to match the names in zynq-common.h, so u-boot can recognize those image correctly in SD card. For the zcu102 board, I need to check xilinx_zynqmp.h, but i didn't find the default environment section in this file. Where can I find the default environment section or What I need to change in xilinx_zynqmp.h to add the section? (If I DON'T want to combine everything to BOOT.bin)
3) Similar to 2), when I want to use tftp boot, I need to set up tftp sever in my host PC. For zed board, we need to find the default server ip in zynq-common.h, but for zcu102, I can't find the default server ip. Where can I find it?
4) Some of the tutorial mention a file with extension .ub eg: image.ub, they say it is kernel image and can be used in SD boot. I am wondering what is included in the image.ub (linux kernel+dtb+rfs?) and how to generate it.
Sorry for the long post. After long time research and testing, I summarized the questions. Thanks in advance!!!
11-15-2016 11:29 AM
09-20-2019 12:38 PM
The only way to affect the environment variables in the zcu102 boot image is to modify xilinx_zynqmp.h and re-built u-boot. Unfortunately, it looks to be referenced in about seven places in the build, so there is not a straightforward way to make this less onerous and time-consuming.
For me (and I admit I may just not have found the formula), the Petalinux tools rebuild EVERYTHING if you modify xilinx_zynqmp.h. The u-boot build is at the top of the dependency tree, and changing it makes bitbake start from the top.
The OSL Flow approach is a bit easier - you change xilinx_zynqmp.h, re-built u-boot (15 minutes on my feeble box), then re-assemble BOOT.BIN.
I have considered putting a reference to the SDcard boot image to load environment from a file, but it takes SOOOOO long to debug these environment scripts it's been hard to get through it.