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 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
[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
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
petalinux-devtool in place of devtool
in the examples.