cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
1,231 Views
Registered: ‎10-19-2017

Load PetaLinux Image into ZC706 QSPI and Boot

I have been booting my ZC706 with an SD Card with two partitions.

 

The first step I do is in the PetaLinux configuration GUI, I set Image Packing Configuration -> Root filesystem type to SD Card.

I then go into the Subsystem AUTO Hardware Settings-> Advanced bootable images storage Settings

and set all the items

boot image settings --->                                                                                                                                               
u-boot env partition settings  --->                                                                                                                                                   
kernel image settings  --->                                                                                                                                                            
jffs2 rootfs image settings  --->                                                                                                                                                     
dtb image settings  --->

to primary SD

 

The second step I do is to create BOOT.BIN. To do this, I use the first stage boot loader and the fpga image

petalinux-package --boot --force --fsbl zynq_fsbl.elf --fpga design_1_wrapper.bit --u-boot

This generates BOOT.BIN.

 

The first partition is a bootable 200 MB FAT32 partition. Onto this partition I copy BOOT.BIN, image.ub, and system.dtb.

 

The third step is to mount the second partition in /mnt, copy the rootfs.tar.gz file to that location, untar it, and remove the original tar file, leaving just the decompressed rootfs on the second partition.

The second partition is an ext4 partition.

 

I have been trying to figure out how to configure the kernel to build so that  I can load it into QSPI directly from the Vivado Hardware Manager and boot from there. Is there some way that I can use petalinux-package or bootgen to package all of these files into one binary? Again the files are

- zynq_fsbl.elf

- design_1_wrapper.bit

- image.ub

- system.dtb

- rootfs.tar.gz

 

My assumption is that I need to write a bif file to do this, but I am not sure how to accomplish this.

 

Also, when loading bootable media into the QSPI type associated with ZC706 Spansion S25FL128SAGMFIR01 Dual 128 Mb, the Hardware Manager asks for two files, a configuration file (.bin extension) and a first stage bootloader (.elf) extension. I tried loading the normal BOOT.BIN made from fsbl and bitstream into the first selection and zynq_fsbl.elf into the second selection, but when I switched it to boot from QSPI, the INIT LED was red.

0 Kudos
1 Reply
Highlighted
Moderator
Moderator
1,151 Views
Registered: ‎05-10-2017

You can create a single qspi_boot.bin using bootgen.

We have a description of this here on page 80 https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug1209-embedded-design-tutorial.pdf

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos