From patchwork Thu Nov 6 09:11:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 73857 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07BB0CCFA03 for ; Thu, 6 Nov 2025 09:11:46 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10740.1762420299874534541 for ; Thu, 06 Nov 2025 01:11:40 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=KBtt2B4S; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 190CBC0FA84 for ; Thu, 6 Nov 2025 09:11:17 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 256526068C for ; Thu, 6 Nov 2025 09:11:38 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 894031185079E for ; Thu, 6 Nov 2025 10:11:37 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1762420297; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=vTvqDLemjD1D0IF7YWy+qpL4NnCshl2wbhDyYZKQR24=; b=KBtt2B4SrT9kKTKgLOBieluTgrGL32kVf1May58FkY8n4dqpr4dTO6sFdl2+GYKwdYeeXo I20oTeYGQGyu6a3v6X/o/UrNYDe9yl7UJGYzG/xXpzpsvqrEWPeqQ3CvYc/qdmCS5jTSUo ng7v1vcPdlQKlD3ij699TBcSgaAwLLbE9LKrjJEihFEGnkiAbEOr4CdPxq7uC7A1AlXfmC xT8pKB+lB6qEGNLEa3xJYPCFxzE3jDjMyj6BTLwNhCevMaxLHIF7JPfyQ5QMDXynT0v2qr x8wieR1o4dV0WJJVpgWDeRiGtA6qWr01dajguuJ9RbUyD374QPk4fDRYFdMPrw== From: Antonin Godard Date: Thu, 06 Nov 2025 10:11:18 +0100 Subject: [PATCH v3 1/7] ref-manual/structure.rst: update the description of local.conf and bblayers.conf MIME-Version: 1.0 Message-Id: <20251106-bitbake-setup-v3-1-97db90f85f84@bootlin.com> References: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> In-Reply-To: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> To: docs@lists.yoctoproject.org X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=3807; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=gdbMIaT8ylYo2ppsiz5Rgx8BSjVnTSzjztmlAsSKNhY=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpDGZGtRhfi6jjXbmZXuKWkC3Xts9SXOBz8ri4i eNMoSelPvuJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaQxmRgAKCRDRgEFAKaOo NkhTEACP3skaMvho2e62pYC2PdMVYapSB68/qPJ+KWSXrv/Tg7ipLaBaN7GVSvuo2FHVQKDijWi 7C53f4cdKSjREckV2EutAwXHECWc8wLzYKCeBdgXDtHz4UkTe0eyAUzaGjtMd60rcFmIyuPZmNc GxPTbrqybmFVyRR2CDPItUvoFQLk5GeEX/VLpRlE9M52CH/e2fqQQo8CCQqhoZ7Xn91d+KgLRG/ YPQUyoEvnOo43CZomX4UefMkoV0DRaegN6+NARalzTADxOgHN2LB2+iuKeQR7WYhCMpHiLUzCIT kw775BbCE0SIpyMwbVee+NqtvaZnNzfpCPvOmSjcSS1xOOuupUUfuL8bV8Ql/qZAVHbn++E0j8X fpgrPpEif/d42DDimatO862YwYrqfZsCXRa5PdlhGFCBgfITKqsrN+uLzWlhopVxKxqOwE/bsOH Alj+nXMP1ZVHwxQjRd4U8cAJvkk/dGlKG0pVxDXJ1dsPl2cBmetIOnxwKDWWKSRvpHglDzm7ADn LXtIlbgSwgWWzSQGM0U3kuCRAzhEWAyQjKPHKlwejFJDCHMuiLIeXR9DGPsC3rTIhpN/uD850GK DFxdP31RwMFLCwdIrdL4a7OOS/cA2AoSdwpn8g4GjacX2NO4NtMUHthQ/GsAMzZ06eIj142Nd4W Fbg/n4QjWRKgo9g== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 06 Nov 2025 09:11:46 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/7998 The local.conf file is now mostly empty with the default way of setting up the environment (with bitbake-setup), and this file is meant to hold local user configurations, rather than an extensive list of variables. Adjust the description to reflect the intended way of using this configuration file. Also, for both local.conf and bblayers.conf, rephrase the current usage of the template files (.sample files) to _not_ imply that it is the default way the OpenEmbedded build system sets things up. Signed-off-by: Antonin Godard --- documentation/ref-manual/structure.rst | 36 +++++++++++++++------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst index 2640f461d..a2f2fd450 100644 --- a/documentation/ref-manual/structure.rst +++ b/documentation/ref-manual/structure.rst @@ -269,22 +269,19 @@ This directory should not be shared between builds. ``build/conf/local.conf`` ------------------------- -This configuration file contains all the local user configurations for -your build environment. The ``local.conf`` file contains documentation -on the various configuration options. Any variable set here overrides -any variable set elsewhere within the environment unless that variable -is hard-coded within a file (e.g. by using '=' instead of '?='). Some -variables are hard-coded for various reasons but such variables are -relatively rare. - -At a minimum, you would normally edit this file to select the target -:term:`MACHINE`, which package types you wish to use -(:term:`PACKAGE_CLASSES`), and the location from -which you want to access downloaded files (:term:`DL_DIR`). - -If ``local.conf`` is not present when you start the build, the -OpenEmbedded build system creates it from ``local.conf.sample`` when you -``source`` the top-level build environment setup script +This configuration file contains the local user configurations for the build +environment. + +You could for example experiment with setting (or adding to) +:term:`DISTRO_FEATURES` or :term:`IMAGE_FEATURES`, or adjust build +configurations for specific recipes by setting the :term:`PACKAGECONFIG` +variables for them. If you would like to publish and share changes made to this +file, it is recommended to put them into a distro :term:`configuration file`, or +to create layer :term:`configuration fragments ` from +changes made here. + +The :term:`OpenEmbedded Build System` can create it from a ``local.conf.sample`` +file when you ``source`` the top-level build environment setup script :ref:`structure-core-script`. The source ``local.conf.sample`` file used depends on the @@ -321,12 +318,11 @@ which are directory trees, traversed (or walked) by BitBake. The ``bblayers.conf`` file uses the :term:`BBLAYERS` variable to list the layers BitBake tries to find. -If ``bblayers.conf`` is not present when you start the build, the -OpenEmbedded build system creates it from ``bblayers.conf.sample`` when -you ``source`` the top-level build environment setup script (i.e. +The OpenEmbedded build system can create it from a ``bblayers.conf.sample`` file +when you ``source`` the top-level build environment setup script (i.e. :ref:`structure-core-script`). -As with the ``local.conf`` file, the source ``bblayers.conf.sample`` +As with the :ref:`structure-build-conf-local.conf` file, the source ``bblayers.conf.sample`` file used depends on the :term:`TEMPLATECONF` script variable, which defaults to ``meta-poky/conf/templates/default`` when you are building from the Yocto Project development environment, and to ``meta/conf/templates/default`` when you are From patchwork Thu Nov 6 09:11:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 73858 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 08BCFCCF9F8 for ; Thu, 6 Nov 2025 09:11:46 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10741.1762420300025697305 for ; Thu, 06 Nov 2025 01:11:40 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@bootlin.com header.s=dkim header.b=e/sfw+DN; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id A92D7C0FA88 for ; Thu, 6 Nov 2025 09:11:17 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id A80C16068C for ; Thu, 6 Nov 2025 09:11:38 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 29011102F2506 for ; Thu, 6 Nov 2025 10:11:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1762420298; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=kGpj9YbIu1JYl0xvHnkrfSczCaeMOrearn4lKS63t6s=; b=e/sfw+DNtC5vKSIGZ6OkrRXxbp6X4m4Z0zUrUIysj78Jy0R0HZm16kXV4T3+lUl4/PyJ8c lTGrSyCGZ42p5Yi1D6e3R63Bd57hjx/rEcwNL/ZhV2AcLprip8H4dr+8xO9Cjm4B/onYmn 2UCb6MVt77EErW19u7EomNa2eJzjjKYQyqnWbsqnSMR+aJ50mSjKhLtP1urSqz1txtKLu1 fIVkdZ5es+6ElIvpcg/gdt8QvbCurA0aLQ4CECIh/yPynx/p/ChlbALvaGtlJ5rqqRziG7 UGCjMQzA5oSLawweOz1t/8YRgRtftXjHW+l9ID/X9+VehXIdHAP8lqsl4uhTnw== From: Antonin Godard Date: Thu, 06 Nov 2025 10:11:19 +0100 Subject: [PATCH v3 2/7] ref-manual/structure.rst: document the site.conf file MIME-Version: 1.0 Message-Id: <20251106-bitbake-setup-v3-2-97db90f85f84@bootlin.com> References: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> In-Reply-To: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> To: docs@lists.yoctoproject.org X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=2177; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=RlLGG7QqyIDv673TmVZfXqhu2AUmWa9mOWK+wBaLUYE=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpDGZGvQAxHKInQtSFg/IFMPzJAMGnIX6yi3Pz+ deT4kWfhtGJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaQxmRgAKCRDRgEFAKaOo Nr9ED/9QQnC9frEYcD0bJzA+gqMImaG52VjtCL6FacrNxBnWkpTX1AY/pvE+yUzsiLEAYu8p9bj 5Ndwh7RJtKvBW56oEuK9EPETgHEzpwOWFIUkC8DiC5ZjIVyi+DaT/Jr4S6EKFD+ag4hHKlhKJtu qtlYewWQxPIZQu3vOaqzSHRdCydnj91DVEakWOoveTWtS+PvzyyWFxOLuu90a1cvd6VGxv1fglQ W6BMTcgGKuiUJxKdAKnP6AKrSnJGbwEa3UsVdG1ACK4lBd4gguNs3g1V2mb0bTHU8dnv6ggq5ME xpXU5sKBC85kNfH3CDW7NdbFuhQbSp+ZKuCcwt/cJVLS3t4N2LjCDnS7WeMSyw/jNLUMPhjSErL Sdo0BjY462Cx4GvRhjzMwBWIR7c6t2p0fLnk0qz61pauKd/c54q2kFfqyYD7IJPIs+iyScPsJCU nnjNI8X1gqNPStO3TPlf+NHwZWOLIHQsKq3qdsfYs513xEWydx/ysCdK45NyDr96lDgEDY6CkX6 iTVuXss7gIihCEJdGigOI/KN9Suv/c4AJvbxd6Ikly7W0dYfe4q7EJ9lFWCxtLmu1vjtJ9y+1KD 4w0X+A9Oec+r4tuY2C6mIjwZpujnmYX4/DpNnyJwsgRjgg5mexm0Ktwi0Qyzcvjna2tXBdy/YT8 uLaOUJdzxkT5G4w== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 06 Nov 2025 09:11:46 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/7999 This was not documented and its usage is going to increase massively once users start using bitbake-setup. Add a description for this file as well as an example on how bitbake-setup shares it for multiple builds, to insist on the "site-wide" usage of this file. Signed-off-by: Antonin Godard --- Note: a link to bitbake-setup documentation comes in the next patch. --- documentation/ref-manual/structure.rst | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst index a2f2fd450..f0205f0e5 100644 --- a/documentation/ref-manual/structure.rst +++ b/documentation/ref-manual/structure.rst @@ -343,6 +343,35 @@ Once the build process gets the sample file, it uses ``sed`` to substitute final version of the ``bblayers.conf.sample`` file in the ``meta-poky/conf/templates/default`` directory. +.. _structure-build-conf-site.conf: + +``build/conf/site.conf`` +======================== + +This configuration file contains the site specific configurations for your build +environment. + +You could for example edit this file to limit the number of threads used by +:term:`BitBake` (:term:`BB_NUMBER_THREADS`) or set the location from which you +want to access downloaded files (:term:`DL_DIR`). + +This file can be shared for multiple build directories. For example, +``bitbake-setup`` makes the :ref:`structure-build-conf-site.conf` file a +symbolic link to a common ``site.conf`` file:: + + ├── poky-master-poky-distro_poky-machine_qemux86-64/ + │   └── build/ + │      └── conf/ + │         └── site.conf -> ../../../site.conf + ├── poky-master-poky-with-sstate-distro_poky-machine_qemux86-64/ + │   └── build/ + │      └── conf/ + │         └── site.conf -> ../../../site.conf + └── site.conf + +This way, site-specific settings can be shared for multiple build +configurations. + .. _structure-build-conf-bblock.conf: ``build/conf/bblock.conf`` From patchwork Thu Nov 6 09:11:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 73863 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1C2F8CCFA19 for ; Thu, 6 Nov 2025 09:11:46 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10742.1762420300650553562 for ; Thu, 06 Nov 2025 01:11:41 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=dHIlVWTW; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 4EBBFC0FA8A for ; Thu, 6 Nov 2025 09:11:18 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 5BFA36068C for ; Thu, 6 Nov 2025 09:11:39 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id C15991185064B for ; Thu, 6 Nov 2025 10:11:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1762420299; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=yvxUVyawsOW1OXfpZeYvh/yT9CzyWNGbllf36LJzVP4=; b=dHIlVWTWLQl+9odjZ122Y+KGo16nJ720s4THHL47/ISDi1E20vcqTJJwbd+tkRjlOmk49u 5zVbW4UTdBVQtSaEkpZTlrs9VTwhDezNuU3s5EG2zbjqgEI53BIp8XtZjiCDjUI4OK4Xz5 bxLljEfQtdBWydnGgqz04/aQEAp69zYUWBVyurfwgZzXAHoZ5STp3IbpO4T4Qvq1/kr4HL 19eOi0xVNYm+O+poi4y1Jx/mzRTN+Ua+ESPeJCHPY19DXOP8MinW8L9PRrziwIA6dJ8XT7 MUtLVR7Hp93c9P846iFAtuInnRaWaMM7gTrdbEgw2Qjd8bv2k+rPV/fWFQvXHQ== From: Antonin Godard Date: Thu, 06 Nov 2025 10:11:20 +0100 Subject: [PATCH v3 3/7] brief-yoctoprojectqs: delete unused figures MIME-Version: 1.0 Message-Id: <20251106-bitbake-setup-v3-3-97db90f85f84@bootlin.com> References: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> In-Reply-To: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> To: docs@lists.yoctoproject.org X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=31703; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=5vw3MzC9vS2xETi4v98m0uhpBhegzW7UZZavRYScrsk=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpDGZGggwzZ9jvIkyQ+spiJeuovgrtSa39l+iTJ B7u88VXOOKJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaQxmRgAKCRDRgEFAKaOo NqgbEADH5lpwNMjVU0ZChsNtBoeQ14CFreisFIUiIbG/MLnVnpfo2aWvRQ1eiuHFRvc0nsl1MYd rUNyhSSoIXmb/1cuONz26uIECzsVamS1Ge42w6BJAO4v+CcM4WgJoGwIgQU6iQFLPv8uT8A7hkf mU4dKCEpIf67YuUcw/qHwmuQZsbfmXfYmW6XVQlyVxH+r06N3iryqDJjg9OwgpygiRn64VXsURA eTlEhSiaJUlN7Hn1Ie76T6nnpSFWAGdC8TRDvD4tcRnORg189UPBlVmNvkqA4IjGc7qsiLTEdiy XZNuBTNAnPXJTaTFRsEz6GnnfGwTcSI20OYce4xrgKgAdDNQTa8BZ7sczzgtYdwNcHp8TdOPkJ7 w1o4aPaaPxf0/PCWoyJVOSKq3G2ChwJtJvZ0E6/QG+81KXosvH24GNbQFGZHAJpJzWXMlp0uNY+ zlHIAds9s7VFz8/xJioOTK2DfDE5LPBJI8J/kLiPOHuStGTDBme/6Xs70MTaEh9d3tx6DU1qOgB qRZs+XmfpxQuZhHktnEtvqpI1e7NjlFZ+K0MPor+xIRK+/QTm4xMQ1TxzAw/DgnqWCn0G4MeSyy IT0hc4Ld6Im01FXuR1WZK6OSgbaXb/0/OB4X8DzMeKriZoT04K6ybB9yegNtARAYtdm7S7SDki+ RVoTNixN5WIkAIA== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 06 Nov 2025 09:11:46 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8000 These images are not used anywhere in the docs. Remove them. Signed-off-by: Antonin Godard --- .../brief-yoctoprojectqs/figures/bypqs-title.png | Bin 14312 -> 0 bytes .../figures/yocto-project-transp.png | Bin 8626 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) GIT binary patch literal 0 HcmV?d00001 literal 8626 zcmeAS@N?(olHy`uVBq!ia0y~yV3J~BU^v6U#=yW}>d0lwz`(#+;1OBOz@VoL!i*J5 z?aLS#7$i$vBT9nv(@M${i&7aJQ}UBi6+Ckj(^G>|6H_V+Po~;1Feuu4x;TbZ+=&$$YVr*9T&wQ6uu7btDwl3k$qibb@NDe!cr zNx;O~#${s02i90!*&TWI!qj6zQ%`XmJN(DBPX2&bsGY=;-8+BgKU>ev#=yY#^WX9L za@*rieLMB<+x7i6OI;ZF9t*lMFl-10 zul?VuY_=ZS@?PitKc>q}3=9DxQn}BouEy2p|KFLlKC*hMu+I6Qd$p;j7wy$EGz7V0 zj=F)~?bo%x&zDxG?v)n}ewCrx9Qgh$>QjL$k;bUNEczSWBYa8Yj z(kZX8&tJbxcm1lryZ+pc|Nkj7h3WO8zeewCPyegF_WOTsb#B%F{gTm=3k6TWj?IlrnvUjr;52NCZ9MOc;=|% zne#iIx}91)tv%on-``x_rz3<+773@_K5b(rn-=c}!@rJAmFG^i7{+!Ck*89nO z=N{AF#@63WWoF;q(f4QXx+9TK(yh9ZPaU2)}SZMd&JA#qVlxv^i*CZ639-qQJCN9UPDkw+$JjPggV zKASFbHr;im>f+O$OP#ZfzMV`T(#m(;r6!y)5@ zf#=d6kwR=?t#J6oJNTTn*c zVEG0csSc%3X}{`T-L;`w_wye=UMMUov7bAvcy~$Fr6%WB8@!{_*$(v1y~%S-D=u6d7tLAP3Ks)J!yr^MBeCw8|R!#F*s>*%WUT3eQv%V zdfc+J*ZV|C_BhwD-n_uTlY3+7UB#)FZuTA$)VPyioPf3YnR_xBa$D{@(UJ zEaAkt-J(j&GPiFny%Cjp%rx`HudZGWjSkn0j!&ya?Dd6P=TterQFF=MSR^{}c6#pm z__J>-o<@XAmE7LfpC^9Jno0R^YNPl5YjOK$+`d|nymjkLmOcAV-cjSwHL05TJM5$J zbmbFS8Owy{rW&WL%v!9|m83Sk<7t*lpehq{&5hf_f)b}Y_iUPL5_>v8rA16?($x!Z zIMOwxi}U9-i}`JmG@24H`{mo|3HQtAW>syO-Y8WZ!dZCpj`7CrE7wMB+P7%Z&JKZ~ zjFPzv6<2@!y?OSD&61Z2!i2Zy&X%j4J!!750W<5v+;eeN7`=M zCM{Dh#-7{hQ}Afsw;+AfjjFs$)TI1QH+ERm^dD|#P-<>?5*>fhz|&;Gg$XC3t+@l$ zt{80HESYsX^ScY%ZYMPrGnb6pRi{@fIi$E8JTu`Yhq{SN&W*F%q>i4~7dn;YGW)E- z_T)7kJuOGtTzsWp@d`+G^ltq8;t1cSpmzoH-S1f>pG%84E?Bf{7lu2emopn}vD5?Y-#x-L1A~k4eB;9+zc`CMlfR9amMeGh1E< z-*es+!M$;zfRg5oZ|9VvW;ZA;*5|Re{ zzcg8RQT^_8Q9@OV=d-D>vztZ7-m${a6*zULb z{y;m-u3h=4{$AmO8$UhKp0U1AiU0hHjM=pj*=Z&z77A*MqBE7ASL}GVA!l#e!b`1> zHat7__d>wC$5+BVV|UN<4)&gF>z>kZc6x80Jmj3#M za+=;|ULn?yrNe2p#&*Zl6XNs2Fgd?Wmb#S#0ug^IE(mRWQt zt`%_u-=EBCTu*KW$Ih2@d(v4$o#G2P@o5nwM%9(JLL(xP=MtT0sg5{B7YUg%J z>d72e+InTT#e_o_-=6k(e|4iWR0q)GF_}COz%BAmL!WdLz%2s~v@TZQUAm zGhZ2b%>42+iD|i4*x|sCn-YA7oBo!SKRn@fDrEc0>Cej)xr+KG^DCIB7+rg_B>h-% znDeu?l!+_j!Y3A9ihi~2{QpZkEWfPocp`WI&g9Pd4-7qCt#E!jap4Q?H=nO}PBC|S ze86M##Wf!1BYDsI#b)2r z$Mm-){ms^Mca@nfzGRTH*uHv?jCYETv;D1a6HmTdz5Le2rJH1Pc^@A%$SDtZtH0k< zq%-@#$?A;XT{Ah07wI@TZ<3m&`S#G|yqsC*_JnmgYz;2<&6)j1w^x;8-CO-Y1pWqwO2xa_nhD?~TB)WI@NdYk3>~_vO7gTzYGt z!EqL5PG0uN-qyu;Z89N6WMb{>$*trP0qumv-sL`*km4Q%W41K@HHZA)|-!_^QYXt z-g9<06BjT0@e|qa4cBYNB%Mw3S$X+V-T7wq$6bf7i?o}*<21nwjh z(|IUVY36*l(&x;_wjw#nQZ_~fjn2h$pC;=l2=Z*T%*)sLy?bkl!yisw@#81DBRU)< zR-_rryqVko*&&0$iFtSN8|mX^?>zle=1f|)hhNGP(A3HW%k`>@sDj+9tW=t&fgI;ltg|!E=B5%|F@}zEBaApnqOj)Ar2x%EtMt zEVs^8mA&F#=Cb(E!)E_YCvN+_+1C_XUS9C^dHt=cbETvYK7G4)om|zr8|J6{N=kip zX*K4wm9>XnPMO5AknsV#ue{~5p0;O|si)f+;~X{@&y$T*m^J^c)@;MYZS<7Vm*7JM0dD+`<>F}S-I^h-{xul8nQEFX7Zft;$z~Wq{BMIUB%zHf+u2JGY znU%rSY&G%YnKrY>s$K^lG7FZ>+Hfd)jnmqr8q<-I$xbvira zZ-WP?r<`Kl{OL<%FVFua4sNp<84kF&@dPx3ljfs+rBC@bNvigCbg(nrcF9mMQ4*Ir z6!f!hX>#I(AT#C?37NxlZ~bGQ(3i_3bNcJ~`acVFlbX4DuQ}eAxcieYKGjs{Y?{E* zIsSfv3>VUDjMeV1t?bJGYS1Kp>D`|2zISi6XCHL5KcFSn@P*~t3?rXewds;E87B&F zOnsy)ZZ_HQ<4(!_##?RWmfTAgt!qED$@N3tY`$B3`wRou)&G0!zSM60mhV*(C#!Gn zl)A;fE|ZISezCE|i{~~*sfsl(DmhF`+2%EG@i*K)m*oM&>Ay*jzs~e*@Oqah=XNE* zq<`Xh-$gfh*v~1OUv|1&*-|7ET>L|zz1Pq8!Kz=!4CO9e<7$1b{_X74KWjVPGB|D> zKank%wA52JJ9*ZO&lv?j1T1}*(1|QN=_LS-)|ar_42>{I`_x*pq9}8o9@rPeShN9 zjqx8fmQBw*dhGSJ3*5r~uPmw&6_6~+>c>owGZ^14sFP7HBT z2UQ;RS_jJ*r}myP3I2HW#`L0{5@wcZMbmXIUt6!-hNuWe*p zG&p!?Y`P#(%@%T7e4XJzme#fazb~6(CG)RY^`|SB$;{fFndd*pCOSA>K*Qj&%(mIR zrUnzgO;I!vkcxeL(a!B(z#@xX8{`Lu;^xQAy-m!hDVLNlOLN)Gho0t=&!}ovlj7JO_5+9~sOOs~b_voZY z%~4_YLz>(EF)f_v(UvG0EafxrsOyrTrFlCpeYARcMf6Ca^IS)Um^W)|#C8{dloLIy zrYtDM*EjM0a=+v|Om~kOKh1Ujo5bR0TAaWvwe8uVIC13_#s&9hW~Dp4-6yqQMQ+NC z=jDZU7q})%cU}#mUgjcLZeoKCZrW_>n2Qn)5bFWucaZol=8jXkrQ zr43(cXsiy}Y+ZTpRHEhK87*y(*}nX|XV|~h@=Vs5C6B$57A@@H3GZ7R)E5xbd3Yv= z%MrFWLOWNlygk<@{jHXRb@3q!r{pGHjc++_`yUr6Zh3PfRd_dZp^j0`PQ9sbuRguA z=-kWAZ$!&jQ_qGRb@NX-BU9_r*x4JBVUgpoS|p9nTF&m3jK`G68;sN!7iEU`+iSF>z3{(PeLsQP2G#oIbVpPVYrmFemcEjI3Z?%34#vNfqa+qzL_sjAo8 z-~XT8xOlVei_xU=x6?N4vN5{*ZuZByhs!Hc@91CL)>k^y%PRaCt7uW`Gc(b@R}Mel zm%sl>RFd*HVe6^)zuReT-0eT{2iNU$F?pY6#MC>wDfeY0OYE3cMW4;|`9`dM4{Uy^x!^WOAi$LA(MveQ|STw3~5e@%pLvB8{1CQi_+JPh|Cv z?BUxz=c~U*TP8>E_Ac28QOSHEV(Tt1s&(9E)VJAw@8OGE{F8XEZDbW{kKenvgyG(` zKiw-%Exl}G_B&#S&4mk&vNsl}+i%TD^$RKN=LqI)Qt94uAbd{f`QlBI!U9q$#_w`- zdY89dn|d?KI_TZp@SqBveQQeu%;&v6^Yzax#fyQbw_X&G3o4(vCwSe5ymik{?>M1T z8@I8f!(o!y?amEH9d2JelNEEK`uCQ-eh=cbuiY0G6n9Qt?)&9)p@3AOo3dxR@jH_} zz775FT->i`-j(@z=JUM6b6G3?wJu}siICw7^p4GY=aN5n!TI-p>c0OkZh!wkXZ1pv zHE*(nef`gzS+d5;(9Hf*-K)v+lr=D)UV0$UtW|~oS$JQNv zjnDdC{G%HkmA79Xcvt3UEPQ;^fdzfa3l96UUXSeE&;Dvd6T1uJGp@I59?yI5+TK6@ zz%xOcbQA3lpfC`Sewk4Izedinw)K?D(x%gE+Me0y%inC+`RtEWjce4tBpsLid$yW? zbYK0jFR#C<@Rau%OWxy(FCQP;VXt8j>ec=|PCbOr`0XZv_`rmu4xW}{*E7!P#Pyaw zEBGCkU!d^Pg0Jw0Wzyp~qi}2gQ+MX5E!?EB<-40>j)IYZlx@}P(^q>k&P?rOzNx7< z-#secyrcK-*JmF#?7#BI;pKsEA4EHNTH2b~!h93^f6ZfF_<5J?>w3w`+Q^L)C7e^_?eHQ+iQ81lAD|sm&-YA33PmtblC0GS(mrFZmU0zRr>nX z(~Lh_^2O$oiB~5)ynN-E$<)4_^`}?ms=d+f+NdkwkkOJEarKJd9bxvQ#Z$i?$=PML z{q%Hum56k+-vp%)N&s;M@a+7qN)%zn#KQC=uUty=XF#CDl-vfQ~g~g=Wa@w{DZ`2NY zrq*}1DkkB6w%xQZ%Psy+7fQV*Y;rSCvg+9;Ki3IjoTY2H`L|u?yt^^YX}1oWbYZ2+ zF5cZw7AX2EpI@eD@=o*qRL}JCBMbR5Ex%n^p7O&>_;_CDI%~%4*{>PY+1C5YSYLm~ zGo$DK>9bxQZHPVozoS^40GS9(~h zPx9#{mrwn$d}@-_Sm=M#MtHY(Xu+B#JeIYh3m-m_NZ%xR_}ta5UL`?wBhSW-%1rNH z>4q-cVRmYHwbsKQ_-Y#rb$CDMis+0D~tdxy1xK>npyt&?Mi_iS8EpxP`OPNnRd40#RW#7b%J=3i2 z^jy5@JxzJK(VJU`4BsxCR`lw~(KH{y^7S=hw$a5ewSOt`#y4KD(BN7vD!bs<#Zw=q z8qd7{a?hEG7mI8C*|#d5eYyAS*(X-ZoHNc$f9U(_O}E5-Rf}!GeH*Hs%CCJEJl=8F z*MH7my|j;SIeLS8KANX~jo#G4$-tn%*OYhTYFAJE6j!(HTA=acWjZD)lcs*NWb?kX zlYxQZqd>|Fmt!4U&r94m!8wD0fkA-tp0U*4lk;!stn_1GXyD}Ljog}W-8x%;WAxG; ze6kD-3=0=(8)YrtFYcVIR>fn(z`)@2ID6v5B;n~zoC_Ej7=%To`drzZ)fgBUf<>kF zURBj|Y1^CcDaypaaHM&U7$dTqUmkAXp-e}FevbzJD0JA z>G7#Maw*d+>%y#m7CTO5WMEiw_@pGSpoCfT#Oew^ZKI-Zrx_R+BsN}{U~9-FC^2(+ zdP*xN1H*xc*0zpr*Y}?|m6#bA5^|iJ&2F7?jd;>Hk9Q&?1A_tE!i&OU#Xo1U*6F#h zF)$pEXmQgv`lr7s-6@5EfuV+_%Y;*l>sG$oJ0|Ub}ck6xm z;R{08|I{YuZI*u>784UZhk=3N!t;acpw)$uG=Ow3*AY zp4-$bpWpAbAXx9rcJI@_zgSOl`e%0SZpHVTbN}vJ-=}APypApBle0qg&Nnwt8-AVG zY4CD;w!F0Nw0Yee3k5m(HJL0X%(U3DtkiG6hse}f7ov{+`139Djj`vJNWPAq+DD7C z-hb}@R@Jt%Pki>$zPicwLVLtmCZ$jTa_%=7fHHX28c~L^%Ir|#@FQ3B|k4`F)$`)kTyO*#0vQ(n| zL`C);etQ#{Hck%Sj#ZoU=HBl$lE-MxbNS3Ww^5H|E>QdfY29hE= zQ-6LFu)Xc6%U6(R_VmA6Q~8N<4$j{-H}^fypSxr3gI_0;mw$Y9z;E&F72&h>SF`T= zeridbSo@Xrb9qh+9p7uV$I_Jff#;NG?0;Ul-TL?}FZQ%Sl-l=~VaBze_4+nT{%qX8 z-Dr3CxjDh%4Hp_3-n?pA7tOwPQeR$pmHp;oSttGayC462tIj_XD9+4x;q=SHMpFz$ zO!JQ3Tvx`ifWK((-}~9@=&q)_1|>|+=N>+5SYg@!M|R%qzn?vy&9my|{+#>l#l96KdEXf< zTtsf%pZJ&Q8S}(@ZyL_G?Ql8P%5knXqVeOG8|SWb^?$3n9CyES!pfPm898`4=IUm! zS#7)#>HdMo`LM<7ZENZ+Qs?svw)||k5n*6yqIs%u+tw>Lrkvv9(GJtdbI5SW*k<$p z=Eax$RM$usKTEMc+3%y>DfM;A;$Hr2GMoD&-~6`Qe`$`-?R&4Q z9?X5QNKMe%iEuCnuka#m?#{5@$!m>`Lq|SY#!!IJx(urvafG%*~i8(o2{~8 zdsoN3eI@)&+2VAYyhY8tGu!tv>}XjiY|*au@Z2fBnL0M9$!W|<$Ddj=F({ZQL{9u@ zb1{8;V4_*0h)J|5vqOP|Rb%j?Cq@rV|13SG=H6*=IEGQdB*o;xj29J}GaIIub7`rC zr2G70X?QT2A-hFH@bpiBW~oS>3?viOQ*1**$L?rrTNfHENVTe31NoZ+vg- z5&eI*x49Xdm>;m5s+HZC)AOXeRyt$qrs@@3pW=>oo@XlDu)dG${5I}}3k*B@nKwx- zJ$`)Uw?8_;b<=9+Z*|R3(Kl&(CBd+e@xer+wi5x*7_L;;9ZidvH}|*YTiZHA=I1E| z3gJRZKOZ;T*ic-3FDR(t0t3hU4Y^^-!k#G+e6A~>ckl{I{(hErBZrN>XzAe#HjA8` zb51<$%)kBGyh}zvis2XEZMU}R^IXoiGh0<@o7LH-oog!*dC&iH22+YL*O~Vz)jum5 zEVd>+-X5HDqbq9TY`0gL=kD+qFrJQ1X7x8A+p<|EGhEvY_i`~Gy}@@r|Ye&@Ko zS!#XtM%-rEMSoOP`8jwSE?fPm@(+7FlV|gecNT9}uG;A`@%J{4_tPHS+9_Rj;_YSNqi5UuW~iadP)tzPDep>h}o+7QRZ?6_8rM>#S}t zbImaame{JAY5tcgWvX7>TqEB4%)P7U)DPKx8GL_ipLOlnJiYit4X-Mb6LUh(6lT6} zt;f$jUM9YB*P(R=m2wZYgw>YLQ!u;rn%)2Dv9^SU3k(()Bl*)zP0Y_(ZTP&Q*m+vo z|8onMr-**~c5mad1KiVY%*!#>m*u+R_Nr~6utNsJ9LJr{)8n?Qy)Tvf*09}Y-dmZ2 z7fVI%yH*L@3!9hk^StB?^NrK&f-Axb)`-4ZB9!=RZhxhhf$a<)uHbHt_OJyyPY-PE zpEv)s+mEu=M&DljGt+lU+&nNpPi5ELomQ$sIq6|+HfPor&S2$8JN=fO2TDS^S*Lu48xvXYR!1ZCPFJNMBKE>e^8rdo*zMR`2N5Teog~w`l9tFx{-zD;8f1{2mq}B2w7+ zh(Wzep({r+G4=1i3!l8-=?QxjefeDXv;F&%ou}{Gy1%PFZ`-Uq)r*q>1h@;o?qvos z7^0kXxIv7Z)(9~WeS>SG4v5|$niL756SR+P0?`M;I#L-K7#JGX3Y-S{lObAh8Y@U* z8vz5Z?VdMf$@|y~{19_=%sw9OXKr?Wq#t|fd*6%piTlbyrZ8;T_-Xr!*y`^utM$L| zK%DSfCvMZ18!Izv-?#o-*bB0p0f(y=G_F{)=1R%bHEY)Vx*>c)^2=Y46U!!hE!AFp z?ajU2=MNqFb7pral;V@QdUK^K ztD>T!iY(^bdb3ASfP*{wqki#=xK6!bW zyDlPVvqbTu8Ee3o1JFWQt!RDX#Iw#Mb4&L(jmWNkI_@|er-@N%a*duyBAbTQg=%Wgez$gKi|veg_w@(&6dTUz>uY|V%`yG1QuJ@n zzrVj$&D^l{J2-_pUFP=Ie0un#U(J8j<-e=E!Li$L zH)VA=r()oKo%d2AON!Q>Q@oqnyz_qe`Zsr0PR?oT=$tIKd}-zu^?SX0_}<)GY83tB zz`^zL`>$o3zLnUM`dlxn=2uRS+igQLvwbD+bf#x_{9VISI3E;DSH8bpvpz+9dHvd5 zYNmf9*_MV)5<0=w-kL3SLdeO;Xny(Io8F$TiG`k?2?ZT_Op$Ja!s?kIxmBxITep{( zpWzC)0#0|Y16QTl&-`-GJ=iY9{{Q)j-PNtFS9RLH${)DVRr3FwtexFG({4#gN#$dG z%hNY++0bEq*g!cvG&Hmz!ov3Mks~Ruf8F1^XU~~4XQsR{W=*}fz9UdM?d*(&HB%$+ zpWP`?-#PE!^<}+lqqePxJahJ}tYKM=t1GLj^!)Sth05dp+Fs#>I^*xR(?vIr@7!sFde&eLlkJ4J zH*HNc7406@_*`D*Ys!_fH6Sw5lRu?CW{ZKQVw~9o)fNkD>*L4gSQfruP~9A$F=ul^ z;@)>l#31?ZH7h%7U{vwCIA>nN>@)MM{mTlUUpreg|J-c`%F_da#r`^Y{w#aeBWkY~y5*+T^|j&oUS5ZO&am4n`Kt4NL1CGnSI6?6Go|0| zRGL=zyyOAr`wWh4|91wK6&|;*mXHoQcI@a$y`r6W(tKxM)5*KDr*+c*KP!c`+UITE zuwg;_=IU>6r^niqep~YqyaA(q^rQK7erxjlE7?FP2!e?&fE)6ME~S_Xd>}POf>(Vjdozot<5}@9v>PhprxV zHG6t}g{kTP^QTWQeiFa=Q+TOabhzEWBr8?bJ>mMM*WW77pSs9KA$CbkRmSE!4RrEjxHwo!;-jj*|cfXt@lB(j^N^vx21XS-nG5GIj4S{3{DYWes+rV-t423 zJf2F2+}!0bZRJW$RaYIc{XfrlPuEYqe7sL;>A$qs&GYBa|26aF;Zt#YR$R*w$*-wj zmGtF)>f--;(USv~{)>9$3^CjN%*n@_y7}eo)^KVhKYpZfb)9YXw+XR(YQD~Tv&gMc zXYrHU+a)jG-kKeKS~pwe?a9eed5uEL?EU=1i;u4G4$b_Tf4=@t@WaD#q_=M+1d0chmt4PUB+P=;KD=kw=&y7RIQgh(=h_+1 z>^^+`xbpVh0F$ZLkG7mH{q1_{e%lwH%CYpwmOzfj5Q}n0h*K5CjC0ViW{bHfMy8P;?{bk|$ z=#4QawW7^)Cd5whP?_&Lf8n|Ez2E<_Phs5u@79<9zBg~(3i?$4;pFmHIosCNnEoyH zI`u#>tG95sK@n%_yjJDvl~>RIf>a+;%kmD!zDz#CR?Zu=sjIbh=jO?ibG#n)O55v& zUsQXzI)DG-o`taurf zAJf0zVLqd`(!>(JmwxBxOgUg+9JV}f;g=n!kMF*CPqzN@b{`JG?xTXj_7$`K^%OS$ z=9Bpox$oxc9J!4VGD7#B7rn8($a_PD(-vJ35t zQ$H1PepSudKTS<_|NUB)P0Zgn$1ZJ4ly6Qc&s$JqYysn`lP4$grf@30V&Bv<;n==? z)05ACtgz|b_oe8KrD~&&V$1pG>Z(V!XWa8ye0E>qj~9ksURU%_{o1%!usl$2T4_na z4!L^A%b7X-Z*C{gXw-ogc9#y6KXqI9tMq1&@Aib8oSL^uch2Z9TRHjX>6P8C~^i9@gPxkvbFAuY%9~%Un*?#~2y;`_%*^+zRe_k$E z_rH8!r%%$-DCr7^zrX)f?Pt%Q|Nr>>ney?z;7hZA{??!Oy;gXpViB(xq<#yyba{TS zl)a!LCk4EjLr-3_6q#m;JK za_^hp?C{N=^|1uV+HO|1b^)g~Yt}qF|4&V4&GLQa>?ORA7V`$tTi`~L!S2%M=Vs0* z&i{8`b3yX=2?Bc47uG&I`{c=t8#~PZzrSf~vLV_1sqp!@y>+!;Z{2rQx_G7Ep6m6+ zSkH4$wZjFS(&|ko|GW5J+H4vp%O=g9n;eRvp`rCTzlx8)tLIRBm}r~sGyB!6SEqis zmUL~)vVbl4xI*@rAXANt44UKh19%1rfPO;2Yhr|t9AbLKd{?^~jh zcYDXa($!%-)*qI!vOb>9C-E&WFK*tc+TW#L^LKxLyIkentzAnqgX@2ZUzGgkBfMfd zD+2>VK-%eF_it~@-28O?+x_`>zWh8BnH~Q3)Qq>=pW3ssv(N9cv$Zce*(5*h&mNOW zlNRpU^~+ab_p|Gwj_>z4b5#EO^Yg>^V|5=sE?4K5EhsCymUMs0@mb};LHAfTZM>*{ zpJ%JKQ0KI@KU#%OoXT_e{E{;R68sHWeSCZ^0vjXN*v#I&TUxQ@aB4>KhllCGoQl@l z^Xh~_O}ssO&dFFiaY!1}xZHjBR(i7C&mMuIw@EQ)=LovFxqW_K6E1&$sXojXpOyz_ z|FeI;`)1dsTFc-64U?WU{rtl7UEW5e#U%Syh}p$^_x73n4!dloupss}@Ba14XAVF9 znDtqdjSn2b4N-b?I=5}u5HR!Yhk18v?BdyfGqXTsit=xrUUlZ%vb{M81t&Hb3iiD9 z-D_hzKRtDC)zrtYUIk6om>}Qn5d6v{XYGm=2FAv#&u*76+5!&T6~@i%JPIv2xBr>{ zU92npPoafJ%J9?4%gghFSeP8Y+x_KGWG{QWrho3u4bRM-JUlAq|M~N0){*)3u`4%S z)$d*q2kJO3IHxnm`uUBMle5ip{yg~0Ii>$iPVRO0zu#Vd(Le4pLu0nx=g%we-RpfZ zyXvyoHP@Fv*fu3+UVNRwY*i+6XaD_;!59Cw@lE&r{`I4z?W0)JzBX2HBay*i^M(x{ z3d+sR%)-=XuUz?Z_R)!l+v0Z4`*C>Fe6b5|JRCePW=s+I|NUM4H+dTuj+Zx;OO9>H z>@s`(@ZGz+C$wK(kC(82D|c({k}V-m6?NvAmp|OI)7^j0jXk;6ic9<})@RPIS))>a z-|nH-_RIi-a8SRI0hW!3?&DJ2NhaTbsh|$DL+#Y#O4E6FYESjv%;yndzGZdiyl)(@ zCTyvBe`x+On+g6~_`P~w$!FXV*gt*m6`SO*B}uM7z4!Oc`W|F=G5x{j)Yv_hTW{zv zY!FL|Z1~TSdGz(4+me<1@q5n+hD_yL>UQkdwP|5?d3|g5#{OMXAyfNao`Io3Y({eA zN`>4$)>n zQ$&@6%hlV%diPe9Wf<<7+&^FP&3_dD8EH_Wgeg{OdUHPO1rR=ssxRsm-F=KhMUt;@zV&S7-lK z`zN&N<*%ngU+X3^GDzvU=JHhhv#oZQ`BS~!L2v7;vNvtwy5f~9b7m@3*8ThwuewD) zTke~$aG0rsu;^Rsvd3;arwBOhNW1%sg|{f9VB(G?FP<#4Rev0vKgT$yYr5g9Cnd}4 z*6S6fJ-QhfIDLJ1=9aLZOJ6uMPJi!qPR4NgRM+O+*Q94`@=ot(kKgn8@0$+!TMITY zJlOA@7;$yPMf1yezwg_F(OSzib_gz9U+2P^)?|9wJa^APNm(@Cc%eBW> zRoCtl-n;zxwd1b0*2YaTtN-}xcf8L%p`_)P?Mh|VtzDh{SZU{r+c%DK`6f(RdFqd0 zQSsA5{b5@!B{nlp5n+%JQZ-$(CvEQ`clmoex5wyheNpu09moEa=e+97mRg!8|39%j zf8F!#zBjMlj`?Kt)N$6U9A4L_m-VL~Es43fe)hwA6MJ^oe~EO~ocL?^t|R`Bzm?wq z^`msHS4!J06r?zf(h#!9d~E zyeF1nzG8f3i}FbnyL4mY6FU52$T?>>c&@| z{r#ox`-^qWqD3ns4GWLA_ePhGMD)Kjoo<7x8`|9PZRaKHZt@J`KE}teR zxYxQT=l+W3*}aQ3x9?i?=H_Sdjppxix+=eP81f0Fp6S_j%iL&(oQ82%zyYZEK z_xY#%)z>>0N>Bgs_1xZau9YjrBKVgyO7Ci^W=axZQtITU5g6z&^lQ^ z$0GM>=U&z={#x>DJvHSej$ATZu_n+ye7eQkJDsBICG3s(+j4Kyj&8G$pJw!}q&#coi}Tm6uTD?+z1}TF zCvMl|%hs%@&NbLE?cV2Q?c0-oEO`>P z(Bt`TW`+gztL}Rg=Fa+OaN*$z#-G;tFXy^WKU~#v`_x)}P1{ZH*;3OSozC2szrAnc zsVLdZ(y(LQOM3P!Z+&|7s*v9N{N&un&mRiCc>X4=yKqrUDr;wd+_Dt$y;{OuJ8Gn( zrR(+k*ZIoGg!ZxP>)BOrj(GjPc6A-!s&x{UTjDH#eY&`Rljh5&FFia9>!ZIOGZvWo z^q9(0)u&+}b#iZS$+>p@c+AbJDqF=vm;Pw;$Jy!WoYq_^@~KDmjcnBKO4iD#tiLms zK40DKHLLjbBfnb?6)h9Y7OUlOhngxe9$)hLL&skI>%86K0rsanV?Hjp-DkE%J&Jj8 zZQ%yq`#X=atiQZ{e(lue9=7`!iBzPr7L%oXFq+}-l@poz*rg; zF1hvH_3Q^9_o_dM>+}-hi`y-FE4(b~?W#3LT(@V6GVfbh96d{G-%JnfPxEptCT%c# zcXD#pF`i>*Z;Qnyp^kkgDQ23ZcfyuwpI<3nrgo^TcNx#?tvj}_-~Ef1_iIh5<}K}mJB|G% zf4$w=nkW4#Z{fMrV_RkZ{Cn`w^S{ih1vLSMU*3Gap8F^Ff9$k9`>uX{+7XN4Rtg*)I_ktrU{xy2FExoqMVvFk9 zp4-2w&u4f&xAHqsJwLYQdgx-I%W~%zwJP`9EH^WraLFn1u$E?Nhj(({{8=0ATd%3z zFj?S!Bmc2Advq~pd%~eqh6zirP1d`#$WcANCW*XrHV*5qunNwa>u zw^u+(cV~&+uJcz`TwER}a=p^k?XOITt>LD!w+XJ^qEq*;`BA=phmCfW>*@ttqI{O5 z_MiV6sVRIyYteaOCEc?gJwIMepErBG5vV)6=#2gLysvYMA0_OIlKln>S~cC%H-0tj zbN|!$o^@-u^_~Z}OnPPBc=+q@ojb>cw}7|lT(|SA^3P8svJ||}+~&P$9unTT#!2nn zvp4H@PT??87XN>(THSVnYD>ty4(pq5SKqDQBOr9hH0gUIlY?yVXZ6PW+v?ZvyE0?h zuNV7f_y1qpF8b_FR6%Q)_7hp7{idHYmR?#lXY1+fU+zs`_H2iX{^aDUy1nJa+q&AS zLoK%-JNqyDV{B@3+uzq;|E-nY{rB&d1@D;ps;pL29WgCU-@)9?VtVzp%sk1rflD?y z=?IGc+4u62bLi~ruQ?}*Ej!jySN%rbbl+~P$G1A(e|vu-Sn%Ad@2`UVCj3GK6XyxYGhFL3p>+*@yd?P*@GXMMc$^kuHh z*0US=Q@;A>UER65{@%6+jfbAcI&o-LT9kg=_*nH4+w~k4hAh{+w`I<+J9?>Z+m$P4 zPHW5Ut87}gt4ime+SlaG9UB>a^5<|0?*C_7h z+*y9`!mLYE9$UN3(OWT_@9Ed#fUiDUDL>NI6`n0U_;A)GuMLa#?6P?K=~VivZELR! z2mRG5{Icms^sD@3Dy4_ci|1?Z6Zuk8x>DiXj_I!VO;?+}WtQCaT{Ai5z5T)2^J0X) zM(kHoyGBxO05*XQeETxGn$Mvgpw9-A0)!d!tG&-i_fb^{e=O;$9^G zl^sXo?$6qyym!i8b}ojm4u9t-)ctncduV0o=BBs5-=%tX?09gm>2vB8Q>oJE3vC;N z!oC<(-EZ%V+Phh2muaH&EAL|ru2F)UYyU^}w$B%jy-`+>?Dv+vW&Ql-Rr!lPmHe8) zDkGeJc^0>`+Pc5tm6?%;W{QNSN3BN+P5o2XxVbZmeO42*q81rna*o1v3Vz-uu52cqZE{`CCGU^y%ha5b z(0#iy=E$UHyK=wi>D>7B{ATtQuC%-t4b#?0f8Wri@&Da)c2QGR^P-}n59L4Vf8YD_ zE^pEI00|6M;+UHIB)R{uUBareEBGy3{C5@eEMV+zV| zt$WVH{~*lH_;|bT>q{rj&(Rj;3VMGhZsY4S-=1ITSZ4C_%Aw!B=Gzv1vs-^=&nH(M z-Fa$z${sRb-*emS#>E-h>uP39lG&+RmA>syt;469hx3*{-v43yIP@7$MX zoZa@q+rN87rERnLHskbN@f`Vb_T_!|zMRwiaO09=bI$#HT9!54*BE2BZ_T@uc=OlH z?;7@ZQlq~w(TllqG5Fgyt+gH2C0_+|SD$V3+hwus;_ZdUE0>+U#hM%cD8;b)x7$y_ zV_oZx$j^T8eV^?0OLy%L%@uHB;h$IM-fPw~yF9~sq2}WW!Jtg&SEB#VtTw2$Z+Cg} z&4_7XT~{+tUd%7Mf9Ut-z}Vy4iptC-*H%Qpx8%_^38%jeV)e*gPpwcoe){hj=DhSiTc+t13^r@mHGk-8ww#9+WO>+Y-y zzO~c7ZCs|p^-ev0(Kbh8Nx_RNEtBWOOx$VJXUDee@SMoM*-mq$WQ3pVFXMmf{<~Mq zen**s|GI0wQPciO|7Ab7>hG?HaZ@Zyc7)YUlsDPDAkXmed26P(_cO1b2c^e1OI{wA z%v025wt184Cv}*)b482`N8yW#il%vNBc7JEj zJ=AA*xa!+N|1+mI&o{9<;Hu|2t3a>!(jLe2;nS^Drbcc_OziAjIy>y^ts3v>>Z(-> zc6hMos$N;}`q2a~zr5ShuC*)Q{&;(xnN4F(xPQ6N9_Ii5D({r|=ROPw70alXR9aw{(8V>FN1>r3fZrhCDl_Rr^=tC(~N73yY(luj2_l zEc5)@++P98>Y10m=B!oUy=s2*s_;pR)Wem<=IuFhf#X1C&4RU3=5D*!@0T)gaeO*0 z&cEYHsMjgktVNeCSlLq_Ue4?2t+{l0%4(*Y0TJiJr$-%8V*Kkfb4Iqgu;KY5hbGO_ zTC>imW8#m}7@0}a!~1&s7jH>_P+DuBG;#mD=SEvT+**x6ez%G+@o7G;>)dzhcKVrVcmsXJs^l=C@x{b$AWDR;Pi+FVPr4$5rlkh^X8+j~7qOeiU$By#`R&D;1)8&G-u`X- zr+d?rM;5}jUj-RnTy-?kRyIUebbjaFf3xmsx@zfF#?F{iRsa96(6LpTi^UE;jtQO5 zx>(FM{fFkPRo?s6m;5@{8-B%vyI-N2l|A*%joXtqdzQTjEc~`o=iv%5)3Z8Xs!Lb8 zYKa;3%sBcu+p0ROay4{D#Njm!I@}zmW3@a8My)E^) zyzScysp2=A7Hu!dbF?oB2#{CN++R80u5|h1hGS=vFYHTvc5#WWzNXv0TPq(`rnPN& zd3)zdm8K^qRqg`I@4e$%CB8H4u-zO3pO5BQ%jWT|+Sc{|R^=o8-s_v@+U?sq{nc)z z<=!*q&t8=C%T{sGq$A>6Zlz^cySp}Wx4(aw<`zWxHy>zj0kL{Jhc>ZuEJL*!>gB*QO=D zKYZi+nsZk#JHBi#|6l&xJTQHd#_kWty42mTzvmR3w(P>~d#T62&zQC%!#Gs+$~S?? zm#SBfe0zJpt!};E*Mf?g4jtEm)l@@WaBmVSF&)03|x}2kGKVO))UOsqH z)ocBIu#!IQTfjvtlv?~bN$S|US7`y_WH~R z>ZgXSePO9~@bIp3%lam>V~UFF949h%)wj4bnf#iqn9Z*KbgGO^vAwpFhPgrD%gk7iY{IM z^5OcGtzFeB*KbT*m>X5Q2Bjd%_{M{>}S0*PuUSToi>U&PX z@bC;%+h&=}%1Gbk#((2tUp<;xc`;ht%UfP7Tlh?v_;cekP6>&NpZs)9FNu&jW4uY_ zUB9jRiv9LM`!-LGO%^{^&!@Y`)`|JnSqXEa#J6i6JKMgfU-MGEe{F51M6>S-|Cmsh z`SXq(@rm5-s&{|lUgimm4z?GzEo)7FlH&ef*R*KM;`2gZ>xC9hNDNX{PTtqG_rVN< zoX{A(s%rO%9W%^VugDI%yJ~s!CE4uxlJPb3jFcBF{dISf?-`Np1{XeaPBe<+nYC)w z3eJUJt4mj&KCx-4tnJsYTWxfo&7CTi{#^7z(9b@kYyUse*!}mcBi%Dx|8cNS(YRj25)y&UV7e_M>w1LK>f_T`%*^t^F!FRgO2IU`Coq~ zpmkC1e(~O`mmRNa_igN+?LL3PgV1>Yv$qW@LpwI7=`!rJNiCQ9J5PXbIiKIcocXnX z<6^TO%`o}6#NF)B6A@jtd7^e+3%7fy#?_Uv8468e6mdWGaK_`Kzx3++D(?s0y?uGo z=6t(~HICU*&Id}=mI^&(X6XJ}`-}0wf)`)bDqin6{~^mmWz95!MQ<#lgEW`?-}F)E zzidHAa>|hl>l~LXerWLe<$|oW7th(-%dGBSR{YCWF-9&}eCaV~qk5i@kbn|C@^Bz0?Re1YjCbR3WeM~)P{=Rtbq*W2MEa`Yj zaL}tqlE!C}f?^l0nY(AltJJsBN0}X%7u`N_^2DWnD`q{#qd#|^lK$FxTJF;BHM4G1 z{IwQjXwQG>xn5CIGhpM*T|xHjN0WZpD%KRYO@I4Tb^X@2LW`fT_Rc+~_wTRdtTWGC z=blNDvFV?=#pvOY-t;de^RF#j_3DQ<3(wbA`JvP85+o!YrFUub^?hDb8T|cg;YO3P zS-;|nU%6x)+G6P*cj5Q_*Hc1HiA-LVm$Yv7q#*I@SLXg>U%kiSXzKUO;*AWT)R-KZ zJo}vAmLse7q%3W0TVnHHt@cQOI{*7wRZ9Cx+1aDoP91XRdab_XDeKK}xiqyC|ElNA zULU(7*q{Aq9LV9Xw|(1k`hljVX-~4F9=j!!4S^EW?Ec|4v&z3B%n^*el zOrOo(u(MsP{SwEPK8ieHa{6Mr=gN~O4$c4fLc8W~LuH(k6NjMKK97rqPYoF)%37c+LUC=)5#e@4N7C(D-YBSdtGu6l`^SA$b@%(D= z%=B4n_Wim3>|XfO-%8Tv_FFS^>~*6Kz!T1<#mfy(PSTGF{P)!6qC)=Kb!C6!Vx=CG zbG(00ZDluil1{Cm^{b*EizaN-n!P)0@2^tdGr4WN<})vzbo+Lvu;)kGmX(r6*3YvS z-nJn*>+G)=znZ6K$uvZL36iOKp84K1dgrT!F|KPYk`Ffae7E~}bzg4QTMq6^{>CMj zjPq4KyDvLGDMgwA!h zulYd~*Bq)%WA~#qalfoYmD%tgv5w zf3-LBvUzj&Wgq(>u3J~M?fNWf{;6M=DPDT@$NqZG?Ahlg9M@fQJmHjxl#OxQ_d}Ka z=M1ivd1=pcpS%8W_@P~zd|Z9r3F}{OIj!}*=1UsyY~|~cnXY#pdVe`?pY;5hzBJ>j z%}cJNTv=lI*SG73my_7%2*F90UhEM6x-XdFfYz>enJG7S9Co zweyY}XT*de=`}^Z~cG>s%9SgrcKb?C_?}<;xuRr^8 z!ffMXr5@aL>3RR;UzKy8%iW$8cTl9#vumDey;=EP_v)$CB;YVdQ~ z+MJh>#r4)7=SbCitj?FS-ndk6cEYP=78yVEF5myW{OXf5{hPm+IDA)*>R|oY{=f3O zjk9yc>1DpNPq)4NrK4&3(Pmcl<@t8rLi)0LDH;I>C!e0!&y&p~$Z)}W?)O>dpXUg= z{V&vw`S`TaIe3&J$N{)?5Y z*LY^5y3e>sUhBSB`1$bZY!+d@)$8~Z*PUK>&STb}xBmA&f3GdoC@jD9c*bsjKh=9b zA75Dc{n`4G8MPVCY{`F>*8l$9eEi1cI@O9W#yB3)**DX_)s?M$@&7#IrB_#q+1cNm zzxu6U#?{Kg74462Y5w6(&&mos^s+Rv^v3%&R7Jx|NE-%UNGe&2S( z((tDrbd{sGZhIi)c{N(d@el*QZ^0b@o)*`k!xq9qmhwvWy57z3;Ja z@Bd6z#g>AYLs`>si_%!W()sK^J!t_c%%lvwE zn>Bm?)vDb47j~Z24BQpx?d6*$Ctq%OU)H-;H(<^V`+~}YZ6DwBd@*|5tsOL3_<3%p z<(UgEKhEkIo!`pD@SnA6M&jJ``&DOe9JzMeXyse+c>Ab5uP!Dzajf0kw5DuvTg?ln z{i20Av)b2Y)R#ZfeHFGje~xs~<2jppi|&ZkUbqyy@7>88=Wcd8&kMS)adT(h*>hjj z%8ngc#Px3m>-|5MZ|$(-?>hRW%E_Wn_K>*AzW=;i|G0Fjf7@zVc;Mj0Yf(Y-0wYd- z;JUo%Yu7%%Ene23{Q5BJ*V=j33c2S_e(thby}JGV_0LzfZ0nuD-T3&9n!=Rng2w}9 zYF8FnzjXg8mr@p6?J`6D{zR?$fxmAo?(25Wjro3V?=s7!f3^OohLUQp4@mP#Q447HA!}j$u1rtKB8<4 zyffn5o;^2xYh6^Vesph#=>MXqZPI)4JGej3vU$C6K2Pm+r^~%krT-JI@bKS~J#eU2 zA^EVgQ^$@~E1DA9R#jPQh+TfoX;}2`N%L?xB9afWh zbNot0U%L6K`At@uuCJaii11mje&opGxz3w+n_N!deY~MlK8IsVNXUz-eY;E!Z~Vk* z_3L%ZPF>0Nl|kp$9RKj~`?EH-NR8U;bB4UN`5z?O7;`mye*0B^cUD&pE{&h-2KHdV`dz}BLm>tM1^*XcZ_?f>_r3a6^p8ekL_wL!epXGb^d3))~eEuhVf9@HB zo9w!a%g?WEzB9)+qg-#|rObTB1&)_*_pFo=p01x(Ussiq?7nr=?C&+@POs)XU^vFe zp1LjT>W=6yp91HvGM=Py{o`N%<#9b9wx-`xxxW1O1Jzk)Q{w&Ek0w>wD#kqLV_v88 z*1E;+0l)11+*@Z>sQDN#GF`CiwRvYHe3P^(Bk2D$qAG zdbWMtuV1&)4>sF~n3$Vv;(l-a;*tF2e_X}eLW=T@%Vye^pITM^V($)4#Up2~ewU42 z=Kt#Hf*U^b)mxIE%hyntl8^GdCcnVsK1=KslC3e~2s48GQuW_BfCvfAwSOY;RS zzn?Bv-jie5BCu|$>Dv;{)mquMdCqf1+u3%+IX;|!>9~KL%x~wcwfr8Y^IBU&h4-ro z)>gZmoipj*_cb^8nXRH%>KN{wJ|)WMF4MQQb2e$UWQJrWA77|^ulmE~0}IPyoGSYC zw&<*w&iaG@v4q!qf6vgWU!Rwp`SayaSJ1*ECyrdXcyC|p_G8IzUUG{bJ_R9<0e1ax@{&VK8I6t?xmZjUYXVc==@xA?H6LsTL z=>1QxpDwtuW}EtwPZ3WxDV9H79|4(-Tvb=BQ#tqZC$Fe;hwofEq-AJmRJLJr_Or(~ zuO7b^b^29cZG7x4K^v)mFZ&K($xGaJf9;HYKD#R~a#R}o=iJ%5=E|K-LWbv$UE3FH ze1C%5v|X~gJN>#AA2e>66yzBdJEvMv_3^dUn}iInpE|W{Wq)`^uzU3sWd@A|gN-^3 zSz9|(8wH#?LN=72)K7jF6yI+Beb%2J$@0hY@);Ny+I-gM@-Ubvi(ai-bp5|oU*z@x z|0>?_cRMEsZuxkbfq{WXJ}EMRztdoUS@JR_#hB~g<{p-a65caw|C-WLBz~>oH%k=lJu-XLqRWxaPZ$!@#b(*Q_n%;oZ)7yW3*-Qk~e(i}i_##cW)# z#w0jFQtrjUJI=fe3z&`P`gu* z+akiRzv<4dH!yfI+02a1?7P};PgN(*_Vb4`Ss56vIe<4OFyypeZwIY9C42uD`AgfV ewF8Z?3x3I`x`vg#Staxp X-Patchwork-Id: 73859 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1C3ACCCFA1B for ; Thu, 6 Nov 2025 09:11:46 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.10708.1762420301174363852 for ; Thu, 06 Nov 2025 01:11:41 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=unUVmlJP; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id D0721C0FA8B for ; Thu, 6 Nov 2025 09:11:18 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id DDE036068C for ; Thu, 6 Nov 2025 09:11:39 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 58D85102F2506 for ; Thu, 6 Nov 2025 10:11:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1762420299; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=+IbYeqlfN3V4UrCV8hiGnDA+2KS9TgYNSO68ppOEd84=; b=unUVmlJP7j/M1bnPjYLBh4NMQeSahepmUIb4+v8zuVIKvq8S8GMh3+WFIjojA/rFyrqkYY WQF748xN7htAnufEIoAuF+fYi3LbF4mJeCcjeQ0iMonw7mKbNkSHKvOwHmdMtszJCUdWnO kCivXrM/eZVGhwXPqHj2MKw5IlvplgTs4/AQWWdDf7R4EnRXUqiVDXvBV6gYQwIB6tVJK9 dfu2PgCkAGPpGDqHCD3vOe3mshKmdJPSD76RaeEvQqaIwJuytbp7tBMywXxPNG/5gASmn+ ZxIBUD4oUxjJRKNgp1h224KsLnJ8CdosaV0dewBc0OqTxIh8h26Od3RFTt42kA== From: Antonin Godard Date: Thu, 06 Nov 2025 10:11:21 +0100 Subject: [PATCH v3 4/7] ref-manual/fragments.rst: document core/yocto/root-login-with-empty-password fragment MIME-Version: 1.0 Message-Id: <20251106-bitbake-setup-v3-4-97db90f85f84@bootlin.com> References: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> In-Reply-To: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> To: docs@lists.yoctoproject.org X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=1172; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=YkOzAjJTrHymWCf8zYPfiYwQCtyNO97gRDZzECSA1uE=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpDGZGi06VYygxeh9MyGsRt51WWIcQ9L6Yr0OlF +fCJDkq/0eJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaQxmRgAKCRDRgEFAKaOo NuyJEAClBzmUNjVfeonyZoctRTMOvQ8T6IHvlUu32q3/yr50D/wcCvlVejW/fWSXJhaZ5Tmvtan sXxyiQz/+HfR1VbKPlKzksZ5KH2cqX3OfyLU6NHZmOtJ+itlvgfSPWT+KRuvt4USWN/QxBoB0JE f0EHJp0F/SCQYhdb35DFzUHOIUL6EBVrgEsbibtG3PSB3Tmk5rtlZY2N+yiwQAxL/rk5uGvKsDR RSLlO+V7Nvwsb97TupaV/OmI319k4I2Loqdw8PdPXaTV9csjnYhaoQyqNCOzOnGVjME+cW4OdZG fjQx46dHafwS5lWfv7q8owXrkRNhoB2gytdDRVNOJfDEiLVq3SIrzd48nhr4dyB+EAIeSuDcaVs W632S2VJmNKtqfcFl8boYjSkqkiO44CSkCMbt5wgyQD2G88gN0P0jCRlMkvbVH9MHMgYDBB8GUZ bgIrp1LGQft3jZJ4AZDG3u5+pyXjVn7zUL1I8ImcxvtSLWDQqFPBr/R8kPSxtno1GVie71SL2YT r82LB7eDQrL8uzJ+t3Uk9e9NZUbIftv1kyszNSq0i2Uw5u6F8+139o0cQXADpW4LD/KSRW9tnn3 q94pk6QUjuUk0F0jCL1Lyy5+P9OmLuU2vbCOpEXm3q8rjJGS2c4e0lZJQRn6wS1ohPGfnnD1lwP b1cQf4EpBit0zHQ== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 06 Nov 2025 09:11:46 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8001 Added by commit e135458415de ("fragments: add a 'root-login-with-empty-password' fragment") in OE-Core. Signed-off-by: Antonin Godard --- documentation/ref-manual/fragments.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/documentation/ref-manual/fragments.rst b/documentation/ref-manual/fragments.rst index 520cf783a..42fba41e9 100644 --- a/documentation/ref-manual/fragments.rst +++ b/documentation/ref-manual/fragments.rst @@ -193,6 +193,15 @@ then speed up the builds by not having to build things if they are present in the cache. It assumes you can download something faster than you can build it which will depend on your network configuration. +.. _ref-fragments-root-login-with-empty-password: + +``core/yocto/root-login-with-empty-password`` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The ``core/yocto/root-login-with-empty-password`` :term:`configuration fragment` +can be used to allow to login as the ``root`` user to login without a password +on the serial console and over SSH. + Yocto Project Autobuilder Fragments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From patchwork Thu Nov 6 09:11:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 73862 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 36541CCFA1D for ; Thu, 6 Nov 2025 09:11:46 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10743.1762420302035769506 for ; Thu, 06 Nov 2025 01:11:42 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=XNW/FUZP; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 5C79DC0FA8C for ; Thu, 6 Nov 2025 09:11:19 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 68A5E6068C for ; Thu, 6 Nov 2025 09:11:40 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id DA4831185064B for ; Thu, 6 Nov 2025 10:11:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1762420300; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=a0DQFrTjObVxFNF/GH6xiTlldtLv00S++DvrwIIS0T8=; b=XNW/FUZPm+AXWjXteopyMMSDOqbpFLUwlYi8A8qnwfY3gNglvcos0Csmd7HbE+Ntv/K9Zd GHfRUZXJ1boSz2fnfcPB+0wEqSrxgI7JqZHPQzjaJpodfkyHaL1Mmte426lNKspmP4qrAm ttL1OvsSEhImn5vjp4RHyvqkzr7LEkoGDEO2Er67ypx0m9VXV2/b5ne8S/aDC5sAj79zOr n+fRJxIrgfpjVFTU8hst8d2kUjkTAE4pUkk58UMOIg56i+a1MUQEWYlWxG1/WmKkq4bO0M cgBglj2p3xx+48WyCRtjCUk4OJ/cCnRZ8cB1o7Ep9/kdK67bXq0JvJsE//UwSA== From: Antonin Godard Date: Thu, 06 Nov 2025 10:11:22 +0100 Subject: [PATCH v3 5/7] brief-yoctoprojectqs: switch to bitbake-setup MIME-Version: 1.0 Message-Id: <20251106-bitbake-setup-v3-5-97db90f85f84@bootlin.com> References: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> In-Reply-To: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> To: docs@lists.yoctoproject.org X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=22566; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=slw4UvU5D5vV3V3W75mq6gNrdes0D4z30MCdk3+kcoI=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpDGZHj/60U+cg8z2C0NKO2nsjmn5K3ki3S5VCv OKY5pb1EpmJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaQxmRwAKCRDRgEFAKaOo NsGKEACJb2q/F1d6zSdFMb2d8/I5nZRpdrzQl/hZ024YwtD3lOgHxnhmVu4bvHpaKXtfI+/ZpV3 M/hY5nBm79Ud7HSveSqvaEIroFZrDmLSuMy3OSfdsvhw0/caff8EBWe/rtBDc4OTmYhQWxQRAZ9 qgi/R/vi9qRSeAeaI5cWS/9mGJpbXt0fwh4wkmV8+OwXx94+gPd+BoFciPRGcn+jEPNnJ1wJXLB y1hQ8nrzN5FJG85VKjN4RyKoLOp6BcQcFXpzeJVbnACdR62HCG0GEoMxtTtbGi4XfTLtoL5d9vh HR4f1nYpZG7ozWcks5aeJboj+mE9iouDpv16OX6kZ5AsAYu/A5b/bqPENNX8kljCZ9l1vZKMyTC SmKKqmuZTsILWBw0/Z5ve91nPZXQQiy7OYIhXQHXM25d8ox4gpmQSnnhRpOZM8xE7HqIOGlEGQm BPpFJPDCUBTsqIgSIQ9qtqwloVN3UnzMJapSOgFJ1MOSpf6k/eyWZHP/sgo4n9JVkTU7yiRd8qj QiQpUqjwNUI1UxFDWywqpvmBLrv0avuzdQQ+A/zb39+b7ZNkCCzYNlUVE2jVRMz8O9pAIx4UsWi fTKacqf3vzgvPjGUaaGWsfXzLlj67/iAQ6O0L8Oo1l9JKOfsep7ITRphwKxUlkNvkIOcCiN8NL6 No07zisva+haCOw== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 06 Nov 2025 09:11:46 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8002 Switch to bitbake-setup as it has been merged in BitBake with commit b96154aeb1fc ("bitbake-setup: add the initial implementation"). This is the default way to setup repositories now, so describe it in brief-yoctoprojectqs.rst. Update the BSP layer addition section to use meta-yocto-bsp as meta-altera seems abandoned (latest compatible version: mickedore). meta-yocto-bsp is probably already part of the bblayers.conf file when we instruct to add it with bitbake-layers, but this does not produce an error and is still nice to have for demo purposes. Co-developed-by: Tim Orling Signed-off-by: Antonin Godard --- documentation/brief-yoctoprojectqs/index.rst | 413 ++++++++++++++------------- documentation/ref-manual/structure.rst | 5 + 2 files changed, 224 insertions(+), 194 deletions(-) diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst index 4a6f13d7e..f110a106b 100644 --- a/documentation/brief-yoctoprojectqs/index.rst +++ b/documentation/brief-yoctoprojectqs/index.rst @@ -87,80 +87,123 @@ distribution: see the :ref:`ref-manual/system-requirements:required packages for the build host` section in the Yocto Project Reference Manual. -Use Git to Clone Poky -===================== +Use Git to Clone bitbake-setup +============================== Once you complete the setup instructions for your machine, you need to -get a copy of the Poky repository on your build host. Use the following -commands to clone the Poky repository. +get a copy of the ``bitbake-setup`` tool to setup the :term:`Poky` reference +distribution on your build host. Use the following commands to clone +the bitbake repository. .. code-block:: shell - $ git clone git://git.yoctoproject.org/poky - Cloning into 'poky'... - remote: Counting - objects: 432160, done. remote: Compressing objects: 100% - (102056/102056), done. remote: Total 432160 (delta 323116), reused - 432037 (delta 323000) Receiving objects: 100% (432160/432160), 153.81 MiB | 8.54 MiB/s, done. - Resolving deltas: 100% (323116/323116), done. - Checking connectivity... done. + $ git clone -b &DISTRO_REL_LATEST_TAG; git://git.openembedded.org/bitbake bitbake-setup -Go to :yocto_wiki:`Releases wiki page `, and choose a release -codename (such as ``&DISTRO_NAME_NO_CAP;``), corresponding to either the -latest stable release or a Long Term Support release. - -Then move to the ``poky`` directory and take a look at existing branches: +Setup a build environment with the following command: .. code-block:: shell - $ cd poky - $ git branch -a - . - . - . - remotes/origin/HEAD -> origin/master - remotes/origin/dunfell - remotes/origin/dunfell-next - . - . - . - remotes/origin/gatesgarth - remotes/origin/gatesgarth-next - . - . - . - remotes/origin/master - remotes/origin/master-next - . - . - . - - -For this example, check out the ``&DISTRO_NAME_NO_CAP;`` branch based on the -``&DISTRO_NAME;`` release: + $ ./bitbake-setup/bin/bitbake-setup init + +By default, this will setup a top directory in ``$HOME/bitbake-builds``. + +If you prefer to setup your builds in a different top directory, for example the +current directory, you can set it with the :ref:`bitbake:ref-bbsetup-command-settings` command: .. code-block:: shell - $ git checkout -t origin/&DISTRO_NAME_NO_CAP; -b my-&DISTRO_NAME_NO_CAP; - Branch 'my-&DISTRO_NAME_NO_CAP;' set up to track remote branch '&DISTRO_NAME_NO_CAP;' from 'origin'. - Switched to a new branch 'my-&DISTRO_NAME_NO_CAP;' + $ ./bitbake-setup/bin/bitbake-setup settings set --global default top-dir-prefix $PWD -The previous Git checkout command creates a local branch named -``my-&DISTRO_NAME_NO_CAP;``. The files available to you in that branch -exactly match the repository's files in the ``&DISTRO_NAME_NO_CAP;`` -release branch. +.. note:: -Note that you can regularly type the following command in the same directory -to keep your local files in sync with the release branch: + Use :ref:`bitbake:ref-bbsetup-command-list` to get an overview of the settings. -.. code-block:: shell +:ref:`bitbake:ref-bbsetup-command-init` is an interactive program by default and +will ask you to make some decisions. Depending on your answers, the output may +differ from the examples below. - $ git pull +#. Choose a configuration (for example, ``poky-master``): -For more options and information about accessing Yocto Project related -repositories, see the -:ref:`dev-manual/start:locating yocto project source files` -section in the Yocto Project Development Tasks Manual. + .. code-block:: shell + + Available configurations: + 0. poky-master Poky - The Yocto Project testing distribution configurations and hardware test platforms + 1. oe-nodistro OpenEmbedded - 'nodistro' basic configuration + + Please select one of the above configurations by its number: + 0 + + Depending on the choice above, new options can be prompted to further specify + which configuration to use. For example: + + .. code-block:: shell + + Available bitbake configurations: + 0. poky Poky - The Yocto Project testing distribution + 1. poky-with-sstate Poky - The Yocto Project testing distribution with internet sstate acceleration. Use with caution as it requires a completely robust local network with sufficient bandwidth. + + Please select one of the above bitbake configurations by its number: + 0 + +#. Choose a target :term:`MACHINE` (for example, ``qemux86-64``): + + .. code-block:: shell + + Target machines: + 0. machine/qemux86-64 + 1. machine/qemuarm64 + 2. machine/qemuriscv64 + 3. machine/genericarm64 + 4. machine/genericx86-64 + + Please select one of the above options by its number: + 0 + +#. Choose a :term:`DISTRO` (for example, ``poky``): + + .. code-block:: shell + + Distribution configuration variants: + 0. distro/poky + 1. distro/poky-altcfg + 2. distro/poky-tiny + + Please select one of the above options by its number: + 0 + +.. note:: + + If you prefer to run non-interactively, you can run a command like the + following: + + .. code-block:: shell + + $ bitbake-setup init --non-interactive poky-master poky-with-sstate distro/poky machine/qemux86-64 + +The ``init`` command creates a new :term:`bitbake:Setup` in the +:term:`bitbake:top directory`. Its name is derived from the selected +configuration above. + +For the selected options in the above example, this would be:: + + poky-master-poky-distro_poky-machine_qemux86-64 + +This will be our example configuration in the following sections. + +This directory contains: + +- The :term:`bitbake:BitBake Build` directory, named ``build``. Later, when the + build completes, this directory contains all the files created during the + build. + + This directory also contains a ``README``, describing the current + configuration and showing some instructions. + +- The :term:`layers ` needed to build the Poky reference distribution, + in the ``layers`` directory. + +- A ``config`` directory, representing the current configuration used for this + :term:`bitbake:setup`. Building Your Image =================== @@ -182,86 +225,74 @@ an entire Linux distribution, including the toolchain, from source. ":yocto_wiki:`Working Behind a Network Proxy `" page of the Yocto Project Wiki. -#. **Initialize the Build Environment:** From within the ``poky`` - directory, run the :ref:`ref-manual/structure:``oe-init-build-env``` - environment - setup script to define Yocto Project's build environment on your - build host. +#. **Initialize the Build Environment:** Source the ``init-build-env`` + environment setup script within the :term:`bitbake:BitBake build` directory + to setup the :term:`BitBake` build environment on your host: - .. code-block:: shell + .. code-block:: shell + + $ source poky-master-poky-distro_poky-machine_qemux86-64/build/init-build-env + Poky reference distro build + +#. **Examine Your Current Configuration:** When you set up the build + environment, an configuration file named :ref:`toolcfg.conf + ` becomes available in a ``conf/`` + sub-directory of the :term:`bitbake:BitBake build` directory. This file is + automatically modified by the ``bitbake-config-build`` command-line tool. + With this tool, list the currently enabled :term:`configuration fragments + `: + + .. code-block:: shell + + $ bitbake-config-build list-fragments + + For this configuration, the default is to use two :term:`Built-in Fragments + `: + + - ``distro/poky`` sets the :term:`DISTRO` to :term:`Poky` + (:ref:`ref-fragments-builtin-core-distro` fragment). + - ``machine/qemux86-64`` sets the :term:`MACHINE` to ``qemux86-64`` + (:ref:`ref-fragments-builtin-core-machine` fragment). + + These fragment values correspond to the choices made when running + :ref:`bitbake:ref-bbsetup-command-init`. + + .. note:: + + These set up the environment similar to what was previously in the local + configuration file :ref:`local.conf `, + which is now largely empty. + + The current configuration does not allow the ``root`` user to login. As this + can be useful for development, you can enable the + :ref:`ref-fragments-root-login-with-empty-password` fragment: - $ cd poky - $ source oe-init-build-env - You had no conf/local.conf file. This configuration file has therefore been - created for you with some default values. You may wish to edit it to, for - example, select a different MACHINE (target hardware). See conf/local.conf - for more information as common configuration options are commented. - - You had no conf/bblayers.conf file. This configuration file has therefore - been created for you with some default values. To add additional metadata - layers into your configuration please add entries to conf/bblayers.conf. - - The Yocto Project has extensive documentation about OE including a reference - manual which can be found at: - https://docs.yoctoproject.org - - For more information about OpenEmbedded see their website: - https://www.openembedded.org/ - - ### Shell environment set up for builds. ### - - You can now run 'bitbake ' - - Common targets are: - core-image-minimal - core-image-full-cmdline - core-image-sato - core-image-weston - meta-toolchain - meta-ide-support - - You can also run generated QEMU images with a command like 'runqemu qemux86-64' - - Other commonly useful commands are: - - 'devtool' and 'recipetool' handle common recipe tasks - - 'bitbake-layers' handles common layer tasks - - 'oe-pkgdata-util' handles common target package tasks - - Among other things, the script creates the :term:`Build Directory`, which is - ``build`` in this case and is located in the :term:`Source Directory`. After - the script runs, your current working directory is set to the - :term:`Build Directory`. Later, when the build completes, the - :term:`Build Directory` contains all the files created during the build. - -#. **Examine Your Local Configuration File:** When you set up the build - environment, a local configuration file named ``local.conf`` becomes - available in a ``conf`` subdirectory of the :term:`Build Directory`. For this - example, the defaults are set to build for a ``qemux86`` target, - which is suitable for emulation. The package manager used is set to - the RPM package manager. - - .. tip:: - - You can significantly speed up your build and guard against fetcher - failures by using :ref:`overview-manual/concepts:shared state cache` - mirrors and enabling :ref:`overview-manual/concepts:hash equivalence`. - This way, you can use pre-built artifacts rather than building them. - This is relevant only when your network and the server that you use - can download these artifacts faster than you would be able to build them. - - To use such mirrors, uncomment the below lines in your ``conf/local.conf`` - file in the :term:`Build Directory`:: - - BB_HASHSERVE_UPSTREAM = "wss://hashserv.yoctoproject.org/ws" - SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH" - BB_HASHSERVE = "auto" - BB_SIGNATURE_HANDLER = "OEEquivHash" - - The hash equivalence server needs the websockets python module version 9.1 - or later. Debian GNU/Linux 12 (Bookworm) and later, Fedora, CentOS Stream - 9 and later, and Ubuntu 22.04 (LTS) and later, all have a recent enough - package. Other supported distributions need to get the module some other - place than their package feed, e.g. via ``pip``. + .. code-block:: shell + + $ bitbake-config-build enable-fragment root-login-with-empty-password + + .. note:: + + You can significantly speed up your build and guard against fetcher + failures by using :ref:`overview-manual/concepts:shared state cache` + mirrors and enabling :ref:`overview-manual/concepts:hash equivalence`. + This way, you can use pre-built artifacts rather than building them. + This is relevant only when your network and the server that you use + can download these artifacts faster than you would be able to build them. + + To use such mirrors, enable the + :ref:`ref-fragments-core-yocto-sstate-mirror-cdn` fragment:: + + $ bitbake-config-build enable-fragment core/yocto/sstate-mirror-cdn + + The hash equivalence server needs the websockets python module version 9.1 + or later. Debian GNU/Linux 12 (Bookworm) and later, Fedora, CentOS Stream + 9 and later, and Ubuntu 22.04 (LTS) and later, all have a recent enough + package. Other supported distributions need to get the module some other + place than their package feed, e.g. via ``pip``. You can otherwise + install a :term:`Buildtools` tarball by following the instructions in + the :ref:`system-requirements-buildtools` section of the Yocto Project + Reference Manual. #. **Start the Build:** Continue with the following command to build an OS image for the target, which is ``core-image-sato`` in this example: @@ -308,82 +339,73 @@ modular development and makes it easier to reuse the layer metadata. By convention, layer names start with the string "meta-". -Follow these steps to add a hardware layer: +Follow these steps to add a :ref:`BSP layer `: -#. **Find a Layer:** Many hardware layers are available. The Yocto Project - :yocto_git:`Source Repositories <>` has many hardware layers. - This example adds the - `meta-altera `__ hardware layer. +#. **Find a Layer:** Many BSP layers are available. The + :oe_layerindex:`layer index <>` can be used to find such layers. This example + adds the :yocto_git:`meta-raspberrypi ` BSP + layer. -#. **Clone the Layer:** Use Git to make a local copy of the layer on your - machine. You can put the copy in the top level of the copy of the - Poky repository created earlier: + First, clone the layer next the other layers:: - .. code-block:: shell + git clone -b &DISTRO_NAME_NO_CAP; https://git.yoctoproject.org/meta-raspberrypi ../layers/meta-raspberrypi - $ cd poky - $ git clone https://github.com/kraj/meta-altera.git - Cloning into 'meta-altera'... - remote: Counting objects: 25170, done. - remote: Compressing objects: 100% (350/350), done. - remote: Total 25170 (delta 645), reused 719 (delta 538), pack-reused 24219 - Receiving objects: 100% (25170/25170), 41.02 MiB | 1.64 MiB/s, done. - Resolving deltas: 100% (13385/13385), done. - Checking connectivity... done. +#. **Add Your Layer to the Layer Configuration File:** Before you can use + it, you must add the layer and its dependencies it to your ``bblayers.conf`` + file, which is found in the :term:`Build Directory` (``conf/``) directory. - The hardware layer is now available - next to other layers inside the Poky reference repository on your build - host as ``meta-altera`` and contains all the metadata needed to - support hardware from Altera, which is owned by Intel. + For this, the ``bitbake-layers add-layer`` can be used: - .. note:: + .. code-block:: shell - It is recommended for layers to have a branch per Yocto Project release. - Please make sure to checkout the layer branch supporting the Yocto Project - release you're using. + $ bitbake-layers add-layer ../layers/meta-raspberrypi -#. **Change the Configuration to Build for a Specific Machine:** The - :term:`MACHINE` variable in the - ``local.conf`` file specifies the machine for the build. For this - example, set the :term:`MACHINE` variable to ``cyclone5``. These - configurations are used: - https://github.com/kraj/meta-altera/blob/master/conf/machine/cyclone5.conf. + You can find more information on adding layers in the + :ref:`dev-manual/layers:adding a layer using the \`\`bitbake-layers\`\` + script` section. - .. note:: +#. **Change the Configuration to Build for a Specific Machine:** The + :term:`MACHINE` variable is defined by the :ref:`ref-fragments-builtin-core-machine` + fragment. For this example, the meta-raspberrypi layer provides the + :yocto_git:`raspberrypi5 ` + machine, so let's make it the :term:`MACHINE` used for the build with + ``bitbake-config-build``: - See the "Examine Your Local Configuration File" step earlier for more - information on configuring the build. + .. code-block:: shell -#. **Add Your Layer to the Layer Configuration File:** Before you can use - a layer during a build, you must add it to your ``bblayers.conf`` - file, which is found in the :term:`Build Directory` ``conf`` directory. + $ bitbake-config-build enable-fragment machine/raspberrypi5 - Use the ``bitbake-layers add-layer`` command to add the layer to the - configuration file: + .. note:: - .. code-block:: shell + See the "Examine Your Current Configuration" step earlier for more + information on configuring the build. - $ cd poky/build - $ bitbake-layers add-layer ../meta-altera - NOTE: Starting bitbake server... - Parsing recipes: 100% |##################################################################| Time: 0:00:32 - Parsing of 918 .bb files complete (0 cached, 918 parsed). 1401 targets, - 123 skipped, 0 masked, 0 errors. + The ``raspberrypi5`` build depends on non-free firmware + (https://github.com/RPi-Distro/firmware-nonfree) that includes the + `Synaptics` license. See the :yocto_git:`ipcompliance.md + ` document for more information. + Add the ``synaptics-killswitch`` value to the :term:`LICENSE_FLAGS_ACCEPTED` + variable, in the ``conf/local.conf`` file of your build directory:: - You can find - more information on adding layers in the - :ref:`dev-manual/layers:adding a layer using the \`\`bitbake-layers\`\` script` - section. + LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch" -Completing these steps has added the ``meta-altera`` layer to your Yocto +#. **Start The Build:** The configuration is now set to build for the Raspberry + Pi 5. Start the build again: + + .. code-block:: shell + + $ bitbake core-image-sato + +Completing these steps has added the ``meta-raspberrypi`` layer to your Yocto Project development environment and configured it to build for the -``cyclone5`` machine. +``raspberrypi5`` machine. .. note:: The previous steps are for demonstration purposes only. If you were - to attempt to build an image for the ``cyclone5`` machine, you should - read the Altera ``README``. + to attempt to build an image for the ``raspberrypi5`` machine, you + should read the ``README.md`` file in ``meta-raspberrypi``. Creating Your Own General Layer =============================== @@ -396,14 +418,17 @@ configuration file, a ``recipes-example`` subdirectory that contains an ``example.bb`` recipe, a licensing file, and a ``README``. The following commands run the tool to create a layer named -``meta-mylayer`` in the ``poky`` directory: +``meta-mylayer``: .. code-block:: shell - $ cd poky - $ bitbake-layers create-layer meta-mylayer + $ bitbake-layers create-layer ../layers/meta-mylayer NOTE: Starting bitbake server... - Add your new layer with 'bitbake-layers add-layer meta-mylayer' + Add your new layer with 'bitbake-layers add-layer ../layers/meta-mylayer' + +.. note:: + + By convention, layers are placed side-by-side. For more information on layers and how to create them, see the diff --git a/documentation/ref-manual/structure.rst b/documentation/ref-manual/structure.rst index f0205f0e5..c0eae9b7b 100644 --- a/documentation/ref-manual/structure.rst +++ b/documentation/ref-manual/structure.rst @@ -372,6 +372,11 @@ symbolic link to a common ``site.conf`` file:: This way, site-specific settings can be shared for multiple build configurations. +.. note:: + + For more information on how to use ``bitbake-setup``, see the + :doc:`/brief-yoctoprojectqs/index` document. + .. _structure-build-conf-bblock.conf: ``build/conf/bblock.conf`` From patchwork Thu Nov 6 09:11:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 73860 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3693ECCFA1E for ; Thu, 6 Nov 2025 09:11:46 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10744.1762420302158632829 for ; Thu, 06 Nov 2025 01:11:42 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=MWluFxUv; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id CBC62C0FA83 for ; Thu, 6 Nov 2025 09:11:19 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id DA00A6068C for ; Thu, 6 Nov 2025 09:11:40 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 65345102F2506 for ; Thu, 6 Nov 2025 10:11:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1762420300; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=zwaP8GS8/PgwEXdGcnXaJq8jD34BDoN1xMs2Q+STHyE=; b=MWluFxUvLhBafIdKt+Tp6WQKIz4rj6C3Dt07cMGWH75zUPyOQYVUkWf42L3eYnoRr2Lbr8 Ci1KPe/gHgCzmAZ3LjgsWm33f+LfdR3gZ5ooJD9ciFK94XpFOLNx4JrmS6LS0XMkKedJym 3TQViOCNLNdlkCCipv5ZJyRXpSo2kR8P9g73NxFKQwgY5Lnepf4Fugjd7/5Xk5dANFtkeq yll7doAIp5xTexItyS6nuZTxpZc1ezLMIr7Bs4djc8xqK/dVZDskzB8MtpUZijEWq7k7Bt uei42rYZla1WriZZ7GzC8x9gj4kZPb6t0muQM+gkpZIyNbRNFXUAOwV8cTtaMg== From: Antonin Godard Date: Thu, 06 Nov 2025 10:11:23 +0100 Subject: [PATCH v3 6/7] dev-manual: add a document to setup poky manually MIME-Version: 1.0 Message-Id: <20251106-bitbake-setup-v3-6-97db90f85f84@bootlin.com> References: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> In-Reply-To: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> To: docs@lists.yoctoproject.org X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=8857; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=Y0xJyIE25zb4bV1vGRnWoIQb+TUW8tkI1rTRfFzBRD4=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpDGZHXjP+tbveK0XVMpUdLCmqAs4m+e5uyxipB TSmQo16evyJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaQxmRwAKCRDRgEFAKaOo NmmwD/9jrBK1Ftne2HAQGaK8NMSiAcQuwNHn/Eo2s2/yVESHEn0R/Jeeoie8U6gw/twQrXWBYtt igFahQnx20Nr36YL+x3Q6alYW9KmNiJZHthFspR2ejYaBl1E/pELEdtf4Y/832eCV88xI3Yx9/k 4olwy0H3w8PZLAEqa6vgvk/Np5zVJxhAh2cirOp10aPYlBuLocUoVvEOnkDyrw8sSn+Vcw0Px5w CqbliHuNwY7i5xMKfrs3VLl9klHBO7gze9p+fZjnEJl+gDAA9nwpfBt3a4PcoG8eh+xVKk5qXtD 729aN2m2DItOuTNXF80aYXL9xGwb6dM6bBlBXRILAr5cwXPHfaj7XypldORdi5/i1glIdnwsqVn mX9ypkSJdc7BPKCSE/oep3YPmhJXF/zGzpsuTTJ0mCrOsLeDFvCBlZYJMh6OdKB86lgaABeo1Ly nOVcF/2ELMSdhkm9ylx7B3EBIIhqh5lYQXik9uZwi3eQRUpa76LiVbIMAfPtdMyNhMN7metvhtX M+wSb9iuZIc1gP0DkmvWpG2XXVSovZHv6pZJBtn1o1MA/w7iUiPjV2qeMLHowQEBH3jMOif6VY8 kHTGZ8522bXd/HUA+Qi+v76yCAKa3LMHGMyVDD16NwJZC+MnmVdjqZso8ciDjCb94PC7jgLzm5m u6M9N7zFITUqasA== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 06 Nov 2025 09:11:46 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8003 Add a new document describing how to setup the Poky reference distribution manually. This document is referenced in the Quick Guide, so that users that _know_ they want to setup Poky without bitbake-setup have a link to it. This document is also important to reflect the layout of the layers expected by the bblayers.conf.sample file, as explained in [1]. [1]: https://lore.kernel.org/poky/20251028-update-bblayers-sample-v1-1-97ec54cda94e@bootlin.com/ Signed-off-by: Antonin Godard --- documentation/brief-yoctoprojectqs/index.rst | 10 +- documentation/dev-manual/index.rst | 1 + documentation/dev-manual/poky-manual-setup.rst | 128 +++++++++++++++++++++++++ 3 files changed, 138 insertions(+), 1 deletion(-) diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst index f110a106b..ebceecabf 100644 --- a/documentation/brief-yoctoprojectqs/index.rst +++ b/documentation/brief-yoctoprojectqs/index.rst @@ -205,6 +205,12 @@ This directory contains: - A ``config`` directory, representing the current configuration used for this :term:`bitbake:setup`. +.. note:: + + It is also possible to setup the :term:`Poky` reference distro manually. For + that refer to the :doc:`/dev-manual/poky-manual-setup` section of the Yocto + Project Development Tasks Manual. + Building Your Image =================== @@ -261,7 +267,9 @@ an entire Linux distribution, including the toolchain, from source. These set up the environment similar to what was previously in the local configuration file :ref:`local.conf `, - which is now largely empty. + which is now largely empty. To setup the build how it was done + previously, see the :doc:`/dev-manual/poky-manual-setup` section of the + Yocto Project Development Tasks Manual. The current configuration does not allow the ``root`` user to login. As this can be useful for development, you can enable the diff --git a/documentation/dev-manual/index.rst b/documentation/dev-manual/index.rst index 7a581236a..adf776e00 100644 --- a/documentation/dev-manual/index.rst +++ b/documentation/dev-manual/index.rst @@ -17,6 +17,7 @@ Yocto Project Development Tasks Manual upgrading-recipes temporary-source-code creating-fragments + poky-manual-setup quilt.rst development-shell python-development-shell diff --git a/documentation/dev-manual/poky-manual-setup.rst b/documentation/dev-manual/poky-manual-setup.rst new file mode 100644 index 000000000..3e7c7d506 --- /dev/null +++ b/documentation/dev-manual/poky-manual-setup.rst @@ -0,0 +1,128 @@ +.. SPDX-License-Identifier: CC-BY-SA-2.0-UK + +Setting Up the Poky Reference Distro Manually +********************************************* + +While the default way to setup the :term:`Poky` reference distro is to use +``bitbake-setup``, it is also possible to manually setup the environment. This +document guides through this setup step-by-step. + +.. note:: + + This document will produce a setup similar to what is described in + :doc:`/brief-yoctoprojectqs/index`, which shows how to setup :term:`Poky` + with ``bitbake-setup``. + +Use Git to Clone The Layers +=========================== + +Go to :yocto_wiki:`Releases wiki page `, and choose a release +(such as ``&DISTRO_REL_LATEST_TAG;``), corresponding to either the latest stable +release or a Long Term Support release. + +Once you complete the setup instructions for your machine (see the +:doc:`/ref-manual/system-requirements` section of the Yocto Project Reference +Manual), you need to get a copy of the different :term:`layers ` needed +to setup the :term:`Poky` reference distribution on your build host. Use the +following commands: + +.. code-block:: shell + + $ mkdir layers/ + $ git clone -b &DISTRO_REL_LATEST_TAG; https://git.openembedded.org/bitbake ./layers/bitbake + $ git clone -b &DISTRO_REL_LATEST_TAG; https://git.openembedded.org/openembedded-core ./layers/openembedded-core + $ git clone -b &DISTRO_REL_LATEST_TAG; https://git.yoctoproject.org/meta-yocto ./layers/meta-yocto + +Building Your Image +=================== + +Use the following steps to build your image. The build process creates +an entire Linux distribution, including the toolchain, from source. + +.. note:: + + - If you are working behind a firewall and your build host is not + set up for proxies, you could encounter problems with the build + process when fetching source code (e.g. fetcher failures or Git + failures). + + - If you do not know your proxy settings, consult your local network + infrastructure resources and get that information. A good starting + point could also be to check your web browser settings. Finally, + you can find more information on the + ":yocto_wiki:`Working Behind a Network Proxy `" + page of the Yocto Project Wiki. + +#. **Initialize the Build Environment:** From your current working directory, + setup a build environment with the following command: + + .. code-block:: shell + + $ TEMPLATECONF=$PWD/layers/meta-yocto/meta-poky/conf/templates/default source ./layers/openembedded-core/oe-init-build-env + + Among other things, the script creates the :term:`Build Directory`, which is + ``build`` in this case and is located in the :term:`Source Directory`. + After the script runs, your current working directory is set to the + :term:`Build Directory`. Later, when the build completes, the :term:`Build + Directory` contains all the files created during the build. + +#. **Examine Your Local Configuration File:** When you set up the build + environment, a local configuration file named ``local.conf`` becomes + available in a ``conf`` sub-directory of the :term:`Build Directory`. For + this example, the defaults are set to build for a ``qemux86-64`` target, + which is suitable for emulation. The package manager used is set to the RPM + package manager. + + .. tip:: + + You can significantly speed up your build and guard against fetcher + failures by using :ref:`overview-manual/concepts:shared state cache` + mirrors and enabling :ref:`overview-manual/concepts:hash equivalence`. + This way, you can use pre-built artifacts rather than building them. + This is relevant only when your network and the server that you use + can download these artifacts faster than you would be able to build them. + + To use such mirrors, uncomment the below lines in your ``conf/local.conf`` + file in the :term:`Build Directory`:: + + BB_HASHSERVE_UPSTREAM = "wss://hashserv.yoctoproject.org/ws" + SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH" + BB_HASHSERVE = "auto" + BB_SIGNATURE_HANDLER = "OEEquivHash" + + The hash equivalence server needs the websockets python module version 9.1 + or later. Debian GNU/Linux 12 (Bookworm) and later, Fedora, CentOS Stream + 9 and later, and Ubuntu 22.04 (LTS) and later, all have a recent enough + package. Other supported distributions need to get the module some other + place than their package feed, e.g. via ``pip``. You can otherwise + install a :term:`Buildtools` tarball by following the instructions in + the :ref:`system-requirements-buildtools` section of the Yocto Project + Reference Manual. + +#. **Start the Build:** Continue with the following command to build an OS + image for the target, which is ``core-image-sato`` in this example: + + .. code-block:: shell + + $ bitbake core-image-sato + + For information on using the ``bitbake`` command, see the + :ref:`overview-manual/concepts:bitbake` section in the Yocto Project Overview and + Concepts Manual, or see + :ref:`bitbake-user-manual/bitbake-user-manual-intro:the bitbake command` + in the BitBake User Manual. + +#. **Simulate Your Image Using QEMU:** Once this particular image is + built, you can start QEMU, which is a Quick EMUlator that ships with + the Yocto Project: + + .. code-block:: shell + + $ runqemu qemux86-64 + + If you want to learn more about running QEMU, see the + :ref:`dev-manual/qemu:using the quick emulator (qemu)` chapter in + the Yocto Project Development Tasks Manual. + +#. **Exit QEMU:** Exit QEMU by either clicking on the shutdown icon or by typing + ``Ctrl-C`` in the QEMU transcript window from which you evoked QEMU. From patchwork Thu Nov 6 09:11:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antonin Godard X-Patchwork-Id: 73861 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 43E7DCCFA1A for ; Thu, 6 Nov 2025 09:11:46 +0000 (UTC) Received: from smtpout-04.galae.net (smtpout-04.galae.net [185.171.202.116]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.10746.1762420302640702238 for ; Thu, 06 Nov 2025 01:11:42 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bootlin.com header.s=dkim header.b=GTYYnhbp; spf=pass (domain: bootlin.com, ip: 185.171.202.116, mailfrom: antonin.godard@bootlin.com) Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-04.galae.net (Postfix) with ESMTPS id 4B462C0FA84 for ; Thu, 6 Nov 2025 09:11:20 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 58EB36068C for ; Thu, 6 Nov 2025 09:11:41 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id D78A61185064B for ; Thu, 6 Nov 2025 10:11:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1762420301; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=VXeEtP7UQv1EkC9OfkxhS3k1XQimZbs8zCQO2qHuXkg=; b=GTYYnhbpJkVAYY/xpL6MLFJJW9unMT6na4g8bMwZPbQfBn9SswV8uG5N6DcdWpntREaMiy 0QyChqE1xzQVBxnbqqPGwZ2rSS0++0NsPRWYpVidnw4PV4/A7zdwtgvgnmQ9OxEb92ZfHi 2rgyp3sCu3d/XoTBvpRw9P1D8s7Wu916gwphUdI2/FW+5yO/qrk1CJZmyhfIOlao7SOzw4 /E9aEWirvuwjrKRg+lsNzJUiT6HZk4B8XDy5RYzRQ2iiO6+K0X2A5wp2Jr9gihaMh4DIMz yLPvUmGnB9vR+2UTQcOhtKLHnl1jB/vMeQNBsR0E7RvW9vL3fqj93uIdN4EQOQ== From: Antonin Godard Date: Thu, 06 Nov 2025 10:11:24 +0100 Subject: [PATCH v3 7/7] ref-manual/terms.rst: update Poky description MIME-Version: 1.0 Message-Id: <20251106-bitbake-setup-v3-7-97db90f85f84@bootlin.com> References: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> In-Reply-To: <20251106-bitbake-setup-v3-0-97db90f85f84@bootlin.com> To: docs@lists.yoctoproject.org X-Mailer: b4 0.15-dev X-Developer-Signature: v=1; a=openpgp-sha256; l=2039; i=antonin.godard@bootlin.com; h=from:subject:message-id; bh=uEHzqAKXqc7JJMqCqzTjRdy94fUsCEFbaZDd6cPSWsI=; b=owEBbQKS/ZANAwAKAdGAQUApo6g2AcsmYgBpDGZHQpYyE39UF7tabMW2p5QQQ3mH79ZOC5FM3 /+hiFr01XaJAjMEAAEKAB0WIQSGSHJRiN1AG7mg0//RgEFAKaOoNgUCaQxmRwAKCRDRgEFAKaOo Njq+D/9zVUWYFQ8kqK1HAI9GrQZMhpegKLUHGgTsvCuwpOLx3DyciDip4Uvsv7HPyUuTgCXewyF Fgp5VGHH8kb8CKwYAMSWYDLKsCvx1sb3+9p4Vuz2Z5jzx4ATDOHq1F4BE0nJjjaBMyJib4qwarp LgBI0ZUCaaIXhTbBEOWB83eYFGrIfXl4o6CmJhZQwRqffQJcnyr2Ryeqi3/d5GuVB6YCXE/LMTP olQOeQ/GA43LRAF4yzHlXA79Sf5aWqBTSz0BQusGb5MR+uNaP9QsBJjU+eCx3GrsNPiI+yXIvxw 1Fbt8Q4CR4oKj7VqEBXaHybxQbRsbyH8PvDko/VPD7OMflsnfdkFB+SNpp6rB+Qkpf8WY3n9Xn5 Hxjw8rJySy5DGaQsKJ07mvoariXn5VZdNc8fg/lDeBXywvSJs2C0MjFYRvc+edxiLBCd00uZYns kgsQCoWg1BWjwInKyVA0JDELEoP/rxB4IYkiUdO0cEyCD0J23xcPGx8NdzdoTWVPQd93Y/Vcui/ CqPadS+CjkCNcJNXjb1aiKd+Aj2rlBY1fGqtAggOcPhTSI0/3m4L7Y4ybzFuG+OO+RfG/rE4K7v sVFFSs8yPLvMvcdKaG+Le5KF6UnnJFI0/crQl6qwGKFINmMI84Ua79cN4bHF7WY6BD03l4vrc71 U1pbtcr+eUk5yYw== X-Developer-Key: i=antonin.godard@bootlin.com; a=openpgp; fpr=8648725188DD401BB9A0D3FFD180414029A3A836 X-Last-TLS-Session-Version: TLSv1.3 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 06 Nov 2025 09:11:46 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/docs/message/8004 Poky as in the repository will no longer be updated. Update the description of Poky to remove the last bullet point, and add a note to say that Poky was used before. Signed-off-by: Antonin Godard --- documentation/ref-manual/terms.rst | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/documentation/ref-manual/terms.rst b/documentation/ref-manual/terms.rst index e25c714d9..6a9f88061 100644 --- a/documentation/ref-manual/terms.rst +++ b/documentation/ref-manual/terms.rst @@ -461,11 +461,26 @@ universal, the list includes them just in case: - A means by which to test the Yocto Project components (i.e. Poky is used to validate the Yocto Project). - - A vehicle through which you can download the Yocto Project. - Poky is not a product level distro. Rather, it is a good starting point for customization. + .. note:: + + Poky also used to be a repository containing the combination of + :term:`BitBake`, :term:`OpenEmbedded-Core (OE-Core)`, the + :yocto_git:`meta-yocto ` repository and the Yocto Project + documentation -- which were combined with the :yocto_git:`combo-layer + ` tool. + + This repository is still hosted at :yocto_git:`/poky` and is still + updated for maintained releases that are older than Whinlatter (5.3). + Newer releases now use ``bitbake-setup`` to clone and setup the initial + :term:`OpenEmbedded Build System` environment. For more information on + how to use ``bitbake-setup``, see the :doc:`/brief-yoctoprojectqs/index` + document. An alternative can be to setup the above repositories + manually, by following the :doc:`/dev-manual/poky-manual-setup` + section of the Yocto Project Development Tasks Manual. + .. note:: Poky began as an open-source project initially developed by