Workarounds for building Petalinux 2019.3 for the Ultra96-v2 using the 2018.3 published BSP

The provided board support package for the Ultra96 v2 are positively ancient. You can build Petalinux 2019.3 from them, but you will need to adress a few error that will pop-up due to change in the process not accounted for in the BSP.

Outline of the procedure to build

Export hardware from Vivado to a given directory.

petalinux-create -n u96_v2_petalinux
cd u96_v2_petalinux
petalinux-config --get-hw-description <directory where the hardware was exported to from vivado>
petalinux-config -c rootfs
# Select packages you want from the curses menuconfig
petalinux-config
petalinux-build

Now, this last command should not succeed, you will get error related to pmu-fw and device-tree.

For pmu-firware, delete (or move somewhere else) the patch files in ./u96_v2_petalinux/project-spec/meta-user/recipes-bsp/pmu-firmware/files

For device-tree, copy pl-custom.dtsi from ./u96_v2_petalinux/components/plnx_workspace/device-tree/device-tree/ to ./u96_v2_petalinux/project-spec/meta-user/recipes-bsp/device-tree/files/. Copy openamp.dtsi from ./u96_v2_petalinux/project-spec/meta-user/recipes-bsp/device-tree/files/ to ./u96_v2_petalinux/components/plnx_workspace/device-tree/device-tree/. Edit ./u96_v2_petalinux/project-spec/meta-user/recipes-bsp/device-tree/device-tree.bbappend and add the following line (change … to make it an absolute path) :

CUSTOM_PL_INCLUDE_DTSI := ".../u96_v2_petalinux/project-spec/meta-user/recipes-bsp/device-tree/files/pl-custom.dtsi"

Then rebuild and all should work correctly