This page will go over how to boot linux-xlnx with Ubuntu rootfs for 2019.1 release . The same steps work with 2019.2 release as well.

The below steps have been used to boot the boards for zcu102-zynqmp and Ultra96-zynqmp.

I. Required boot artifacts

To create an SD card image and boot Ubuntu we need the following artifacts:

  1. boot.bin
  2. Image
  3. system.dtb
  4. Ubuntu rootfs

II. how to get the boot artifacts

  1. boot.bin, Image, system.dtb can be taken from petalinux bsp [https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842250/PetaLinux]
  2. extract the petalinux bsp after downloading it from here https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html
  3. source the petalinux tool and run petalinux-config command. This will launch a menuconfig GUI using this select the following:
    1. Image Packaging configuration →Root filesystem type→ Initrd
    2. after choosing initrd, save the changes and exit
  4. run petalinux-build command to generate the new kernel image type and populate it under images directory 
  5. The ubuntu rootfs can be taken from ubuntu-base-14.04.2-core-arm64.tar.gz

III. Create an SD card

The sd card will require two partitions, FAT boot partition and EXT4 root partition. To create these partitions follow the steps from https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842385/How+to+format+SD+card+for+SD+boot

  1. mount the newly partitioned sd card.
  2. copy BOOT.BIN, boot.scr, Image and system.dtb to boot partition of sd card. 
  3. extract the downloaded ubuntu rootfs using tar command to the root partition of sd card.

Place the sd card on target and boot the board.

Reference boot log for ZCU102 can be found here


Reference:

Inital work done by mentor graphics to boot ubuntu rootfs on zcu102 zynqmp can be found here.

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842074/Zynq+UltraScale+MPSoC+Ubuntu+Desktop