Changes

Jump to: navigation, search
Device tree handling
== Introduction ==
As explained [[Logical_structure_of_Bora_and_BoraX_Embedded_Linux_Kits_(BELK/BXELK)|here]], BELK/BXELK structure is not based on the [https://www.xilinx.com/products/design-tools/embedded-software/petalinux-sdk.html PetaLinux build system](*). Instead, BELK/BXELK make use of a standardized Yocto-based build system to build all the software components—U-Boot, Linux kernel, and root filesystem—that run on the Processing System (PS). This approach is more flexible and more modularized but it requires a little bit more knowledge of embedded Linux systems.
That being said, there are cases in which it can be convenient to build such components with PetaLinux build system, however. This technical note shows how to use the PetaLinux build system to build the Linux kernel released with BELK/BXELK.
It is assumed that PetaLinux is already installed on the host machine (for more details, please refer to [https://www.xilinx.com/support/documentation-navigation/see-all-versions.html?xlnxproducttypes=Design%20Tools&xlnxdocumentid=UG1144 ''UG1144 - PetaLinux Tools Documentation: Reference Guide'']).
 
 
 
(*) Please note that PetaLinux itself works on top of the Yocto build system.
== Building the Linux Kernel ==
After the build is completed, the <code>uImage</code> file and the device tree blob (<code>system.dtb</code>) are located in the <code>images/linux</code> directory.
===Device tree handling===
One of the most appreciated features of PetaLinux is the automatic generation of the Linux Device Tree including the nodes associated with the IPs instantiated in the PL. When used in combination with the Device Tree provided by the BELK/BXELK, this generation process works as depicted in the following image.
 
 
[[File:BELK-PetaLinux-DTB.png|thumb|center|600px|Combined Device Tree generation process]]
 
 
In essence, PetaLinux combines the original Bora/BoraX device tree (<code>bora.dts</code>) with another auxiliary device tree generated on the base of hardware description file (.hdf). The resulting DTB (<code>system.dtb</code>) provides all the nodes required by the system to operate properly.
 
It is worth remembering that the user can add further customizations to the resulting DTB by editing this file <code><plnx-projroot>/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi</code>. For more details, please refer to the ''Xilinx UG1144 PetaLinux Tools Documentation - Reference Guide''.
4,650
edits

Navigation menu