Changes

Jump to: navigation, search
no edit summary
== 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 choice 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 image released with BELK/BXELK with PetaLinux build system.
The procedure was tested with the following configuration.
|}
It is assumed that PetaLinux is already properly 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'']).
== Building the Linux kernel Kernel ==
First of all, set up the PetaLinux environment:
<pre class="workstation-terminal">
[INFO] sourcing bitbake
INFO: bitbake virtual/kernel
Loading cache: 100% |######################################################################################################################| Time: 0:00:00Loaded 3234 entries from dependency cache.Parsing recipes: 100% |####################################################################################################################| Time: 0:0200:1403Parsing of 2446 .bb files complete (0 2410 cached, 2446 36 parsed). 3236 targets, 224 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#################################################################################################################| Time: 0:00:2257Checking sstate mirror object availability: 100% |#########################################################################################| Time: 0:00:1321
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
linux-xlnx-4.9-belk-4.0.0+git999-r0 do_compile: NOTE: linux-xlnx: compiling from external source tree /home/dvdk/devel/bora/prj/bora1bora_1/build/../components/ext_sources/linux-xlnxfsbl-2017.2+gitAUTOINC+122565ec40-r0 do_compile: NOTE: fsbl: compiling from external source tree /opt/petalinux/tools/hsm/data/embeddedswNOTE: Tasks Summary: Attempted 2410 tasks of which 2349 1869 didn't need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
INFO: Creating images/linux directory
You can also run generated qemu images with a command like 'runqemu qemux86'
INFO: Adding user layer: /home/dvdk/devel/bora/prj/bora1bora_1/project-spec/meta-user
INFO: generating uImage
INFO: bitbake -R /home/dvdk/devel/bora/prj/bora1bora_1/build/conf/kerneltype.conf virtual/kernel Parsing recipes: 100% |####################################################################################################################| Time: 0:0103:5609
Parsing of 2446 .bb files complete (0 cached, 2446 parsed). 3236 targets, 224 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#################################################################################################################| Time: 0:00:1617
Checking sstate mirror object availability: 100% |#########################################################################################| Time: 0:00:12
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
linux-xlnx-4.9-belk-4.0.0+git999-r0 do_compile: NOTE: linux-xlnx: compiling from external source tree /home/dvdk/devel/bora/prj/bora1bora_1/build/../components/ext_sources/linux-xlnxNOTE: Tasks Summary: Attempted 2410 tasks of which 2374 2349 didn't need to be rerun and all succeeded.
</pre>
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.
4,650
edits

Navigation menu