• 0

ZedBoard: Can't load petalinux, stuck on "Starting kernel..."


maximb

Question

Hi everyone, I am using a ZedBoard, and following this guide:

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug1165-zynq-embedded-design-tutorial.pdf

I succesfully got to Chapter 2, where I can do the following:

  • Create Zynq block design
  • Export hardware file (.xsa)
  • Use Vitis to create a "standalone hardware platform" using this file
  • Use Vitis to create a Hello World application
  • Debug this application, and I can see "Hello World" printed in Vitis serial monitor over the UART cable.

However, I would like to progress to running Petalinux, and went to Chapter 6. Here I get stuck once I issue "bootm 0x30000000" command to U-boot (as per tutorial), where U-boot prints "Starting kernel...", and nothing appears afterwards.

I've made a 3:00 video showing that although the "Hello World" application works, the Petalinux loading procedure does not. You can view it here:

https://www.youtube.com/watch?v=mkPxveyynIg

I am happy to provide any more information. Using Vivado 2020.1, and Vitis 2020.1. I tried the following:

  • Re-build Petalinux
  • Re-build Petalinux, reconfigure kernel to enable early printk and serial wire over Zynq UART
  • Re-build Petalinux, and disable Xilinx Zynq GPIO drivers (An answer on the Xilinx community forums suggested this may be the cause).

I am using the BSP package for the ZED BSP (MD5 SUM Value : f7f63769ea9feeb36b460d4e5988a5de) from here: https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html

Unfortunately none of these worked. Any help appreciated!

Edited by maximb
Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Hi All, I just wanted to say that I'm also really struggling to get any kind of TFTP boot going on the Zynq, but not with other devices that I have.

I have another ARM-based SBC computer, the S805X "La Frite" Librecomputer, which also boots via U-boot. I connected its ethernet port to a physical internal network consisting of a switch and a router (Router is the "HAp ac lite" from MikroTik), which is running DHCP. I connect my laptop to it running TFTP server, and is serving a very dumb "test.txt" file consisting of 16 bytes.

I can load it from the La Frite librecomputer by simply setting the "serverip", "ipaddr" and "netmask" variables, and then issuing the "loadaddr 0x30000000 test.txt" command, and sure enough it fetches my 16 bytes from the server.

But I cannot do the same with the Zynq board. I know the network works, and the server works, because I got the librecomputer to behave. But the Zynq just gets stuck on "Can't ping server".

Edited by maximb
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now