From patchwork Wed Sep 7 21:39:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrei Gherzan X-Patchwork-Id: 12456 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 3F19DC6FA82 for ; Wed, 7 Sep 2022 21:40:15 +0000 (UTC) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by mx.groups.io with SMTP id smtpd.web09.1497.1662586811796046529 for ; Wed, 07 Sep 2022 14:40:12 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@gherzan.com header.s=fm3 header.b=cnUDzAGE; spf=pass (domain: gherzan.com, ip: 66.111.4.28, mailfrom: andrei@gherzan.com) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 200095C0195; Wed, 7 Sep 2022 17:40:11 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 07 Sep 2022 17:40:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gherzan.com; h= cc:cc:content-transfer-encoding:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm3; t=1662586811; x=1662673211; bh=y5MYsvg9ecCp/AsPIz7iToa0V X8bHJVHwbwfF0ZHaTw=; b=cnUDzAGE2h+6ugQ0NYpYBT4WFs6rONq8Eh/wcm3wq zNu5pMxQ2c+lVnmySrYlTrdUtZQ2hoYj4xV0owa3yvQhuCaVFiT2Hq0U57BvNEUs lY0OKRiYqFf/NO2wMwViOdRRHHFfIGykQOrVQzeahVwf+qhJOovRwnhyzMU17Mqe 57ZTAZVlZX0Ck9HNM8RTpsVToQ3UGN+nFiRdMXmmKUo0paJTYtl7tC55Iu5c3Js2 1HkjDQbdOlRl6kq2R0vy9PE3/n5p3zwVjsY0O30f1yykcuxezttRemgpxRpj6uCU vbyLrEUREv6K8uDPbUMNo478tV7BWx2Z9D06aDbSWy77g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1662586811; x=1662673211; bh=y5MYsvg9ecCp/AsPIz7iToa0VX8bHJVHwbw fF0ZHaTw=; b=zqlo+2JQHhccH4Mqsf2v6eZrqZlQoaAKqZPez99RAFGyi6aJW0e uOJ9EomlQGPgpblsqxtPCTlQeMq1+e2GQ8MeoD3T98Dz4PSDoRGNsU4lYNUr1eN5 78EMk7yyG5gYSzkv4KiPyKSiIQ1M8ODti8R/fuLLlqyQF3HVQccPFshqwZqkYyiH BR66FWyG0OOrfBt7Af2WVf6EcdSkorbMrZND4qPQjvkHOGdhmI3fU6UGaTxpKDdD qMkoMy2W9Ti6CmMbUkB2wyLUWF0o8w4ldpKJWYrvyhVPlY/TYLPJ4U3l6fn2tbsR /0h+Nd3tdlskcuDMfYY2CCSl/aasLwaAoTQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfedtuddgtddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffoggfgsedtkeertd ertddtnecuhfhrohhmpeetnhgurhgvihcuifhhvghriigrnhcuoegrnhgurhgvihesghhh vghriigrnhdrtghomheqnecuggftrfgrthhtvghrnhepieejlefhveevleffveegfeetle ejtedvgeejtddthefhhfdtiefhveegffeggeeknecuvehluhhsthgvrhfuihiivgeptden ucfrrghrrghmpehmrghilhhfrhhomheprghnughrvghisehghhgvrhiirghnrdgtohhm X-ME-Proxy: Feedback-ID: i68994715:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Sep 2022 17:40:10 -0400 (EDT) From: Andrei Gherzan To: yocto@lists.yoctoproject.org Cc: andrei@gherzan.com, Andrei Gherzan Subject: [meta-raspberrypi][PATCH 1/4] machine: Define firmware packages from separate variables Date: Wed, 7 Sep 2022 23:39:56 +0200 Message-Id: <20220907213959.1115886-1-andrei@gherzan.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 07 Sep 2022 21:40:15 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto/message/58002 From: Andrei Gherzan This approach allows someone to easily append firmware packages for another target than the current set one. For now, we only define the ones for Raspberry Pi 3 and Raspberry Pi 4 as they will be reused for in multiconfig builds for generating images that support both of these targets. Signed-off-by: Andrei Gherzan --- conf/machine/include/rpi-base.inc | 17 +++++++++++++++++ conf/machine/raspberrypi3.conf | 9 ++------- conf/machine/raspberrypi4.conf | 11 +++-------- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index a2edf06..6998460 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -150,3 +150,20 @@ do_image_wic[recrdeps] = "do_build" # The kernel image is installed into the FAT32 boot partition and does not need # to also be installed into the rootfs. RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "" + +RASPBERRYPI_3_FIRMWARE_PACKAGES += "\ + linux-firmware-rpidistro-bcm43430 \ + linux-firmware-rpidistro-bcm43455 \ + bluez-firmware-rpidistro-bcm43430a1-hcd \ + bluez-firmware-rpidistro-bcm4345c0-hcd \ +" +RASPBERRYPI_4_FIRMWARE_PACKAGES += "\ + linux-firmware-rpidistro-bcm43455 \ + bluez-firmware-rpidistro-bcm4345c0-hcd \ + linux-firmware-rpidistro-bcm43456 \ + bluez-firmware-rpidistro-bcm4345c5-hcd \ +" + +RASPBERRYPI_3_KERNEL ?= "kernel7.img" +# 'l' stands for LPAE +RASPBERRYPI_4_KERNEL ?= "kernel7l.img" diff --git a/conf/machine/raspberrypi3.conf b/conf/machine/raspberrypi3.conf index 1212498..46961b8 100644 --- a/conf/machine/raspberrypi3.conf +++ b/conf/machine/raspberrypi3.conf @@ -6,14 +6,9 @@ DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4" require conf/machine/include/arm/armv7a/tune-cortexa7.inc include conf/machine/include/rpi-base.inc -MACHINE_EXTRA_RRECOMMENDS += "\ - linux-firmware-rpidistro-bcm43430 \ - linux-firmware-rpidistro-bcm43455 \ - bluez-firmware-rpidistro-bcm43430a1-hcd \ - bluez-firmware-rpidistro-bcm4345c0-hcd \ -" +MACHINE_EXTRA_RRECOMMENDS += "${RASPBERRYPI_3_FIRMWARE_PACKAGES}" -SDIMG_KERNELIMAGE ?= "kernel7.img" +SDIMG_KERNELIMAGE ?= "${RASPBERRYPI_3_KERNEL}" UBOOT_MACHINE = "rpi_3_32b_config" SERIAL_CONSOLES ?= "115200;ttyS0" diff --git a/conf/machine/raspberrypi4.conf b/conf/machine/raspberrypi4.conf index 86c57ed..56d0905 100644 --- a/conf/machine/raspberrypi4.conf +++ b/conf/machine/raspberrypi4.conf @@ -7,15 +7,10 @@ require conf/machine/include/arm/armv7a/tune-cortexa7.inc include conf/machine/include/rpi-base.inc MACHINE_FEATURES += "pci" -MACHINE_EXTRA_RRECOMMENDS += "\ - linux-firmware-rpidistro-bcm43455 \ - bluez-firmware-rpidistro-bcm4345c0-hcd \ - linux-firmware-rpidistro-bcm43456 \ - bluez-firmware-rpidistro-bcm4345c5-hcd \ -" -# 'l' stands for LPAE -SDIMG_KERNELIMAGE ?= "kernel7l.img" +MACHINE_EXTRA_RRECOMMENDS += "${RASPBERRYPI_4_FIRMWARE_PACKAGES}" + +SDIMG_KERNELIMAGE ?= "${RASPBERRYPI_4_KERNEL}" UBOOT_MACHINE = "rpi_4_32b_config" SERIAL_CONSOLES ?= "115200;ttyS0" From patchwork Wed Sep 7 21:39:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrei Gherzan X-Patchwork-Id: 12457 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 51ED1C6FA8A for ; Wed, 7 Sep 2022 21:40:15 +0000 (UTC) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by mx.groups.io with SMTP id smtpd.web11.1493.1662586812586594705 for ; Wed, 07 Sep 2022 14:40:12 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@gherzan.com header.s=fm3 header.b=r80AhHPh; spf=pass (domain: gherzan.com, ip: 66.111.4.28, mailfrom: andrei@gherzan.com) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id E6ED45C016A; Wed, 7 Sep 2022 17:40:11 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 07 Sep 2022 17:40:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gherzan.com; h= cc:cc:content-transfer-encoding:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1662586811; x=1662673211; bh=0f kQm7b6V3Pe0TMpPS8R4XGtchln9BlKc3aDHG6NFIo=; b=r80AhHPhYEc7EBQmi5 m+Y1WJBW23lzzgmfbMeYitiFbKr7RElvmHx28zVZ2QCufmHAP98u9sVfAeEvWhfx PN8DREkmVnBDdHHuqMpF+qayZWSC34y5Yx6G7SL5GzfCpKsy/SOlHVkLkp4iAd8j zpXrnKoXUuW+682Q3CmmqVNbF8Wf4FhEBN2Sd7332EM7u4qqxb4bkXjuR9vRoDoV mTb14wKs0f2A3eMBP8I4r5CML9kmXwAjL5xIT/5ROMdBxPIn+sORgmktTRLoEHA7 kjz2aD16bX7StMxtPBUDHDUw94oyGWihoWfgoS9PQpGoTNkPg5KFc3gUTi43rmcV /5kQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1662586811; x=1662673211; bh=0fkQm7b6V3Pe0 TMpPS8R4XGtchln9BlKc3aDHG6NFIo=; b=YMqo2vIDZn2kxz4eOb/O63FRYy8SQ sSGIHVFSCUSMGXpZPamzR8z6TKWSvNCnjrP9kQb7tZGinlOLroA51hahirPi8xKg NPLGO4/bn1ZKPMPIVXLjcXpVGHPGDuG7I59pjgdy7ZK+FvBDWuTGXMW0C+Lb9c4B ikLkCc8eWiprBwK2X5Jbq0Ducm4F1DqRNgtUwvtB2j7vLrsm4ICbDZIP4IpKGPUP IGm2jXoz/n2JNOBVmi7fl5+rx0I6nIC+fjnn1CGiGotMxFGTMKwb0Fk629yYrjRI 2P6DbK3y66P0Wb0Shnq0uc3L7UkpQJom9XPHD6OBgeryCMicgpSEcqsGg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfedtuddgtdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtke ertdertddtnecuhfhrohhmpeetnhgurhgvihcuifhhvghriigrnhcuoegrnhgurhgvihes ghhhvghriigrnhdrtghomheqnecuggftrfgrthhtvghrnhepjefhvefhgefgffejgeelke ejleeiffejgffgkeeggfffgfffieeffeeghefhtdffnecuvehluhhsthgvrhfuihiivgep tdenucfrrghrrghmpehmrghilhhfrhhomheprghnughrvghisehghhgvrhiirghnrdgtoh hm X-ME-Proxy: Feedback-ID: i68994715:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Sep 2022 17:40:11 -0400 (EDT) From: Andrei Gherzan To: yocto@lists.yoctoproject.org Cc: andrei@gherzan.com, Andrei Gherzan Subject: [meta-raspberrypi][PATCH 2/4] multiconfig: Add multiconfig setup for Raspberry Pi 3+4 images Date: Wed, 7 Sep 2022 23:39:57 +0200 Message-Id: <20220907213959.1115886-2-andrei@gherzan.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220907213959.1115886-1-andrei@gherzan.com> References: <20220907213959.1115886-1-andrei@gherzan.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 07 Sep 2022 21:40:15 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto/message/58003 From: Andrei Gherzan This defines two multiconfigs: - raspberrypi: can used to generate an image that support both Raspberypi 3 and Raspberrypi 4 booting - raspberrypi3: used as a dependency for the above Signed-off-by: Andrei Gherzan --- conf/multiconfig/raspberrypi.conf | 30 ++++++++++++++++++++++++++++++ conf/multiconfig/raspberrypi3.conf | 7 +++++++ 2 files changed, 37 insertions(+) create mode 100644 conf/multiconfig/raspberrypi.conf create mode 100644 conf/multiconfig/raspberrypi3.conf diff --git a/conf/multiconfig/raspberrypi.conf b/conf/multiconfig/raspberrypi.conf new file mode 100644 index 0000000..2b6d6c3 --- /dev/null +++ b/conf/multiconfig/raspberrypi.conf @@ -0,0 +1,30 @@ +# SPDX-FileCopyrightText: Andrei Gherzan +# +# SPDX-License-Identifier: MIT + +TMPDIR = "${TOPDIR}/tmp-multi-raspberrypi" + +# Base it on Raspberry Pi 4 (32 bit) +MACHINE = "raspberrypi4" + +# +# Add boot support for: +# - Raspberry Pi 3 (32 bit) +# + +# Make sure the kernel is deployed for all the supported targets. +do_image_wic[mcdepends] += " \ + mc:${BB_CURRENT_MC}:raspberrypi3:virtual/kernel:do_deploy \ +" + +# Include firmware for all the supported targets. +MACHINE_EXTRA_RRECOMMENDS:append = " \ + ${RASPBERRYPI_3_FIRMWARE_PACKAGES} \ +" + +# Deploy the kernel images for all the supported targets in the boot partition. +# FIXME: No support for u-boot (yet). +RASPBERRYPI_3_MULTI_DEPLOY_DIR_IMAGE = "${TOPDIR}/tmp-multi-raspberrypi3/deploy/images/raspberrypi3" +IMAGE_BOOT_FILES:append = " \ + ${RASPBERRYPI_3_MULTI_DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE_DIRECT};${RASPBERRYPI_3_KERNEL} \ +" diff --git a/conf/multiconfig/raspberrypi3.conf b/conf/multiconfig/raspberrypi3.conf new file mode 100644 index 0000000..9fa6245 --- /dev/null +++ b/conf/multiconfig/raspberrypi3.conf @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: Andrei Gherzan +# +# SPDX-License-Identifier: MIT + +MACHINE = "raspberrypi3" + +TMPDIR = "${TOPDIR}/tmp-multi-raspberrypi3" From patchwork Wed Sep 7 21:39:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrei Gherzan X-Patchwork-Id: 12455 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 3DD3CC38145 for ; Wed, 7 Sep 2022 21:40:15 +0000 (UTC) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by mx.groups.io with SMTP id smtpd.web10.1437.1662586813371605672 for ; Wed, 07 Sep 2022 14:40:13 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@gherzan.com header.s=fm3 header.b=e906XmXl; spf=pass (domain: gherzan.com, ip: 66.111.4.28, mailfrom: andrei@gherzan.com) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id BA9D95C0192; Wed, 7 Sep 2022 17:40:12 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Wed, 07 Sep 2022 17:40:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gherzan.com; h= cc:cc:content-transfer-encoding:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1662586812; x=1662673212; bh=Wd koVoceNQRFVfq4C+peakdOxsshK6Ixd1+cjLmEYls=; b=e906XmXly9QTvgG1Om X73gNXdtsFL6r+O0L/sD8hFvC4+OlfdRzzUfvmH/p8vkiK47Ry0jgG0Cs+Mm9l3e pf9spBD9KgYUq8jCk+GYOD3onsaidsi9m7Rw8/eqqpETbwLuIcWn/b1jJP8Kb6KK HBSjNbYSUmt5dTJnfN2JrQy6xgnGnNZDeSzrTY8ao+KHhk9pNf1olYJLn4glzXA+ mnwa2TMSTnj95NJ91pBGV6wQnhWGIk/x7ukAAn0oLDdSY8AKOsUIT7luc80OnK86 eCxIln0uqL5DuTRone+BijLr8m8oIU29EYfXM3s5tgqaJ+AiD8ipeYb+g6ICXOyb KN5A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1662586812; x=1662673212; bh=WdkoVoceNQRFV fq4C+peakdOxsshK6Ixd1+cjLmEYls=; b=KU5UKpzHcNWJQDTSLa1w8FtuSPOEZ ZIHAOxS8yGYQP3jIX74X5iIvOjlPh7bk/0IVpKB2YvJ+6V2tPMv+yeVamfPBF+HE 2mwRuEv4k4X4zZafu3OS4552DqEAlAhRTlDEcqF/gHQB1CcuSxFcXP/OK6D6phvx 7f7nX7X+bPNyn9DBm8A94lsybovWaJF2spzWiNjHlFauAXUYRxeZtsDtt1AI4VkY fUYQFrfb015gBPIKRXQ2dFaNPnc/qGMZtc0r7sIAaXqsFzyFBFzD/oyG1Sj7QKfX Z7+lMuFAmOGRF/tPkagHgO2RrbUiK9zHeHFf5bqHJI9sqyPqxezEI3D8g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfedtuddgtdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtke ertdertddtnecuhfhrohhmpeetnhgurhgvihcuifhhvghriigrnhcuoegrnhgurhgvihes ghhhvghriigrnhdrtghomheqnecuggftrfgrthhtvghrnhepjefhvefhgefgffejgeelke ejleeiffejgffgkeeggfffgfffieeffeeghefhtdffnecuvehluhhsthgvrhfuihiivgep tdenucfrrghrrghmpehmrghilhhfrhhomheprghnughrvghisehghhgvrhiirghnrdgtoh hm X-ME-Proxy: Feedback-ID: i68994715:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Sep 2022 17:40:12 -0400 (EDT) From: Andrei Gherzan To: yocto@lists.yoctoproject.org Cc: andrei@gherzan.com, Andrei Gherzan Subject: [meta-raspberrypi][PATCH 3/4] ci: Add jobs for multiconfig builds Date: Wed, 7 Sep 2022 23:39:58 +0200 Message-Id: <20220907213959.1115886-3-andrei@gherzan.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220907213959.1115886-1-andrei@gherzan.com> References: <20220907213959.1115886-1-andrei@gherzan.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 07 Sep 2022 21:40:15 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto/message/58004 From: Andrei Gherzan This also fixes a small typo in the normal build matrix. Signed-off-by: Andrei Gherzan --- .github/workflows/yocto-builds.yml | 68 +++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/.github/workflows/yocto-builds.yml b/.github/workflows/yocto-builds.yml index 824745c..0f2dcf5 100644 --- a/.github/workflows/yocto-builds.yml +++ b/.github/workflows/yocto-builds.yml @@ -48,7 +48,7 @@ jobs: .github/workflows/docker-images/yocto-builder/** .github/workflows/docker-images/*.sh .github/workflows/yocto-builds.yml - classes/**' + classes/** conf/** dynamic-layers/** files/** @@ -84,3 +84,69 @@ jobs: - name: Cleanup dangling docker images uses: ./.github/actions/docker-clean-dangling if: always() + + build-multiconfig: + strategy: + fail-fast: true + matrix: + machine: + - raspberrypi4 + image: ['mc:raspberrypi:rpi-test-image'] + distro: [poky] + runs-on: [self-hosted, Linux] + name: ${{ matrix.machine }}/${{ matrix.image }}/poky/systemd + env: + DL_DIR: /var/lib/ci/yocto/downloads + SSTATE_DIR: /var/lib/ci/yocto/sstate + steps: + - name: Checkout the code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Define Yocto build files + id: changed-files-specific + uses: tj-actions/changed-files@v24 + with: + files: | + .github/actions/** + .github/workflows/docker-images/yocto-builder/** + .github/workflows/docker-images/*.sh + .github/workflows/yocto-builds.yml + classes/** + conf/** + dynamic-layers/** + files/** + lib/** + recipes-** + wic/** + - name: Build a temporary yocto-builder image + uses: ./.github/actions/docker-build + with: + docker_image: yocto-builder + id: ${{ github.event.number }} + if: steps.changed-files-specific.outputs.any_changed == 'true' + - name: Build the image + run: | + docker run --rm \ + -v "$GITHUB_WORKSPACE:/work:ro" \ + -v "$DL_DIR:$DL_DIR:rw" \ + -v "$SSTATE_DIR:$SSTATE_DIR:rw" \ + --env "BASE_REF=$GITHUB_BASE_REF" \ + --env "MACHINE=${{ matrix.machine }}" \ + --env "DISTRO=${{ matrix.distro }}" \ + --env "IMAGE=${{ matrix.image }}" \ + --env "DL_DIR=$DL_DIR" \ + --env "SSTATE_DIR=$SSTATE_DIR" \ + --env "BBMULTICONFIG=raspberrypi\ raspberrypi3" \ + --env "BB_ENV_PASSTHROUGH_ADDITIONS=BBMULTICONFIG" \ + "yocto-builder-${{ github.event.number }}" \ + /entrypoint-build.sh + if: steps.changed-files-specific.outputs.any_changed == 'true' + - name: Cleanup temporary docker image + uses: ./.github/actions/docker-clean-image + with: + docker_image: yocto-builder-${{ github.event.number }} + if: always() + - name: Cleanup dangling docker images + uses: ./.github/actions/docker-clean-dangling + if: always() From patchwork Wed Sep 7 21:39:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrei Gherzan X-Patchwork-Id: 12458 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 40495C6FA89 for ; Wed, 7 Sep 2022 21:40:15 +0000 (UTC) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by mx.groups.io with SMTP id smtpd.web09.1500.1662586814203357942 for ; Wed, 07 Sep 2022 14:40:14 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@gherzan.com header.s=fm3 header.b=pzkpsBtr; spf=pass (domain: gherzan.com, ip: 66.111.4.28, mailfrom: andrei@gherzan.com) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 89E305C0199; Wed, 7 Sep 2022 17:40:13 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 07 Sep 2022 17:40:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gherzan.com; h= cc:cc:content-transfer-encoding:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm3; t=1662586813; x=1662673213; bh=l7 wiyow8f/xRjlQi65IkYh+0tjGq9EQxUaebeDhyRhg=; b=pzkpsBtr5nSJLuLHva N7tXIL+y8HmLgIERRQ/aSDHx/uqWx44OZm2oXwmu3R+lLVzSfb4XmDPLBMWuE6+J bvZYRjbxrBA3ojVVPrl9yp6heOuxeUudf9L/Dq+ATFkAaWFW6UY0I4sb3cmgWqGj HXs+Db72VdPcr63BBgeDqu/Tg0d2eHY3Sotl6CSoLkD9TKD6FfnCfEmk8cn2kO9+ rY6c2Gf2F82+86L1HbzC5NmP6OCKD7l55T9StVhjsAHIUMRH5TVivxv5Anmoejba sAlxJulQ2eFU9avxyo1pRn0op/ssLYXoZQZzSM2ERsYdu7Wm9z47TrkSA++TDf/V 5+GQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1662586813; x=1662673213; bh=l7wiyow8f/xRj lQi65IkYh+0tjGq9EQxUaebeDhyRhg=; b=mmtKPECH2Eub8KyD8/0kEMHEJpgK/ ZPwN5pYul8Nwm1B69qVeSYrwDQ55MoWfeA5LIhSei4YBkNqmnIUEo3HbmZAZIjyM 3nhptfZTSibRZDCu8HDak0prDAkdFlgxNLTM6Hp4UsNqQZsxqRh2ZTiQcSrHYoCP /7ZoNwsolgrHb+JOv9qa3hUnndOGQXmt+HoVLJ79MfNKBA4OOTxNnwCAmSsj8qge LbPfhBzFkZY8qJ6oDO5IgzIFUnUK58Pg7TA0+G+aXkE/hdh6KSvA2sSbzk3TvVYX xwjCu14DZMz8XFzb+vBHlgThf5Kj6bnB+Xudw85rY55X60wQo6/KKS3xQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfedtuddgtddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffojghfggfgsedtke ertdertddtnecuhfhrohhmpeetnhgurhgvihcuifhhvghriigrnhcuoegrnhgurhgvihes ghhhvghriigrnhdrtghomheqnecuggftrfgrthhtvghrnhepveeujefhjeetledugfehtd ffgfeuueejhfelfeegleejffejteegtddujedvleelnecuffhomhgrihhnpeihohgtthho phhrohhjvggtthdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpegrnhgurhgvihesghhhvghriigrnhdrtghomh X-ME-Proxy: Feedback-ID: i68994715:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 7 Sep 2022 17:40:12 -0400 (EDT) From: Andrei Gherzan To: yocto@lists.yoctoproject.org Cc: andrei@gherzan.com, Andrei Gherzan Subject: [meta-raspberrypi][PATCH 4/4] docs: Add multiconfig documentation Date: Wed, 7 Sep 2022 23:39:59 +0200 Message-Id: <20220907213959.1115886-4-andrei@gherzan.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220907213959.1115886-1-andrei@gherzan.com> References: <20220907213959.1115886-1-andrei@gherzan.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 07 Sep 2022 21:40:15 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto/message/58005 From: Andrei Gherzan Signed-off-by: Andrei Gherzan --- docs/index.rst | 1 + docs/multiconfig.md | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 docs/multiconfig.md diff --git a/docs/index.rst b/docs/index.rst index 3f8a088..806ce87 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -14,6 +14,7 @@ Contents: readme layer-contents extra-build-config + multiconfig extra-apps ipcompliance contributing diff --git a/docs/multiconfig.md b/docs/multiconfig.md new file mode 100644 index 0000000..fecbfce --- /dev/null +++ b/docs/multiconfig.md @@ -0,0 +1,40 @@ + + +# Multiconfig Support + +The build system provides functionality for building multiple configurations in +the same build invocation while also supporting dependencies between them. For +more info check the +[official documentation](https://docs.yoctoproject.org/dev-manual/common-tasks.html#building-images-for-multiple-targets-using-multiple-configurations). +`meta-raspberrypi` uses this to provide the ability to generate images that can +boot on multiple targets (for example, being able to boot either a Raspberry Pi +3 or a Raspberry Pi 4 in 32bit mode using the same image). This is in contrast +to the classic builds where the `MACHINE` defines the only target intended for +the final image artefact. + +## Generating an Image For Multiple Raspberry Pi Boards + +Once you've set up a build environment, the multiconfigs need to be enabled +adding to the build's `local.conf` the following: + + BBMULTICONFIG += "raspberrypi raspberrypi3" + +With that configured, any image can now be build using the `raspberrypi` +multiconfig. Here is an example that will build the `core-image-base`: + + bitbake mc:raspberrypi:core-image-base + +The final image will be available in: + + /tmp-multi-raspberrypi/deploy/images/raspberrypi4/ + +This image will boot and provide the support for all the machines listed below. + +## Supported Machines for Multiconfig Builds + +* raspberrypi3 +* raspberrypi4