petalinux-devtool Examples - petalinux-devtool Examples - 2024.1 English - UG1144

PetaLinux Tools Documentation: Reference Guide (UG1144)

Document ID
UG1144
Release Date
2024-06-21
Version
2024.1 English

Adding a New Recipe to the Workspace Layer

To add a new recipe to the workspace layer, use the petalinux-devtool add command. For petalinux-devtool add bbexample https://github.com/whbruce/bbexample.git This command fetches the source from the specified URL and creates the recipe bbexample in the Devtool Workspace directory.

petalinux-devtool add
 petalinux-devtool add bbexample https://github.com/whbruce/bbexample.git
[INFO] Getting Platform info from HW file
[INFO] Silentconfig project
[INFO] Silentconfig rootfs
[INFO] Generating configuration files
[INFO] Generating workspace directory
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:37673, PID: 3253581
INFO: Specified workspace already set up, leaving as-is
[INFO] devtool add bbexample https://github.com/whbruce/bbexample.git 
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:34627, PID: 3253652
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:33017, PID: 3253673
INFO: Fetching git://github.com/whbruce/bbexample.git;protocol=https;branch=master...
Loading cache: 100% |###################################################################################################| Time: 0:00:04
Loaded 6400 entries from dependency cache.
Parsing recipes: 100% |#################################################################################################| Time: 0:00:02
Parsing of 4477 .bb files complete (4453 cached, 24 parsed). 6426 targets, 381 skipped, 2 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Fetching uninative binary shim file:///wrk/everest_fcv_nobkup/kavyasre/_logs_/_zcu102_/_latest_/xilinx-zcu102-2024.1/components/yocto/downloads/uninative/5fab9a5c97fc73a21134e5a81f74498cbaecda75d56aab971c934e0b803bcc00/x86_64-nativesdk-libc-3.8.1.tar.xz;sha256sum=5fab9a5c97fc73a21134e5a81f74498cbaecda75d56aab971c934e0b803bcc00 (will check PREMIRRORS first)
Initialising tasks: 100% |##############################################################################################| Time: 0:00:01
Sstate summary: Wanted 0 Local 0 Mirrors 0 Missed 0 Current 0 (0% match, 0% complete)
NOTE: No setscene tasks
NOTE: Executing Tasks
NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be rerun and all succeeded.
INFO: Using default source tree path /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/components/yocto/workspace/sources/bbexample
NOTE: Reconnecting to bitbake server...
NOTE: Retrying server connection (#1)...
NOTE: Reconnecting to bitbake server...
NOTE: Reconnecting to bitbake server...
NOTE: Retrying server connection (#1)...
NOTE: Retrying server connection (#1)...
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:45519, PID: 3254607
INFO: Recipe /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/components/yocto/workspace/recipes/bbexample/bbexample_git.bb has been automatically created; further editing may be required to make it fully functional

Getting the Status of the Recipes in Your Workspace

Use the petalinux-devtool status command to list the recipes currently in your workspace. Information includes the paths to their respective external source trees.

petalinux-devtool status
 petalinux-devtool status
[INFO] Getting Platform info from HW file
[INFO] Silentconfig project
[INFO] Silentconfig rootfs
[INFO] Generating configuration files
[INFO] Generating workspace directory
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup/xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:36071, PID: 3255120
INFO: Specified workspace already set up, leaving as-is
[INFO] devtool status 
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup/xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:45787, PID: 3255187
bbexample: /wrk/everest_fcv_nobkup/xilinx-zcu102-2024.1/components/yocto/workspace/sources/bbexample (/wrk/everest_fcv_nobkup/kavyasre/_logs_/_zcu102_/_latest_/xilinx-zcu102-2024.1/components/yocto/workspace/recipes/bbexample/bbexample_git.bb)

Modifying an Existing Recipe

Use the petalinux-devtool modify command to begin modifying the source of an existing recipe. This command extracts the source for a recipe to the Devtool Workspace directory, checks out a branch for development, and applies the patches, if any, from the recipe as commits on top.

Use the following command to modify the linux-xlnx recipe:

petalinux-devtool modify linux-xlnx
petalinux-devtool modify linux-xlnx
[INFO] Getting Platform info from HW file
[INFO] Silentconfig project
[INFO] Silentconfig rootfs
[INFO] Generating configuration files
[INFO] Generating workspace directory
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:33661, PID: 3255405
INFO: Specified workspace already set up, leaving as-is
[INFO] devtool modify linux-xlnx 
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:43587, PID: 3255470
NOTE: Reconnecting to bitbake server...
NOTE: Previous bitbake instance shutting down?, waiting to retry...
NOTE: Retrying server connection (#1)...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:39219, PID: 3255502
Loading cache: 100% |###################################################################################################| Time: 0:00:01
Loaded 6400 entries from dependency cache.
Parsing recipes: 100% |#################################################################################################| Time: 0:00:03
Parsing of 4477 .bb files complete (4453 cached, 24 parsed). 6426 targets, 381 skipped, 2 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |##############################################################################################| Time: 0:00:03
Sstate summary: Wanted 74 Local 0 Mirrors 1 Missed 73 Current 72 (1% match, 50% complete)
NOTE: Executing Tasks
NOTE: Tasks Summary: Attempted 656 tasks of which 656 didn't need to be rerun and all succeeded.
INFO: Copying kernel config to workspace
INFO: Recipe linux-xlnx now set up to build from /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/components/yocto/workspace/sources/linux-xlnx

Building the Recipe

Use the petalinux-devtool build command to build your recipe. This command is equivalent to the bitbake -c populate_sysroot command. You must supply the root name of the recipe (that is, do not provide versions, paths, or extensions), as shown:

petalinux-devtool build linux-xlnx
petalinux-devtool build linux-xlnx
[INFO] Getting Platform info from HW file
[INFO] Silentconfig project
[INFO] Silentconfig rootfs
[INFO] Generating configuration files
[INFO] Generating workspace directory
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:40835, PID: 3258488
INFO: Specified workspace already set up, leaving as-is
[INFO] devtool build linux-xlnx 
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:39871, PID: 3258553
NOTE: Reconnecting to bitbake server...
NOTE: Previous bitbake instance shutting down?, waiting to retry...
NOTE: Retrying server connection (#1)...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:38281, PID: 3258580
Loading cache: 100% |###################################################################################################| Time: 0:00:02
Loaded 6400 entries from dependency cache.
Parsing recipes: 100% |#################################################################################################| Time: 0:01:40
Parsing of 4477 .bb files complete (4452 cached, 25 parsed). 6426 targets, 381 skipped, 2 masked, 0 errors.
Removing 1 recipes from the xilinx_zcu102 sysroot: 100% |###############################################################| Time: 0:00:00
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/build/cache/prserv.sqlite3, Address: 127.0.0.1:44009, PID: 3412224
Loading cache: 100% |###################################################################################################| Time: 0:00:05
Loaded 6400 entries from dependency cache.
Parsing recipes: 100% |#################################################################################################| Time: 0:01:15
Parsing of 4477 .bb files complete (4452 cached, 25 parsed). 6426 targets, 381 skipped, 2 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |##############################################################################################| Time: 0:00:06
Checking sstate mirror object availability: 100% |######################################################################| Time: 0:01:53
Sstate summary: Wanted 424 Local 18 Mirrors 5 Missed 401 Current 897 (5% match, 69% complete)
Removing 4 stale sstate objects for arch xilinx_zcu102: 100% |##########################################################| Time: 0:00:00
NOTE: Executing Tasks
NOTE: linux-xlnx: compiling from external source tree /wrk/everest_fcv_nobkup//xilinx-zcu102-2024.1/components/yocto/workspace/sources/linux-xlnx
NOTE: Tasks Summary: Attempted 3639 tasks of which 3581 didn't need to be rerun and all succeeded.

Building Your Image

Use the petalinux-devtool build-image command to build an image using the devtool flow. This includes the recipes which are the workspace directory. When running this command you must specify the image name to be built.

petalinux-devtool build-image petalinux-image-minimal
Figure 1. petalinux-devtool build-image

Resetting the Recipe

Use the petalinux-devtool reset command to remove the recipe and its configurations from Devtool Workspace directory. This command does not add/append changes in the Devtool Workspace to any layers, you need to update the recipe append file before running the reset command.

petalinux-devtool reset linux-xlnx
Figure 2. petalinux-devtool reset
Note: You can find a list of examples at https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#ref-devtool-reference and https://docs.yoctoproject.org/ref-manual/devtool-reference.html. Make sure to use petalinux-devtool in place of devtool in the examples.