Then export the CROSS_COMPILE and ARCH environment variables for the aarch64 APU in MPSoC: export CROSS_COMPILE=aarch64-linux-gnu- export ARCH=aarch64įinally, for an easier path handling, we move into the linux directory we created in previous steps: cd ~/soc-course/linux/ Getting the SourcesĪs a first step, we need to get the sources from the Xilinx repository at GitHub and checkout the version that matches our Xilinx toolchain version: git clone cd u-boot-xlnx git checkout xilinx-v2019.2 Configuring the U-Bootīefore building, we need to choose a defconfig file for the MPSoC. Load the Vitis environment so that the cross-toolchain tools included in the Xilinx toolchain are available: source /tools/Xilinx/Vitis/2019.2/settings64.sh For Debian/Ubuntu Debian distributions, these packages can be installed via the package manager with these commands: sudo apt-get install build-essential sudo apt-get install flex sudo apt-get install bison sudo apt-get install libncurses-dev Setting the Environment Required Host Packagesīefore performing the exercises, some packages need to be installed in the development host Linux Operating System.
In this section, we will learn how to build a fully functional U-Boot program from the source code.
In the Zynq UltraScale+ MPSoC based systems, U-Boot is a key element to boot Linux based runtimes and it covers the B元3 level inside the ARM Trusted Firmware (ATF) boot flow. The Universal Boot Loader, also known as Das U-Boot or simply U-Boot, is a general purpose boot loader used in embedded systems to provide the basic commands to allow the Operating System Kernel to be able of booting.