0 Replies Latest reply on May 9, 2019 2:27 AM by gsavaton

    MicroZed + Yocto : with official "microzed-zynq7" machine, U-Boot does not start from SD card

    gsavaton

      I am building a Yocto Linux image for the MicroZed using the official meta-xilinx layer (Yocto branch "rocko" + meta-xilinx layer with branch "rel-v2018.3").

       

      Using MACHINE = "microzed-zynq7" in my local.conf generates an image that fails to boot from SD card:

      • At startup, the blue LED indicates that the PL is configured.
      • The USB-UART port does not output anything.

       

      As a workaround, I have created a custom machine configuration based on the official microzed-zynq7.conf with the following modifications:

       

      # Use the ZedBoard configuration for U-Boot instead of MicroZed
      UBOOT_MACHINE = "zynq_zed_config"

      # Keep the device tree of the MicroZed KERNEL_DEVICETREE = "zynq-microzed.dtb"

      # Enable the "u-boot-xlnx" recipe (with U-Boot 2018.3)
      # instead of the "u-boot" recipe (that provides U-Boot 2017.09).
      PREFERRED_PROVIDER_virtual/bootloader = "u-boot-xlnx"

      The bootloader generated with this machine definition works correctly and I get a fully working Linux system.

       

      In both attempts, the u-boot.elf file from the Yocto build is added to the same bitstream and FSBL generated by Vivado + SDK using the officiel MicroZed board files.

      • Do you know why the microzed-zynq7 machine definition does not generate a working bootloader in my case?
      • Do you think my workaround is safe to use? Should I try something else?