petalinux-devtool Examples - 2022.2 English

PetaLinux Tools Documentation: Reference Guide (UG1144)

Document ID
UG1144
Release Date
2022-10-19
Version
2022.2 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] Sourcing buildtools
[INFO] Generating Kconfig for project
[INFO] Silentconfig project
[INFO] Extracting yocto SDK to components/yocto. This may take time!
[INFO] Sourcing build environment
[INFO] Generating kconfig for Rootfs
[INFO] Silentconfig rootfs
[INFO] Generating plnxtool conf
[INFO] Generating u-boot configuration files
[INFO] Generating kernel configuration files
[INFO] Adding user layers
[INFO] Generating workspace directory
[INFO] devtool add bbexample https://github.com/whbruce/bbexample.git 
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup/project/_20221015_/xilinx-ac701-2022.2/build/cache/prserv.sqlite3, Address: 127.0.0.1:37373, PID: 24861
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup/project/_20221015_/xilinx-ac701-2022.2/build/cache/prserv.sqlite3, Address: 127.0.0.1:46781, PID: 24937
INFO: Fetching git://github.com/whbruce/bbexample.git;protocol=https;branch=master...
Loading cache: 100% | | ETA: --:--:--
Loaded 0 entries from dependency cache.
Parsing recipes: 100% |######################################################################################################################| Time: 0:00:48
Parsing of 4462 .bb files complete (0 cached, 4462 parsed). 6498 targets, 1093 skipped, 1 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: Fetching uninative binary shim file:///wrk/everest_fcv_nobkup/project/_20221015_/xilinx-ac701-2022.2/components/yocto/downloads/uninative/126f4f7f6f21084ee140dac3eb4c536b963837826b7c38599db0b512c3377ba2/x86_64-nativesdk-libc-3.4.tar.xz;sha256sum=126f4f7f6f21084ee140dac3eb4c536b963837826b7c38599db0b512c3377ba2 (will check PREMIRRORS first)
Initialising tasks: 100% |###################################################################################################################| Time: 0:00:00
Sstate summary: Wanted 0 Local 0 Network 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/project/_20221015_/xilinx-ac701-2022.2/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/project/_20221015_/xilinx-ac701-2022.2/build/cache/prserv.sqlite3, Address: 127.0.0.1:46509, PID: 25587
INFO: Recipe /wrk/everest_fcv_nobkup/project/_20221015_/xilinx-ac701-2022.2/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] Sourcing buildtools
[INFO] Sourcing build environment
[INFO] Generating workspace directory
[INFO] devtool status 
NOTE: Starting bitbake server...
NOTE: Started PRServer with DBfile: /wrk/everest_fcv_nobkup/project/_20221015_/xilinx-ac701-2022.2/build/cache/prserv.sqlite3, Address: 127.0.0.1:39075, PID: 29287
bbexample: /wrk/everest_fcv_nobkup/project/_20221015_/xilinx-ac701-2022.2/components/yocto/workspace/sources/bbexample (/wrk/everest_fcv_nobkup/project/_20221015_/xilinx-ac701-2022.2/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
Figure 1. petalinux-devtool modify

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 (i.e., do not provide versions, paths, or extensions), as shown:

$ petalinux-devtool build linux-xlnx
Figure 2. petalinux-devtool build

Building Your Image

Use the petalinux-devtool build-image command to build an image using the devtool flow. This will include 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 3. 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 4. 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. Make sure to use petalinux-devtool in place of devtool in the examples.