Preface
Audience
This article is for ones who have built BSP for Avnet's Ultra96V2 board using "single-button" script provided in Avnet SDK (further, "SDK"). The script allows to change a few parameters of an image before building.
Let's consider another scenario: you have a pre-built BSP and want to customize and re-build an image.
Using this work as an example, you can get some introductory vision on Xilinx-style BSP customization.
Would be useful if you had some familiarity with concepts of Yocto project.
The use case
My goal is to build customized Linux distribution image with minimal root file system and minimal kernel.
Also I need to maintain two image configurations with different boot methods:
rootfs is in RAM ("INITRD")
rootfs is on SD card ("EXT4")
Besides that, I want to apply my patch to U-Boot sources fetched by the BSP.
Refresher on BSP building
Avnet SDK provides scripts to build a Xilinx-style board support package (PetaLinux BSP) which in turn can be a starting point to build a customized image.
We have two options: to build BSP from scratch using the SDK or use a pre-built BSP.
In the first case, you clone three repositories from the Avnet github page - "bdf", "hdl" and "petalinux", checkout proper branches, for example "2023.2", run a "single-button" script and hope that an image builds successfully.
In the second case, a pre-built BSP provides the correct versions of Avnet scripts and configuration files for your specific board. Along with that, you have pre-built ready-to-go binary artifacts that comprise a Linux distribution image. You can start customizing your image from there.
As mentioned earlier, the article explores the second case.
I used the pre-built BSP 'u96v2_sbc_base_2023_2.bsp' (further BSP.u96v2-2023.2), with upload date: July 2024.
Last updated