From patchwork Fri Mar 21 13:25:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59736 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 97012C3600B for ; Fri, 21 Mar 2025 13:25:50 +0000 (UTC) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by mx.groups.io with SMTP id smtpd.web11.21061.1742563543920922320 for ; Fri, 21 Mar 2025 06:25:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=OCH2w3hO; spf=pass (domain: linaro.org, ip: 209.85.167.43, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-548409cd2a8so2116517e87.3 for ; Fri, 21 Mar 2025 06:25:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563542; x=1743168342; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zErSyHtBL8AwOjSCoV00LTljZ6I+SBCKPcOgxhNOXUc=; b=OCH2w3hOsrHwDM39iWrxLURVU9f6Xj6c5gwiW4o1riFPX2k6EEZgCzAnYvS3NZcQyC M9S86g2ZI9ca4yT4vhe7mVn70L8/wWp+2QyB4cwFIS8hbCVCIkKPrYjGMmjXnDAUAC4q 6GdhcS0+xRdcqZvxqaeZs1MnYM6JxL6k3yBekD1IyFt8VlInWVvSSSi+WhtsA+4lcXBS 5Io/TNQfCqNm6mMZgbaYMzmga35t+EP8IGjt0DNaGYP3ysYsnZbzNU2CtFt2EP3VegRC EvBt83c7rnsxtKJ5Y1eWdjXxwH54w4SLOHCN+ho/1nj4yN6SyfD/11JvgTOG2MGG1gDF e62g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563542; x=1743168342; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zErSyHtBL8AwOjSCoV00LTljZ6I+SBCKPcOgxhNOXUc=; b=vMQYbrrtK7FSbvI0JLW1tLOLiYC/3V4g0C00Pls8aomd4+Bn450BrYUw2qTwAIXmoZ T3p35qJfTcFkT2YMBE2nNlt1uiw29cRnVPqyEPCXJgKzJTL2NJbPhCKo9Mv2sw1EIIr7 nKBXeUL7H60bPoKCAeeRoEmo5kGICSa4ymjcNzNw0fCzTBHNIHQrZWwtLKwiA/hLrqtb XDtPvRofHS8FRfLtiZp7YixtQE0UEcYNN0SOgwwrD8j2McuoJnACf2m1k2DktDpsycPz QxpTzv1n+crYDpkXzrS0vhRNEgYdRD5VFqDp0FORLLv0HON/PWoFFA/atFrpqOnJQtmv YfQg== X-Gm-Message-State: AOJu0YwPDfx2B6EziqVqK8zoFUKP5aljNWtrm32BsZiCOociEm/TJUx8 vKYO2qX0iNI1rLqNxo5iEFpl3HjMrSDnJG0soUByaQJDQ4WEqjmhFl3A5zqPBcXxqjTtzXk2UO2 F7Ws= X-Gm-Gg: ASbGnctnb++/FfJdy/loH8izdPw2b+1mi7VyzuyNz85uNW49QvK5rOXcQVCVvpbZ2us Q4OVdN/AS5TqeZTYpQ2f+YnNOoWc5SnGPrUHnYBU67AiS5uTZrSOseKm1wDE8A1FOfr71o5actB ozkzFtau7F0PgYsmDCT3eeW3h81HwRQCWcDm7XkHOCuDO/TzpGQZ0suq6mBxDfhZPYiqGSBYKPR WP+QM9Xv8oaqy3kTz3YOcE6j5RrhrXUJkkIXWybX930+RSpiyf4ls5ys9qNs0DsAbqUT05BXKc4 PN4pJ3Ju5AUMlL/XKnCAzW1SHV3ScurCTPFf2+w/wCU7uHLoXbNmNeIOW5kSZraVyLhtaIW7htk 5jFgKtKeSQipq5ZyVJe6ckoevoFRuc/py X-Google-Smtp-Source: AGHT+IFVbXQvy3FgN4a8TCUp9qJWmOMMpJprC1ai8GOeEOt6WixCc3pZ/qGuc4E9HqGUe5p8ru6qlA== X-Received: by 2002:a05:6512:10cd:b0:549:91d3:8e66 with SMTP id 2adb3069b0e04-54ad647b522mr935086e87.8.1742563541941; Fri, 21 Mar 2025 06:25:41 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.25.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:25:40 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 01/11] systemd: enable efi support if in MACHINE_FEATURES too Date: Fri, 21 Mar 2025 15:25:07 +0200 Message-ID: <20250321132517.670372-2-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:25:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213457 For example genericarm64 enables "efi" in MACHINE_FEATURES and in u-boot. Boot without "efi" in systemd works with EFI protocols but for example efivars is not mounted at all so various checks fail in userspace. Fix these by enabling "efi" support if it's in MACHINE_FEATURES. Fixes efivars mount to /sys/firmware/efi/efivars etc. Signed-off-by: Mikko Rapeli --- meta/recipes-core/systemd/systemd_257.3.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/systemd/systemd_257.3.bb b/meta/recipes-core/systemd/systemd_257.3.bb index 64fb8fe69a..9bc4532021 100644 --- a/meta/recipes-core/systemd/systemd_257.3.bb +++ b/meta/recipes-core/systemd/systemd_257.3.bb @@ -69,6 +69,7 @@ PAM_PLUGINS = " \ PACKAGECONFIG ??= " \ ${@bb.utils.filter('DISTRO_FEATURES', 'acl audit apparmor efi ldconfig pam pni-names selinux smack polkit seccomp', d)} \ + ${@bb.utils.filter('MACHINE_FEATURES', 'efi', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'minidebuginfo', 'coredump elfutils', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \ From patchwork Fri Mar 21 13:25:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59737 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 86DEAC36000 for ; Fri, 21 Mar 2025 13:25:50 +0000 (UTC) Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) by mx.groups.io with SMTP id smtpd.web11.21063.1742563547726288205 for ; Fri, 21 Mar 2025 06:25:48 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=IWhDeqJY; spf=pass (domain: linaro.org, ip: 209.85.167.48, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f48.google.com with SMTP id 2adb3069b0e04-547bcef2f96so2313083e87.1 for ; Fri, 21 Mar 2025 06:25:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563546; x=1743168346; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xULRQVdTY/LxRb9S1oZ219XVrnqgSCEV0rTfQfvvQAA=; b=IWhDeqJYxE4Qzstrz22NKt7DVG/vbMeNADj8LUDDSecNcuGN9sy3A1YredoeYscGur VvptlNu6oGvG2tT5Au1gtmVY0TUssuQv/Z0cgYq6lsbWuNxIGsE/FxHrXDzhOIeEemlW jcDlvPld17Qr85gbiFFCzI4U9odrHs99+PQjD2clBDs69IdBgxdcz0xp2w7UgbsaEqzF ejLkMEsmRMi4RsWIzTmVPfQ9QTRL1YL8o6mRwLSVfwKRmqVDmO7+HVVeWCBEax2zS9jt v+XQR9GcRNdBdLnKMf3E1dKXiM+uCD2mTb2jeOeiIqXgmraCHzunVeRBEfxx5t0TGsQC jf4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563546; x=1743168346; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xULRQVdTY/LxRb9S1oZ219XVrnqgSCEV0rTfQfvvQAA=; b=JG1V30w59PTRN4LWR6ARgZ7uXzumj6GSpFM4rCK2JaYV2w5i9NUIw7HjkZ5oBjTH7L NoHd6l/8rc0BAvv5YdwPe/0URfNSuFkVpzcXPJX4vzxK8W8+yZH+6ZeprQ0R3FA1REQK ymUbikA1Xq2v8QADO0znHB5fjcYrHepGAzcOPPPZ8ii2ufZsAIV4B7CHjYRot0/C8qdc bM/IekRqSVQt1kr9IOEpd37poK1Jf4wl2TVq0rh+jJL5TtLpCONv8jlLtsO1l/oPyMN0 9DLq/puXYNTixy6wSRQCt5yVwvRMsyxc7nLQfVnGPQA9TnlNF6SzO+S7JIF5HeD3UN5T 9rMA== X-Gm-Message-State: AOJu0YyRWDzmqaHtV0aBuLPlZIj0DkSU4RJ0VMJYkNSFVsG+78Z0S0og kASiWw/UOWN47pJ/nvdCkK4bdM760gf2IL5enEsM5J/W59O6JbnJChskxmRJdRcIYI5nD0OebUD EkJk= X-Gm-Gg: ASbGncsjAMPrk1ce1j2GVyshAVpA1isW7aVdRKrOi9dH5sjORWKS10oqAbsslBlV775 Cq+6OKvjM6nxrFxQK8DiRxdkdo8eC6Zo8FC0ztUNaXVdjQZGvXMkqjuEcqMU2gmd+UFWdiKwxSf u28ZcSLyOnZXrxYG+TEQL79v08jsKYv3ov470oJAGYQFyONbvL0byHXNSHYIjW+xSA45q6EY5YM gfXbIDLcA8QlrmRLaJjvhrRDq65n5Y3B6zmj9yqKhWg9hO02JOczz+YXYQ+CCnvatUROhuWKwHY zO/c2/pvlr5gzZXThO2jJ8DXZRZMdF65sgEtjrTWY3tG1awxdD6tLnQj+3kDOC1cJlvUNnsyrp3 joMt/mw/4SDlxlHbcKiBbOw== X-Google-Smtp-Source: AGHT+IFgMXqx29PR+36cldAqLLow5ONmqVI67LYZ20IXynlT32jJwMo0LgYX3Twb9JZSsp2+PFREPw== X-Received: by 2002:a05:6512:b85:b0:545:2f5d:d5ab with SMTP id 2adb3069b0e04-54ad6501e12mr1320010e87.37.1742563545908; Fri, 21 Mar 2025 06:25:45 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.25.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:25:44 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 02/11] uki.bbclass: drop serial console from kernel command line Date: Fri, 21 Mar 2025 15:25:08 +0200 Message-ID: <20250321132517.670372-3-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:25:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213458 The kernel will continue using console from firmware which is much better on HW when we may not know at build time which console HW and drivers are available, e.g. like on genericarm64 machine. Signed-off-by: Mikko Rapeli --- meta/classes-recipe/uki.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/uki.bbclass b/meta/classes-recipe/uki.bbclass index d9a7fb0e6f..fedff222c6 100644 --- a/meta/classes-recipe/uki.bbclass +++ b/meta/classes-recipe/uki.bbclass @@ -81,7 +81,7 @@ UKIFY_CMD ?= "ukify build" UKI_CONFIG_FILE ?= "${UNPACKDIR}/uki.conf" UKI_FILENAME ?= "uki.efi" UKI_KERNEL_FILENAME ?= "${KERNEL_IMAGETYPE}" -UKI_CMDLINE ?= "rootwait root=LABEL=root console=${KERNEL_CONSOLE}" +UKI_CMDLINE ?= "rootwait root=LABEL=root" # secure boot keys and cert, needs sbsign-tools-native (meta-secure-core) #UKI_SB_KEY ?= "" #UKI_SB_CERT ?= "" From patchwork Fri Mar 21 13:25:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59735 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 8C466C3600A for ; Fri, 21 Mar 2025 13:25:50 +0000 (UTC) Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) by mx.groups.io with SMTP id smtpd.web11.21064.1742563549389884252 for ; Fri, 21 Mar 2025 06:25:49 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=Y2ULjXIR; spf=pass (domain: linaro.org, ip: 209.85.208.181, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-30bfc79ad97so30929381fa.1 for ; Fri, 21 Mar 2025 06:25:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563547; x=1743168347; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DMipRXNP+w7buVUw3k9n8R6+R1UDtIZrGFwg1zyiylY=; b=Y2ULjXIRjNtB1kvsOqOtNEb877hNeZwLcm8a6gzUx3U7DGxVL2oz5A9XpL9hCZCz+Z nXgwE77KPR3xyi6OTw0F0Jj8cN2wClVzyyrXKhX6fozVpgXZIS/pvjI+UAQ34YMi07ni rDKUzx8Ory3HaV+xmBbtdbMOeT5TFoMVD3eF4vrWuDTf3rY8n6ZxqsN8Qegz1rykC5J7 WgXUqfW8JPzzqSmmTKZRJjbzsZycU7DERqY4syKT6i3wIOV3zc16Xke1X9WcQeWxUg9n bmAvjgRA5sfS9llzqQo4oSHFSfCoOiZAQxNJJ4DkqKg7gIRqYyexldtIF5d79lZh/UpW tM1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563547; x=1743168347; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DMipRXNP+w7buVUw3k9n8R6+R1UDtIZrGFwg1zyiylY=; b=vDwsLjYkREoF2QQLrbMO+cvyhuK9pynoneL0j+tmwNUY8HA3vQg39knOllGwSlJ2U3 jqjK1RpSYjWWUz6UpOWukb9945KjSXPxiS2SR8cDyH4CKLxsU1XlgPpLz3DV0AOKjfhz WpjO/2YN7CyhM+JHlqSpnC/ipYHXxZFUoMArFL2nttwjD7KAF2OAV9D7Fs6O34Ja1X31 vJw1LyfRSBEF/XqVLgK5m1/ayPjRko6mvqruBRFrfTUT9Tk73qL8KA3uoI0hYcDhB2Uh v87BfNG23D3XKXqhcpBvvLq3BmcUfV5bEJy9hkDtlmcofVKQjN0HyjDIAsj/ZvYWaTDg I3xQ== X-Gm-Message-State: AOJu0YxZPnJRH3RgHvxG65wWNdK8acSykCpNlDjcr30C/cHiL0jWsDD4 ObYbGhtif5VidZfSHfArTrh2ovMBZMcN5Xlf8JZdwmInVpAQz8q65tSAWa1dl/w6E1BWECrCDbz BlmU= X-Gm-Gg: ASbGncvnLkTDaJP0+ubAZ8yKToWrITuJjuXbk1Fhbky0i3W/xlWOpTd4e6BeB6LX03l DjOWxxBtJ5zAS5hb232B2WzGiP7GDA3PVBTAmqmN4YSbNe+3WnKc3rJ6Yz8uZs6TjJj5JBcxPAS FJr9j80BNEBvFfKhnl43M4PYUh2lLOcNUM9jz8cANntM/YScXfKA1kyRrtFn4Ah21yq7PpNF19B 74W/rElmdHeyN8xTn53+Nw2Qk7xKvB/9QuQU0p8t4qx5pWivGS03Go/IG/6IG0ac5gea6gno8Ej abkn4I1ws7rtxxyWr8gTo3u+Oi7SoIWZUCjd0MSyH22BUPz+nnZfsbx4XadKufuFwnZAlW7l8nA 3NFXEDumuy25uyipZOJjgjg== X-Google-Smtp-Source: AGHT+IFiPM6Gq1/V7DYM5FB29Yt9lg0q3SLw8/mizec3rhIvzsfsAJYrLwGefJSR2UZLto7+vOhs7A== X-Received: by 2002:a05:6512:1313:b0:542:2139:636a with SMTP id 2adb3069b0e04-54ad6034b1dmr1317755e87.7.1742563547443; Fri, 21 Mar 2025 06:25:47 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.25.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:25:46 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 03/11] kernel.bbclass: add kernel-initrd-modules meta package Date: Fri, 21 Mar 2025 15:25:09 +0200 Message-ID: <20250321132517.670372-4-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:25:50 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213459 At the moment linux-yocto kernels for various architectures are not very modular and a lot of drivers are built into the kernel even when they are not needed at runtime. These make the main kernel binary big and slow to boot. This also impacts udev in userspace which takes a long time processing events from all these built in drivers, for example when udev runs in initrd. Then constructing the initrd is very device and kernel configuration specific. initrd image needs explicitly define which binary packages to install to avoid pulling in complex dependencies. A full set of kernel modules via kernel-modules meta package is too big for initrd and most of the drivers are not needed for use cases like "just load modules to mount main rootfs". Then the initrd configuration breaks if kernel driver is built into the kernel since the binary package doesn't exist. Introduce kernel-initrd-modules meta package to solve these problems. The meta package adds dependencies to real kernel modules based on the kernel module file paths so that it will include several kernel subsystems and their drivers which are often needed to find main rootfs from some block device. This works when drivers are built as modules but does not break if drivers are built into the kernel. The resulting initrd is also smaller since only a subset of drivers are needed for "mount the rootfs" usecase. Tested on genericarm64 kernel and qemu and AMD KV260 HW. Signed-off-by: Mikko Rapeli --- .../kernel-module-split.bbclass | 46 +++++++++++++++++++ meta/classes-recipe/kernel.bbclass | 5 +- meta/classes-recipe/module.bbclass | 37 +++++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/kernel-module-split.bbclass b/meta/classes-recipe/kernel-module-split.bbclass index 9487365eb7..06e8fbed6e 100644 --- a/meta/classes-recipe/kernel-module-split.bbclass +++ b/meta/classes-recipe/kernel-module-split.bbclass @@ -42,6 +42,40 @@ KERNEL_MODULE_PACKAGE_PREFIX ?= "" KERNEL_MODULE_PACKAGE_SUFFIX ?= "-${KERNEL_VERSION}" KERNEL_MODULE_PROVIDE_VIRTUAL ?= "1" +# subset of kernel modules needed in initrd, to e.g. mount rootfs from block device +KERNEL_INITRD_MODULES_META_PACKAGE ?= "${@ d.getVar("KERNEL_PACKAGE_NAME") or "kernel" }-initrd-modules" + +# match regex to path or file name. E.g. include all drivers with files in path /drivers/ata/ +KERNEL_INITRD_MODULES_REGEX ?= "(.*)(\ +/drivers/acpi/|\ +/drivers/ata/|\ +/drivers/block/|\ +/drivers/cdrom/|\ +/drivers/char/hw_random/|\ +/drivers/char/tpm/|\ +/drivers/char/|\ +/drivers/crypto/|\ +/drivers/dax/|\ +/drivers/firmware/arm_scmi/|\ +/drivers/gpu/drm/|\ +/drivers/md/|\ +/drivers/mmc/|\ +/drivers/mtd/|\ +/drivers/nvdimm/|\ +/drivers/nvme/|\ +/drivers/pci/|\ +/drivers/scsi/|\ +/drivers/tee/|\ +/drivers/tty/serial/|\ +/drivers/virtio/|\ +/drivers/watchdog/|\ +/kernel/arch/|\ +/kernel/block/|\ +/kernel/crypto/|\ +/kernel/fs/|\ +/kernel/lib/\ +)(.*)" + python split_kernel_module_packages () { import re @@ -183,6 +217,18 @@ python split_kernel_module_packages () { modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='%s-%s' % (kernel_package_name, kernel_version)) if modules: d.appendVar('RDEPENDS:' + metapkg, ' '+' '.join(modules)) + + initrd_metapkg = d.getVar('KERNEL_INITRD_MODULES_META_PACKAGE') + initrd_module_regex = re.compile(d.getVar('KERNEL_INITRD_MODULES_REGEX')) + initrd_modules = [] + for module in modules: + files = d.getVar('FILES:' + module) + m = re.match(initrd_module_regex, files) + if m: + initrd_modules.append(module) + + if initrd_modules: + d.appendVar('RDEPENDS:' + initrd_metapkg, ' '+' '.join(initrd_modules)) } do_package[vardeps] += '${@" ".join(map(lambda s: "module_conf_" + s, (d.getVar("KERNEL_MODULE_PROBECONF") or "").split()))}' diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass index 64a685a964..8fda61574d 100644 --- a/meta/classes-recipe/kernel.bbclass +++ b/meta/classes-recipe/kernel.bbclass @@ -695,13 +695,14 @@ EXPORT_FUNCTIONS do_compile do_transform_kernel do_transform_bundled_initramfs d # kernel-base becomes kernel-${KERNEL_VERSION} # kernel-image becomes kernel-image-${KERNEL_VERSION} -PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules ${KERNEL_PACKAGE_NAME}-dbg" +PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules ${KERNEL_PACKAGE_NAME}-initrd-modules ${KERNEL_PACKAGE_NAME}-dbg" FILES:${PN} = "" FILES:${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo" FILES:${KERNEL_PACKAGE_NAME}-image = "" FILES:${KERNEL_PACKAGE_NAME}-dev = "/${KERNEL_IMAGEDEST}/System.map* /${KERNEL_IMAGEDEST}/Module.symvers* /${KERNEL_IMAGEDEST}/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build" FILES:${KERNEL_PACKAGE_NAME}-vmlinux = "/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION_NAME}" FILES:${KERNEL_PACKAGE_NAME}-modules = "" +FILES:${KERNEL_PACKAGE_NAME}-initrd-modules = "" FILES:${KERNEL_PACKAGE_NAME}-dbg = "/usr/lib/debug /usr/src/debug" RDEPENDS:${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base (= ${EXTENDPKGV})" # Allow machines to override this dependency if kernel image files are @@ -716,7 +717,9 @@ ALLOW_EMPTY:${KERNEL_PACKAGE_NAME} = "1" ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-base = "1" ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-image = "1" ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-modules = "1" +ALLOW_EMPTY:${KERNEL_PACKAGE_NAME}-initrd-modules = "1" DESCRIPTION:${KERNEL_PACKAGE_NAME}-modules = "Kernel modules meta package" +DESCRIPTION:${KERNEL_PACKAGE_NAME}-initrd-modules = "Kernel initrd modules meta package" pkg_postinst:${KERNEL_PACKAGE_NAME}-base () { if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then diff --git a/meta/classes-recipe/module.bbclass b/meta/classes-recipe/module.bbclass index f2f0b25a2d..51f864f1f9 100644 --- a/meta/classes-recipe/module.bbclass +++ b/meta/classes-recipe/module.bbclass @@ -86,3 +86,40 @@ EXPORT_FUNCTIONS do_compile do_install KERNEL_MODULES_META_PACKAGE = "${PN}" FILES:${PN} = "" ALLOW_EMPTY:${PN} = "1" + +# subset of kernel modules needed in initrd, to e.g. mount rootfs from block device +KERNEL_INITRD_MODULES_META_PACKAGE ?= "${@ d.getVar("KERNEL_PACKAGE_NAME") or "kernel" }-initrd-modules" + +# match regex to path or file name. E.g. include all drivers with files in path /drivers/ata/ +KERNEL_INITRD_MODULES_REGEX ?= "(.*)(\ +/drivers/acpi/|\ +/drivers/ata/|\ +/drivers/block/|\ +/drivers/cdrom/|\ +/drivers/char/hw_random/|\ +/drivers/char/tpm/|\ +/drivers/char/|\ +/drivers/crypto/|\ +/drivers/dax/|\ +/drivers/firmware/arm_scmi/|\ +/drivers/gpu/drm/|\ +/drivers/md/|\ +/drivers/mmc/|\ +/drivers/mtd/|\ +/drivers/nvdimm/|\ +/drivers/nvme/|\ +/drivers/pci/|\ +/drivers/scsi/|\ +/drivers/tee/|\ +/drivers/tty/serial/|\ +/drivers/virtio/|\ +/drivers/watchdog/|\ +/kernel/arch/|\ +/kernel/block/|\ +/kernel/crypto/|\ +/kernel/fs/|\ +/kernel/lib/\ +)(.*)" + +FILES:${PN}-initrd = "" +ALLOW_EMPTY:${PN}-initrd = "1" From patchwork Fri Mar 21 13:25:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59738 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 8C178C36000 for ; Fri, 21 Mar 2025 13:26:00 +0000 (UTC) Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by mx.groups.io with SMTP id smtpd.web11.21066.1742563550934813092 for ; Fri, 21 Mar 2025 06:25:51 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=VeOfCyT7; spf=pass (domain: linaro.org, ip: 209.85.167.49, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-5499d2134e8so2554795e87.0 for ; Fri, 21 Mar 2025 06:25:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563549; x=1743168349; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MZ3KA8XBXOb873950h1w3JQeb0On5NMVFauIgvLGGoI=; b=VeOfCyT7Zu+TWdgTMN9CXAXRl/TMvE2B3t4mleeDjM7R3xQHZjLfQ15/OrO01j6OY/ 3OIAuuW1ahQqis2rM5bV/RAAKTBaoRVSrgkdZ6aWNF73UbXdtf6KNzh0paWfiJhr3QLW AQRsVbI+acd4TlKHP1HC0CKHvAWmQR6U1CS4/ew+i7niRdaRxAYDBz92USnJTebmu58I XG/bdCkSRYZbhZKYDG8zGHhOMp8RNAnkTwUthkWvB6/9P7ZR4BvTGqKWMzYYumC/DJd/ QWT2fuVLYxkK3nVJXOkA3FgvZ8j3gJy6mWxJNDkS8ufN0IMP491wIsnv4eccFrUWiN2w Ji1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563549; x=1743168349; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MZ3KA8XBXOb873950h1w3JQeb0On5NMVFauIgvLGGoI=; b=kGitPJ4uk9YM9btqTkNc0dlBgQdnoshYmEl69ndETwV5VODUOX5S+a4EPq2xcbuAHC eXBjbJEDz8iJwhsUlUzPfl6cE6SfWWy0P/JZsNstSrGtIyLGTkd4MFAET2c+qw91X768 D5Q8QxeId6T6R/Il82pp8H1cMiGNBCsWrEoo4zjkdbAPaOYTr82XdPZuERF7qFYbJdyf d31N1QqLMpikahJUUYTCjewVnnzVfACIcXiU1n+XFtJPEaRMA24ocYAJKVrAAZxh1bpm N4gNpBrji1hRvPyddUMJN025Vh58DucbtAlqBc/GP6hLMrXLGGFbNOYjjWmbk7n5OCTw UtYA== X-Gm-Message-State: AOJu0Yxv2lk76L5PTHEvneC7taB+egFtvFx7mIq/q3BMVasrYaY6xUSc WiTQSOgaJtZTWeRm10NV57/XChfTB1BhaJvHNrScwqd9e+1Kv+z150msHbyOVOp+lOzzLdKtCDW MW5g= X-Gm-Gg: ASbGncuRIjAt4TziitaVRjMnIK99m5lGRouZiDyOmvLBR6EFztmGKxHOcWTqqMJ13zQ 8BLUhi4/l3GZidmJ71knnVj3couE/rE+GxxyMHfPJ3MjV5z3FqGnS1n/emZYFKwt4S2Dv0SfOPf HcWns3zN/liFesV4Q5NQADKAaYWj+DQrQj713sh+oVneoQ98pLZpLbOfpyPqZeqg22hvrfu0vyh 7YE5NhQWohPUdFqn0KLN5jAnwYCw5tdPUDWkeQJeU+0qh8FWxkVQ7bVdVvDrrtHWVA5y0F4zUmU wwdi6sjZ99H4ZaX8zayhzFSHDIvDjGTU3BA0Tf15t5yYllBVKbbBZZAh+9dqUjKCUN3ES5/n+7c qJN4LT8o5Wu8AZvk8HMJdBw== X-Google-Smtp-Source: AGHT+IH4LsoTEh9tWObvh9YaOQN0drQi2CASwCePf5Q56tchgrpooIaWhgQDO/OPEEQ2ZTmJg94CpA== X-Received: by 2002:a05:6512:3a95:b0:540:1f7d:8bce with SMTP id 2adb3069b0e04-54ad64ef585mr1072621e87.38.1742563548955; Fri, 21 Mar 2025 06:25:48 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.25.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:25:48 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 04/11] core-image-initramfs-boot: add option to build systemd based initrd Date: Fri, 21 Mar 2025 15:25:10 +0200 Message-ID: <20250321132517.670372-5-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:26:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213460 If "systemd-initramfs" is in DISTRO_FEATURES then convert core-image-initramfs-boot from shell scripts to systemd. The resulting initramfs is much bigger than shell script one but supports much more features like disk encryption and TPM devices. Also includes udev which can load any drivers needed to mount rootfs. Signed-off-by: Mikko Rapeli --- .../images/core-image-initramfs-boot.bb | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/meta/recipes-core/images/core-image-initramfs-boot.bb b/meta/recipes-core/images/core-image-initramfs-boot.bb index 7258944751..c66c28db76 100644 --- a/meta/recipes-core/images/core-image-initramfs-boot.bb +++ b/meta/recipes-core/images/core-image-initramfs-boot.bb @@ -4,7 +4,23 @@ LICENSE = "MIT" INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev" -PACKAGE_INSTALL = "${INITRAMFS_SCRIPTS} ${VIRTUAL-RUNTIME_base-utils} base-passwd" +inherit image + +PACKAGE_INSTALL = " \ + ${VIRTUAL-RUNTIME_base-utils} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd-initramfs', ' \ + base-files \ + coreutils \ + e2fsprogs-mke2fs \ + os-release-initrd \ + util-linux-blkid \ + util-linux-mount \ + util-linux-umount \ + ${VIRTUAL-RUNTIME_init_manager} \ + ${VIRTUAL-RUNTIME_dev_manager} \ + ', '${INITRAMFS_SCRIPTS}', d)} \ + base-passwd \ +" # Ensure the initramfs only contains the bare minimum IMAGE_FEATURES = "" @@ -18,5 +34,3 @@ IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" IMAGE_NAME_SUFFIX ?= "" IMAGE_ROOTFS_SIZE = "8192" IMAGE_ROOTFS_EXTRA_SPACE = "0" - -inherit image From patchwork Fri Mar 21 13:25:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59740 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 A5F2AC36002 for ; Fri, 21 Mar 2025 13:26:00 +0000 (UTC) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by mx.groups.io with SMTP id smtpd.web11.21068.1742563553451455993 for ; Fri, 21 Mar 2025 06:25:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=XXyqT1En; spf=pass (domain: linaro.org, ip: 209.85.167.43, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-54ad1e75f49so1737837e87.0 for ; Fri, 21 Mar 2025 06:25:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563552; x=1743168352; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3iToOKuBuSfo6pYT5W3DHUHLqyPFY5W8PRhcmQnKdR0=; b=XXyqT1Enj7Z1xnQbq7DxBUEFfViPRAyyA+KHrdPL23CpUHs4beQ3bGXua/R6/ErK1i 5KQrr9Aninf8u8xjlgqo71jHEEex/605w3O7qXCf8S0Q3FD98TmzS1oSZ10R5oHHtLSw 13XyDo+EzkJkdLB0o9fwxCWUCUfE+VcBQ9SvJALZ/tBJ2Z+yW1hP2zSKPgv0F1KG2HKq VfuaJlupuAf/MJSbtEAkYW9YcU8PolYXFYdx7+McTQ57dxp0JMjEX55euH3YAX8hPHj7 hIwLpsDrs0T1aaPQAVj8dO31ZoWjmMDH+0ez0lsUS8sOlWSGlszyR3cDTTBE4w/IASNg Hkmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563552; x=1743168352; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3iToOKuBuSfo6pYT5W3DHUHLqyPFY5W8PRhcmQnKdR0=; b=A3Zo2Pr5Uc7khfn1tlQCUduP4VftU5KNT9qHD3nGNZX7HWoOJC8jVjPQj+AH5tVqm1 1Z7HSdtv6G/rPnPO08qefrStM3jSB246E8dBJ325WD06SA3410boW6t61CQEXYsManI8 jUUTQKJA9MLpGnDmgDWj2j0Wp7A2+9GQzo3gYYzYBnmwXnt2RVFl6HlTqCdWj92ico/Q amvppQ0HegAyidisjpxikTkg/BTAUlLk0lHBQg31NaX5TZu/ZRv5rg37oWpesgriP1q5 cwSwZ/KDgSBVEPu5bcGmx6JGqiH6GT4Fp+oKZbjucMCYB6pM+v5KgQfoflHyKOMFls1f LcRQ== X-Gm-Message-State: AOJu0YxgsKq6dh6fazQrLwe9e+Gm69isdwUQeQHFBTTyd09ylQmmhmTw iRGNlqSx5kMHpDmZN9yRCnQMFwlV+8q5TXOfAQTcpYqnovRDoq8TkMLhjuSsL9TMAO/t0nJycbx 9Xpw= X-Gm-Gg: ASbGncswEpLbWjrQwJDejo4iumkt0fU/ocr5jUOm9t9T2UwnU2Lc/yn3WBprb0OipQG 2gQITJViFx/OYkja7wO4HrzfR2xXt0IC+cF7KeX0CAcMDSRQG73gtEvdm0NfBkj098Oh3/gJXfV lDHYBQ6rNFxudbqttKTX0IlhG2qQG79HC2b+DIt4fjj47foso/Au82/mEpgVobKoxDLBx8Q9088 XA3fcQCZxg4eSff3HSoUwbFfqk149bcdaasjz8mV1mgRJDvFW9WnDrSYa5qEh3Pu3Pa5LbZdITh JFbrCUeQgK65Z7OQAqEQsTcaO1iVexH6y7HET02aciLvhmOcS1nws0TYGaEjtdtM3aK87hVDnN7 FgmPQTp8TO076hBoAwc/NJg== X-Google-Smtp-Source: AGHT+IFrRVazdedQJ8BLHFwWopyr62JqBsgQpOHCF/LW6urKlX5NNUTLdIrc8HgYLrQLyxwKRf56ZQ== X-Received: by 2002:a05:6512:220b:b0:549:8d07:ff13 with SMTP id 2adb3069b0e04-54ad650ca6amr1215125e87.51.1742563551548; Fri, 21 Mar 2025 06:25:51 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.25.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:25:51 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 05/11] core-image-initramfs-boot: don't install RRECOMMENDS to reduce size Date: Fri, 21 Mar 2025 15:25:11 +0200 Message-ID: <20250321132517.670372-6-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:26:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213461 Disables recommends to only install important packages. Disable machine specific additions which are meant for full rootfs boot. For example on genericarm64, full set of kernel modules and WiFi related firmware is in the machine recommends and those are not needed when booting to rootfs from an initrd. These reduce systemd initrd size from 200Mb to 54Mb. Since recommends are not automatically installed anymore, explicitly add initramfs-module-rootfs, busybox-udhcpc and libkmod to shell script based initrd. initramfs-module-rootfs is needed to mount the rootfs. Installing busybox-udhcpc and libkmod for backwards compatibility. Not installing openssl-conf, openssl-ossl-module-legacy or ldconfig packages since they don't seem essential in initrd to mount the rootfs. Signed-off-by: Mikko Rapeli --- meta/recipes-core/images/core-image-initramfs-boot.bb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/images/core-image-initramfs-boot.bb b/meta/recipes-core/images/core-image-initramfs-boot.bb index c66c28db76..99388476ac 100644 --- a/meta/recipes-core/images/core-image-initramfs-boot.bb +++ b/meta/recipes-core/images/core-image-initramfs-boot.bb @@ -2,7 +2,7 @@ SUMMARY = "Basic initramfs to boot a fully-featured rootfs" DESCRIPTION = "Small initramfs that contains just udev and init, to find the real rootfs." LICENSE = "MIT" -INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev" +INITRAMFS_SCRIPTS ?= "initramfs-framework-base initramfs-module-udev initramfs-module-rootfs" inherit image @@ -20,8 +20,17 @@ PACKAGE_INSTALL = " \ ${VIRTUAL-RUNTIME_dev_manager} \ ', '${INITRAMFS_SCRIPTS}', d)} \ base-passwd \ + busybox-udhcpc \ + libkmod \ " +# reduce size +NO_RECOMMENDATIONS = "1" + +# don't install automatically, pick manually instead +MACHINE_EXTRA_RDEPENDS = "" +MACHINE_EXTRA_RRECOMMENDS = "" + # Ensure the initramfs only contains the bare minimum IMAGE_FEATURES = "" IMAGE_LINGUAS = "" From patchwork Fri Mar 21 13:25:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59741 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 8C4A7C36001 for ; Fri, 21 Mar 2025 13:26:00 +0000 (UTC) Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by mx.groups.io with SMTP id smtpd.web11.21071.1742563557128146752 for ; Fri, 21 Mar 2025 06:25:57 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=wBvEJl5P; spf=pass (domain: linaro.org, ip: 209.85.167.47, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f47.google.com with SMTP id 2adb3069b0e04-548430564d9so1942817e87.2 for ; Fri, 21 Mar 2025 06:25:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563555; x=1743168355; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AEdcHTXNTo7S4AHroNTI64Bs0zK9/f0xYWd5QZeIfJM=; b=wBvEJl5P6QwGWdahXIi09I+/NlvsL9Qax6ynXCPdPWIQ/zHKSTVDDGhC4MJ6FMh04c 1Faekpqw6vEkZlXOWQA+Fa19ykZ8o5SYEdj4OtptCOGp2sDX2AH9EbsEKj7v4ujlGSNG uLCRLFtBRVAdQ29Tf50jkfO7bn92QadAv0A/H1kw/auWvlx9LqaPMH8IXNPrWSt5dBcQ GaFUVuY1/pgAjBJ5zif4VGKFH5alwdGvCm4YRKalyL7P0TuXO+JOpgn87ZYRnqb2Nd/c Zio0vAweXMtqAT9qsBGRP4CZtqFx4Jr7trVr/UgYmFSGegKYSDavyCT3SrkVg8DqvsD8 +0Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563555; x=1743168355; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AEdcHTXNTo7S4AHroNTI64Bs0zK9/f0xYWd5QZeIfJM=; b=oWws1f9pz/eRl/a2toPFx6bXE05hJw3Uh4cpNzLD6N+EQ5R/jUEupK1yQ9+wTQz7rx Q8jAc8QdfvN9CoqE59SfMjYLvh/QkCcoJLA814psaNnKDGvQ5biE6+yNwxJLq4/XPic1 ngyvrvu2sw9TiZpUJQo86wqFpVyEKUH21e+bZtlgclZ1LMsdxGdHVwejBblTdoYQo5bg CJsygyt/FnjMtWqMY/7ITvUDbUxuFIKTvofu9OJSdaW53ousxsa2Dr++xqpC0tN22oLi jzzVzS1c6vYBPwEWccQqq2n8QONW6wxgMJXKfjBx4m8KST0rikld+HnhTtSezikqWEOM inWA== X-Gm-Message-State: AOJu0YxkqtXnujhTIVPq782I5x7CGwfkqBiBVt3KzqypfZlncuo12jL1 b5juGF35tiZtV9n6OcVjNV/F36oRQNdIYbMG8HvD6oBM/CY2Z4jp/tDSlRx95o5bW4RXeqa5i9c rJy4= X-Gm-Gg: ASbGncuR5KZ5YTn82P7527yC4RaaI3UjEAGwGyzk8Nufyu6nEw7ZSmME/hld6hRwEmi 6jqyLULiy3Tl/qie2/mIWRSxkGTnbN+7fHDIvkglJJCjbWTRSMie0RqBtSDHvffS5kLhoFs03/9 ZSRQPKrlI/+LxI5zT96YIwuDbdK53/d0kHzL8VNkQbT9GI+FTUqfXzQ6BXaFn2Tt8JTHZez2Vwg QH/83/O0lCFgqkHBPyey5HFkY+f6WFQkk5vNc1VHr7T5vBd3WZp8EbB447vCVGgKwcGKP1rVVXf eoRIN/Z84doJmhfNx6wvOY7GnZqursf/JKG0NrYTzxdovpSmJxCRGK57E5osW8evm8WRb/lbXZ1 uNUMMkOIFz4WxSgORhsAgh1EVtrxX1Dyt X-Google-Smtp-Source: AGHT+IGfWO+mL/SxEDiF9sRm3nrw6m7cPYrkhJBSGFgx6yMEYKCOA5z3RSPZbgS/fv2iPqU3RgdwYQ== X-Received: by 2002:a05:6512:3c9b:b0:549:4e79:d4c0 with SMTP id 2adb3069b0e04-54ad650972bmr984909e87.53.1742563555244; Fri, 21 Mar 2025 06:25:55 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.25.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:25:53 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 06/11] core-image-initramfs-boot: install kernel-initrd-modules by default Date: Fri, 21 Mar 2025 15:25:12 +0200 Message-ID: <20250321132517.670372-7-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:26:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213462 Most real machines in core set MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" which means that all images including initrd have all kernel modules by default. Only default qemu machines don't do this and instead the kernel configs there seem to include enough drivers built-in to mount the rootfs, and this may be reflected in qemu machine configuration e.g. which block device emulation is used. Since for initrd "boot to rootfs" usecase full set of kernel modules way too much, use the subset from kernel-initrd-modules which should work on all machines. If not, then the KERNEL_INITRD_MODULES_REGEX needs to be fixed for the machine or for everyone to include any missing driver classes. Same could be achieved by introducing a MACHINE_EXTRA_INITRD or similar variable for machine configs to define extra packages for initrd usecase of mounting target rootfs. I have not done this for now since currently only user is kernel-initrd-modules. Installing kernel-initrd-modules by default enables the machine specific kernel configs to move drivers from built-in to modules. The other e.g. firmware packages installed via MACHINE_EXTRA variables in core machines are not needed to mount the rootfs. Signed-off-by: Mikko Rapeli --- meta/recipes-core/images/core-image-initramfs-boot.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/images/core-image-initramfs-boot.bb b/meta/recipes-core/images/core-image-initramfs-boot.bb index 99388476ac..743e0da132 100644 --- a/meta/recipes-core/images/core-image-initramfs-boot.bb +++ b/meta/recipes-core/images/core-image-initramfs-boot.bb @@ -21,6 +21,7 @@ PACKAGE_INSTALL = " \ ', '${INITRAMFS_SCRIPTS}', d)} \ base-passwd \ busybox-udhcpc \ + kernel-initrd-modules \ libkmod \ " From patchwork Fri Mar 21 13:25:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59739 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 91AA4C3DA4A for ; Fri, 21 Mar 2025 13:26:00 +0000 (UTC) Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by mx.groups.io with SMTP id smtpd.web10.21005.1742563559992319972 for ; Fri, 21 Mar 2025 06:26:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=K3VQGxid; spf=pass (domain: linaro.org, ip: 209.85.167.52, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-549b159c84cso2245241e87.3 for ; Fri, 21 Mar 2025 06:25:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563558; x=1743168358; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mowHB+GyPObXHHUyFruDF08rUA0X5sNItOs/AzldHBM=; b=K3VQGxidbTSxLLWIdszNwEKDQDisN+dcg4EJYg4fFfqszV6E0hj9/bCCuQYu86yInT jlvLyIzq9b3lHtjeGE06/OFdBWvg75iMXao7Xg/YQO7B2E8w6uZrVnje21XXEO9oYRKt NYyeBG7CJ682pkfnKZSpgmtkfa+FMXHzgXqIuoEQ02BIDBavsyPwEiiczuGCPfEzRr1h k591y8j4BpN3T8WuZrw3d8jyIH5jEbj1elR70Ua7L9vaWyVSUULZEsN/xfJ755iFl7aW AyxfKUYNbtScS2Qs75mwAFyNwYYb0HDTWQnIxqbdVt22WBXuMxkA4e034I39CP4rBeY8 58RQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563558; x=1743168358; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mowHB+GyPObXHHUyFruDF08rUA0X5sNItOs/AzldHBM=; b=I9F+iNq5WBPmb3/4R291tFSXb2us91DLQOPapNyZx25uSIXmVUwUMZXj7K3yuRbN4u lX2m3UHkSSWdFplLs0ec5UCusOWs/hwcozDqS5Jl6T+W31cECbeD9LMr4oMCj3SdlYlA wcAIiYdpcAlC3RYxKodHMy28jJ37kkTNZREaXXloqHP5yi3eB3KTtJJ/fe0ToMZ45eRJ GbPhSvkAr2R8WaANNNuAmgpurEbuNcIVx41pp0xBbi3GmZU7aWf2sAxSVQE/WDEcLvnu YhC7p2R/3QtNCnz/Q7sYkWd0xb0YCOJII1B57GFd5BGoUVO9GAM9ZVmMW2mtFu0AK8Ea xqWQ== X-Gm-Message-State: AOJu0Yxtn0KQcO4ygqtUlLTWOVo+dFD8cIlxGbmvcYAPHIbc7+bXTOFK mp33RsxiLSlzh+qodLhiW2yDCniiGj9Cg7qBtBE+KhIr8C9YVtLsqU27gp8e1oewwqxARGZRMxx Y8/I= X-Gm-Gg: ASbGncsWiCGlCMmQOPN/cSicYu1MveTohzgqz+c5JYvFGCAMf3aU0nqGhVK6uDi88d+ wZI0tNlavBaviRPhjla36+LEaQnMKg1VJreYN2RP6q91XTZEhmUlqiBs6+CshfoMFCX7hkOCCvz cU0xbGNRv0iVCo4vPIsbahu15cXT1KekKBVzif1/Exwct+PKachNRes9qZhnZJcDmDWHT+E8l30 zruw4FIqAjYTaS/B817Riz9zXxurgummnjyaAPPLH+Q8NH1cpeipVFCuUAmRfx1BS94UN4Gpje1 zEzn222nC0V3QTyCtbc/VCYhAd5DOkdP/jdvgDwwlSMnWQGGcDlGy5U3maz9hpbb8HbyCM/gBNY iR/++VH+Fwlh17X4eDrN0sQ== X-Google-Smtp-Source: AGHT+IG53m9DiN26LUU2DvWqOBN4ao3umdvuaV/Ai/tX0BiUbN1qsUcGLUrdNHlGW+tSasd6QTDcUg== X-Received: by 2002:a05:6512:3d8c:b0:545:4d1:64c0 with SMTP id 2adb3069b0e04-54ad649536fmr1647170e87.27.1742563558067; Fri, 21 Mar 2025 06:25:58 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.25.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:25:56 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 07/11] oeqa selftest uki.py: add aarch64/arm test with systemd based initrd Date: Fri, 21 Mar 2025 15:25:13 +0200 Message-ID: <20250321132517.670372-8-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:26:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213463 Use core-image-initramfs-boot with systemd to boot via UKI on arm/aarch64. Tested on qemuarm, qemuarm64 and genericarm64 on aarch64 build host. The machines have different image and qemuboot configs so they need to be configured in test. Signed-off-by: Mikko Rapeli --- meta/lib/oeqa/selftest/cases/uki.py | 76 +++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/uki.py b/meta/lib/oeqa/selftest/cases/uki.py index 9a1aa4e269..4830fb3403 100644 --- a/meta/lib/oeqa/selftest/cases/uki.py +++ b/meta/lib/oeqa/selftest/cases/uki.py @@ -139,3 +139,79 @@ IMAGE_CLASSES:remove = 'testimage' cmd = "echo $( cat /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ) | grep '%s'" % (uki_filename) status, output = qemu.run_serial(cmd) self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) + + @skipIfNotArch(['aarch64', 'arm']) + @OETestTag("runqemu") + def test_uki_boot_systemd_initrd(self): + """Build and boot into UEFI firmware (u-boot), systemd-boot, initrd with systemd, rootfs with systemd""" + image = "core-image-base" + runqemu_params = get_bb_var('TEST_RUNQEMUPARAMS', image) or "" + cmd = "runqemu %s nographic serial wic" % (runqemu_params) + + self.write_config(""" +# efi firmware must load systemd-boot, not grub +EFI_PROVIDER = "systemd-boot" + +# image format must be wic, needs esp partition for firmware etc +IMAGE_FSTYPES:pn-%s:append = " wic" +WKS_FILE = "efi-uki-bootdisk.wks.in" + +# efi, uki and systemd features must be enabled +INIT_MANAGER = "systemd" +DISTRO_FEATURES += "systemd-initramfs" +MACHINE_FEATURES:append = " efi" +IMAGE_CLASSES:append:pn-core-image-base = " uki" + +# uki embeds also an initrd +INITRAMFS_IMAGE = "core-image-initramfs-boot" + +# runqemu must not load kernel separately, it's in the uki +QB_KERNEL_ROOT = "" +QB_DEFAULT_KERNEL = "none" + +# u-boot, not all qemu* machines set this correctly +QB_DEFAULT_BIOS = "u-boot.bin" +# machines may not set this correctly +QB_DEFAULT_FSTYPE = "wic" + +# u-boot needs to find ESP partition so use virtio block device instead of default scsi +QB_ROOTFS_OPT = "-drive id=root,file=@ROOTFS@,if=none,format=raw -device virtio-blk-pci,drive=root" +QB_DRIVE_TYPE = "/dev/vd" + +# boot command line provided via uki, not via bootloader +UKI_CMDLINE = "rootwait root=LABEL=root" +# enable if debug output is needed +# UKI_CMDLINE += "systemd.log_level=debug systemd.log_target=console systemd.journald.forward_to_console=1" + +# disable kvm, breaks boot +QEMU_USE_KVM = "" + +IMAGE_CLASSES:remove = 'testimage' +""" % (image)) + + uki_filename = get_bb_var('UKI_FILENAME', image) + + bitbake(image + " u-boot") + with runqemu(image, ssh=False, launch_cmd=cmd) as qemu: + self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) + + # Verify from efivars that firmware was: + # aarch64 + cmd = "echo $( cat /sys/firmware/efi/efivars/LoaderFirmwareInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ) | grep 'Das U-Boot'" + status, output = qemu.run_serial(cmd) + self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) + + # Check that systemd-boot was the loader + cmd = "echo $( cat /sys/firmware/efi/efivars/LoaderInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ) | grep systemd-boot" + status, output = qemu.run_serial(cmd) + self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) + + # Check that systemd-stub was used + cmd = "echo $( cat /sys/firmware/efi/efivars/StubInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ) | grep systemd-stub" + status, output = qemu.run_serial(cmd) + self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) + + # Check that the compiled uki file was booted into + cmd = "echo $( cat /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f ) | grep '%s'" % (uki_filename) + status, output = qemu.run_serial(cmd) + self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) From patchwork Fri Mar 21 13:25:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59742 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 8FD58C3DA4A for ; Fri, 21 Mar 2025 13:26:10 +0000 (UTC) Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) by mx.groups.io with SMTP id smtpd.web11.21074.1742563561928630698 for ; Fri, 21 Mar 2025 06:26:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=DWf6LPtV; spf=pass (domain: linaro.org, ip: 209.85.167.48, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f48.google.com with SMTP id 2adb3069b0e04-549963b5551so2159594e87.2 for ; Fri, 21 Mar 2025 06:26:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563560; x=1743168360; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WeRlJsYwVM3cbEZg09wa/3SJvsINQ1+FMrV/BPgtirQ=; b=DWf6LPtVyOXYoEHrODVZOdkvIbRZDGj7wPi0qCO+VK2myQO9lxyIPDJJjd0FnIJnac S2uKIJ1n65XEjCJs9yo/bWzIfrEuCSxQRw2feGVq5clQBKVWsBe88WzIGJ6XFal31YmS GwCEDKEPlUxkCX3ZVzwH5wLHSPM21fSi8zYwceCzdUExXryEez2h3aLE2vhaZMXQj+C4 W4PSFoQxr1viQyw08a1jByc6mpCTRos4Eqc+gwqK1ICfxMA+Xkcy1HuPySOdws/lAi2s 5rTqEJalxRwjGjhMmKZ/9uGIaZmhsfiUHEshWzj77qITFDhShrCgV7FNglh3cHs7t0z4 b7IA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563560; x=1743168360; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WeRlJsYwVM3cbEZg09wa/3SJvsINQ1+FMrV/BPgtirQ=; b=uvucXZC6WGWDKln8VuJtjaTtORedcgUbiLo5Lu6Eu7VI+m4VH9BoFQPF66FM4GAxVt iXL0oREJHk8akeMeYWtpbHpMdy/4pGJt0tierM6sOa7MaNwrQbzy+I76QcQq/XEh/Hga ZN9I6HC1lEGZRRRdaKqM22IW1JVgIkjDB6ut/SHncIUVDgQX4lFkOcUTCu8OdG0VGDyr /1Ro2giitADUc2yuV6J+wg7qIZd4cVmhjqQAAFwQl+znu9bsSsJNiftvPTSfGUZBmD/8 cI+l41grtid/jir8bPw5TZNjtPtcTRAShQcYMUk7WlVN6D+4MdKvQUDpSLpcK/rS5BEF grvw== X-Gm-Message-State: AOJu0Yxyq2L1/i+Kxc9kpvFPo/28AATFBZ/Z/hVc05RfGoO7cP8JZAL6 Vq51kShsEBNzswqPF7r3rqxXlNkYi9gUmG5HLpm92939z8KmwHoN4B+kKNC53OEsH8jTrcYvu8v Dg44= X-Gm-Gg: ASbGncsViRlYTYSn4QR9jj5u0oUR5i/jVjHn+h/yxeXG9CvelGaRkXLGCtiaOm+J5D6 qEA++3YzAH2M5H+q0s6s4TswRIURj6Hhq3602KrumLVh+y0tWeVzU7d6b16Pzf+mm+NKVETmK9k ZrjdCmKsshTw+f0WGqxKiWO/jjk/dp5NazbojlweuzIjqlehVEr/3Q4tsr6RUV3cokqGWv063Fo abhbgAEPvTR+rerEo4j7tdQekc1Of09M7q6yG10nuvTLzqYJi5RolaYfibai8ZmCe+yTuc34UDX Z6OPYCbC/5Og7AS1kCMFExdwGRSSJaTljCYoVMRXEFcvsTjVlWYDv8FVhCX9pXJL7mZA6YX6cIt FYx/P9FEdcqiINoYYQlWDXg== X-Google-Smtp-Source: AGHT+IHwGA7Xh0oJxmeDYbB64uP+3hdLFjNUli77uVBD106zPg16qtGfSmN7X2RsEJeuJc184Z8tEw== X-Received: by 2002:a05:6512:6cf:b0:549:b0fa:6733 with SMTP id 2adb3069b0e04-54ad64f5110mr1237439e87.37.1742563560067; Fri, 21 Mar 2025 06:26:00 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.25.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:25:59 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 08/11] test_efi_plugin_plain_systemd-boot: don't set console Date: Fri, 21 Mar 2025 15:25:14 +0200 Message-ID: <20250321132517.670372-9-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:26:10 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213464 This effectively disables the boot time serial console so that kernel and initrd logs are not visible which makes debugging boot failures hard. The logs are not too verbose, around 270 lines, and can be reduced with kernel side settings if needed. For example "loglevel=4" on kernel command line reduces the output to only warning messages. Signed-off-by: Mikko Rapeli --- meta-selftest/wic/test_efi_plugin_plain_systemd-boot.wks | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-selftest/wic/test_efi_plugin_plain_systemd-boot.wks b/meta-selftest/wic/test_efi_plugin_plain_systemd-boot.wks index 2745c19e85..83f136ac15 100644 --- a/meta-selftest/wic/test_efi_plugin_plain_systemd-boot.wks +++ b/meta-selftest/wic/test_efi_plugin_plain_systemd-boot.wks @@ -2,4 +2,4 @@ part /boot --source bootimg-efi --sourceparams="loader=systemd-boot,initrd=${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}" --active --align 1024 --use-uuid part / --source rootfs --fstype=ext4 --align 1024 --use-uuid -bootloader --timeout=0 --append="console=ttyS0,115200n8" +bootloader --timeout=0 From patchwork Fri Mar 21 13:25:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59743 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 8E7E7C36000 for ; Fri, 21 Mar 2025 13:26:10 +0000 (UTC) Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) by mx.groups.io with SMTP id smtpd.web11.21076.1742563566087855953 for ; Fri, 21 Mar 2025 06:26:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=HH/t5S4N; spf=pass (domain: linaro.org, ip: 209.85.208.171, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lj1-f171.google.com with SMTP id 38308e7fff4ca-30c461a45f8so20213011fa.1 for ; Fri, 21 Mar 2025 06:26:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563564; x=1743168364; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4ALVr6r/uvKn6zuQDHQgIRccVCwpoa+Tg3F1piZ4GOo=; b=HH/t5S4NeClvKMqnoUEP36TkYuwhTnikjfAuscMlocj7hIM4YBmkKKxfU7JRqb3PLA 3Rs5GDyN2DJ50ohDE8WB1LvCNo2ILnA+mV+wTI4WO/S0PxXorjC5D1AWB0rFI+WFV8+l xpyyu6++Dvcu3vx+Jmpfh9MeMNDKAY1a0bA6xDJuaaxwm03ix8HxgjAhT7rwNU9FhiRJ KbDtXBip6QzezNF/MRxSMNNJBuHTJbeApFKum7hstKbyTGRD+11v5yCvjIfTR/693H7d W6ZwnqzMsLgLuhoGskc88IGf68VK//qJ8rFhiuaV0odPT7ezlDvBE9AQtu9OgLcbteTc nJkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563564; x=1743168364; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4ALVr6r/uvKn6zuQDHQgIRccVCwpoa+Tg3F1piZ4GOo=; b=WatJLjwE08VeLU52QP/Rl9gCjyRQLd36AKHr7ooSyDg153SqiAXILOX1ImhjUIDKNm 7bnL9b33z22qbDqQY9dZtwd5BwZKhTTkm3/f3bWGbBg7LxKDDWten5xR3pOXLDOuW5Md KRC+h1HIFPznOwsM5xCKJzYLXgRK9c89Tcjg9/TfrlkxKsBPGoEMCDDqxdlGtRi22L48 KYlvCSo7E4X1yUeG90SBAPWaXH/mjgNJcObAGNyosaEZma6GjGQ/7Sqd7gsJ+MHfAb69 cyGMNir8m8izsJp3b1ngmBNwtlJfD1R6MCOQ/jhoa7zBwBH5DU3Q6SU/09MOWi8tX+Fg 8aSQ== X-Gm-Message-State: AOJu0YxU8Je0+GVWkX0eUfdViGt9iLLPBGBAXGlpU7abwA0o82zCb7Yn 15R8z6OviMaIL+5ft4aMBUfc9QhUt/gV1U4GE3xN35xlbr4//Js6t9MIm9wccSr3mzDXc6D+imC ebw4= X-Gm-Gg: ASbGncvLD+j3GMBeUhDD3PAx9R1T8iPYBhBV6WoG3fW6thYEPMQ65Jp1Qv4h+ZCv5eO Js7F/NlGgAtrjTpwfja9DfWyD0ZxqiUEcEs3YKzh0ZLD2QdiNVkT33dH3nRnKkfu408ObZhtgl1 AHUkLhpg6+6B7FNkFi9WXnbCcrRTfyRbKcKXM5UqoCW0Nhhk4Iv+rrDwk6pt4MvyqYKe6b3Rv9u Yt72F6IRn54I/KScavx08S8tIwZouW3LiLgp7bocFXATa7+d2U6hBEacLjzAgBpnzY3is1Y378J ljyy0/u8yYIqtRmmW/nkbpg8IYmu8N1l398ibudXMZt7M15OAZz+aN8luT3VAGofDC/YT7DikyT X1sWFtjL9tvifxYuGX3iyQPZttLMjjNpO X-Google-Smtp-Source: AGHT+IFC/m/n8WjEecjTjebyyYsDwGCs+auJo7+jMD48whFEpRMux0jcFa7S4NpHU07Zoq6wI3o1bg== X-Received: by 2002:a05:6512:1392:b0:545:d70:1d1c with SMTP id 2adb3069b0e04-54ad6470ae0mr1206436e87.11.1742563564077; Fri, 21 Mar 2025 06:26:04 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.26.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:26:02 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 09/11] image_types_wic.bbclass: capture verbose wic output by default Date: Fri, 21 Mar 2025 15:25:15 +0200 Message-ID: <20250321132517.670372-10-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:26:10 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213465 Call wic with --debug to capture logs from wic internals so that it's clear which partitions get created and which files get copied where. wic plugins contain for example race conditions which don't install files at all and thus images fail to boot and it's not possible to debug these without something in wic task logs. For example core-image-initramfs-boot do_image_wic log is now 576 lines which is not excessive but very important when debugging problems, especially race conditions which are only hit in some builds in CI. Signed-off-by: Mikko Rapeli --- meta/classes-recipe/image_types_wic.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/image_types_wic.bbclass b/meta/classes-recipe/image_types_wic.bbclass index 1b422b6280..10888bc12b 100644 --- a/meta/classes-recipe/image_types_wic.bbclass +++ b/meta/classes-recipe/image_types_wic.bbclass @@ -72,7 +72,7 @@ IMAGE_CMD:wic () { if [ -z "$wks" ]; then bbfatal "No kickstart files from WKS_FILES were found: ${WKS_FILES}. Please set WKS_FILE or WKS_FILES appropriately." fi - BUILDDIR="${TOPDIR}" PSEUDO_UNLOAD=1 wic create "$wks" --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" -o "$build_wic/" -w "$tmp_wic" ${WIC_CREATE_EXTRA_ARGS} + BUILDDIR="${TOPDIR}" PSEUDO_UNLOAD=1 wic create --debug "$wks" --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" -o "$build_wic/" -w "$tmp_wic" ${WIC_CREATE_EXTRA_ARGS} # look to see if the user specifies a custom imager IMAGER=direct From patchwork Fri Mar 21 13:25:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59744 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 8E89AC36001 for ; Fri, 21 Mar 2025 13:26:10 +0000 (UTC) Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by mx.groups.io with SMTP id smtpd.web10.21007.1742563567702102853 for ; Fri, 21 Mar 2025 06:26:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=rGrsHUsU; spf=pass (domain: linaro.org, ip: 209.85.167.54, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5499bd3084aso1856773e87.0 for ; Fri, 21 Mar 2025 06:26:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563566; x=1743168366; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=GfS4TVgenKD6mOiWnq5dgV2GgU3Hd+vNNEhJ9l3PIuk=; b=rGrsHUsUFjn0FUFCGI4QHjv7Pfh1qzPAiAYMpm7h/zsUnKIbFd9LayIAHYGE6+RD3w wIhHkLmuA0NE+hr4tQTQhwhQdZqBrs3KYnT44g9NYk+vsuLi0x1kg4Nx3seoBF/M1xkb HB++7kWbzplzgUaaMrrHYxcUMxnzkLx4vKuhM1/GObzEVEGeaMWe7cdJVWDwEqvGpGAk IT15y1er0AGZJfMM8rhf14b0m7YFx6XEyr6u8cohjjHY9HyqG/k1A+IAEo6yfdGdweml pYsGqHAnKj3tuizdfaMT2CAVsFEGRuszri6xeYUlXj+NPUBCPJt4qs/wlbzHmFLGkedg 5ndw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563566; x=1743168366; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GfS4TVgenKD6mOiWnq5dgV2GgU3Hd+vNNEhJ9l3PIuk=; b=oBCp1Sn0AAptZnIpQ6tx5i7JAFitMeki3Ib3H/1dFr/efZfSnnmEOQEnp4abxpR5Fi 5CCkpt0WxOJcqwm2JevYmGJS9UYGOn7pRXEby+xnf8mO6gZOW+jdI47J3bnEio0kgXWs JtAxmHtp/TDQdlDmj7F5GJVlXE6oqHUcgabz+Ik3+OMTt4BLukUIQVnjWNJINgxO1MsX LbHR2md6oHEM1IMfSlhiL5WQJRHn9htB9XA1rorloB+YnO/t8BIiR/ePAElSs6YCBm+1 Z04UDhQS0En9QpdT4ulPVqJegZt+S5S4DqPWQHzxqKNYLFF0Tnae/UbsQn8Zk2P0I23K 56gg== X-Gm-Message-State: AOJu0YwIpDZwMR4To3vUIqDyQWY9rfrRW+XuygkA9g7y93GvHbplkbUG 6vmSnI5uLp4+wUBzhGfn/qbznxz2ah0Wy/OE9l9WtHUEhbNYrfO8aU7xWNINIbNfzBi/GGK3v4S V+7s= X-Gm-Gg: ASbGncuwe5TSP649Tc4UKbUwz7sVT0lR7caNupM3FxVxnVrwcgIs5ISQMzXviCZlavz kI8DhdUNSTC/58u1rh79fIAMp6VrmW3jmd24INErvuAlpsLj0Wo8GQy9Skwdq6uvfPDy1Tx8O6R lEGN1hevPtpQfAb/Hqr1hdlGISrRy68nzzUkGkhpqaiowiK9+1vKxy0HYjUtPy1LgoLFDPhHOuK e1/tm25SUxpo7eI+zeCS66tn6ymQwFE5+ndaBOuxy7ZclBB6YMK9RZn+0ERQwbTHyIpDegxmejE ZLFEuybw0vFsOATZJ6pR+NAT4Urj/ROtBNps9f419JT8lWW5eJQq/hXlFDBJNLmels/Hd4PlnZc Ba1i+6tN4C7j1z8b5eHmbzw== X-Google-Smtp-Source: AGHT+IEhj2LBQftc2KyQRjbP58Gm4JQCnHKoh7eE5G5/kNPrS7Dg7D+d168ckOaPWr1qS+gIOhwVEg== X-Received: by 2002:a05:6512:3f1e:b0:545:109b:a9c7 with SMTP id 2adb3069b0e04-54ad64f5a24mr1303001e87.35.1742563565833; Fri, 21 Mar 2025 06:26:05 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.26.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:26:04 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 10/11] wic bootimg-efi.py: fail build if no binaries installed Date: Fri, 21 Mar 2025 15:25:16 +0200 Message-ID: <20250321132517.670372-11-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:26:10 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213466 With systemd-boot, some builds included correct EFI bootloader binaries and some not. Thus some builds booted and some not. Check that some boot binary was installed so that build fails if none were installed. Signed-off-by: Mikko Rapeli --- scripts/lib/wic/plugins/source/bootimg-efi.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index 96c710bf77..20b1c36a46 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -341,6 +341,9 @@ class BootimgEFIPlugin(SourcePlugin): cp_cmd = "cp -v -p %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, mod[8:]) out = exec_cmd(cp_cmd, True) logger.debug("systemd-boot files:\n%s" % out) + # must have installed at least one EFI bootloader + out = exec_cmd("ls %s/EFI/BOOT/boot*.efi" % (hdddir), True) + logger.debug("Installed systemd-boot files:\n%s" % out) elif source_params['loader'] == 'uefi-kernel': kernel = get_bitbake_var("KERNEL_IMAGETYPE") if not kernel: From patchwork Fri Mar 21 13:25:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikko Rapeli X-Patchwork-Id: 59745 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 8ED5BC36000 for ; Fri, 21 Mar 2025 13:26:20 +0000 (UTC) Received: from mail-lf1-f44.google.com (mail-lf1-f44.google.com [209.85.167.44]) by mx.groups.io with SMTP id smtpd.web11.21086.1742563570730143326 for ; Fri, 21 Mar 2025 06:26:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=BUTgcpuy; spf=pass (domain: linaro.org, ip: 209.85.167.44, mailfrom: mikko.rapeli@linaro.org) Received: by mail-lf1-f44.google.com with SMTP id 2adb3069b0e04-54998f865b8so1950159e87.3 for ; Fri, 21 Mar 2025 06:26:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1742563569; x=1743168369; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7I96RY5HJq72tfigXOgg6a/AbJBsfULA6D40J4yHnXY=; b=BUTgcpuyrkOhR3HFJULHTG3EaKpiKhbdBKHJCetZYhlMDEbqhFkqGgEL2hFerR1lW2 vxytOy9PvIxcC+sUHEEFL6hUM6eqTBYpYdfmM3rdROrwpGqBmd/44z0FS7FKAqE4RlSr ie/EkjkXdmgLfbZQxAozEdW1OlMaLEL7HA1qtTxHa4SpqQU9uy2NFP+cbKs3TsklPFTs sIYsyJ7O95Qudhp12y8Qlf5FdOmB2jAHVstTAtwU9c1Gi0xi9U+KpcimLTGMCi9lIWss 0yNY4ay14UvZWynN1Z4gd63H8CB3gCop1jmZyxlPvt52B5No5wqX8RnvkM0/R4TGainK WfWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742563569; x=1743168369; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7I96RY5HJq72tfigXOgg6a/AbJBsfULA6D40J4yHnXY=; b=AQ53ItZhzvPbgvhblQEC+zqbpmb7V8O5aMVTXPTMIBppAVhG6Kuic+ykk56K3C0Yri hIOUbkgY6vFxPnXD5lJk4pmDLCV0k2ZLnkwS+cQquj5jr3Fmz2b0V9ZNOCnoJozNR1IL ssAwhtxRBSI6V0kiMTWRgGHztPpf64dHdyUPgITGremEnwxkeLMhcAxXnB3FY4ppbZeT 7VCk5QxD5YgG+pOxSuLRGd3+Xj2EGiyEd4JBD/ze+d9sEcaeJqsDOTu8qdDyxvKZquKm waYyBin088jAotGI/C9rtRHUuRVZZ53PgygZu7M6Zklw7shrYbjD4125gbmDVNYDR6Un Mi8g== X-Gm-Message-State: AOJu0YyjKlWwRWDly48H0gf1UOWxEdvC3gXMhysmtHW9alHXh6LZAJhI Y5FhQlkxXIF45SkMBQWrItu+SfHrTQ9YHBk5J3DUqAgVi3L1s4tl5Qv4J6DkCTS8BlrhuHFRc7r nQyk= X-Gm-Gg: ASbGncu75eWnqQexWD+NZWWT61uQcp4w9t+KL2yZmttFtAiYFURT0Z5PM2xieg5EokY z2EFNmKh3/bgxo03dufHhqxNWjNY/vU1Qvvfbu+y87UWhwg9VKtF5s9chkQgpHyEenEfW23qz78 OeowfjN1ucLB4sfVTIxHheKq32cYIMiRVzn/N3h1jS7X5FjpeuevqT9NVz5O7RzCKyL9sDpDnBz RNsFG6Pnv00H28OQE66WGsdHAZiI5i+tDDDWQUEFL4yMggpz+YhYGQHEcw+/0zCfsms8t/bBQQj wPo1+WjvJ8/y+bHgqfTynzkwY2nXkeJZGUHWm9bcERm9+0Mp27IfETka8/MosqUkYn6qD0xUbDo 5CyluNAESJ3jSvuHD4Zgj6PAKcBok84EV X-Google-Smtp-Source: AGHT+IG3Juwg82VC8Fa/zV+4Gk8a4Kw80uqnXLbIUi7Bk6z7fl+eAxY/2pXJvcP3ro8+mqfxBSR6eQ== X-Received: by 2002:a05:6512:3a95:b0:540:1f7d:8bce with SMTP id 2adb3069b0e04-54ad64ef585mr1072951e87.38.1742563568709; Fri, 21 Mar 2025 06:26:08 -0700 (PDT) Received: from localhost.localdomain (87-100-218-141.bb.dnainternet.fi. [87.100.218.141]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad6468a25sm182634e87.11.2025.03.21.06.26.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Mar 2025 06:26:08 -0700 (PDT) From: Mikko Rapeli To: openembedded-core@lists.openembedded.org Cc: Mikko Rapeli Subject: [PATCH v2 11/11] image_types_wic.bbclass: depend on grub-efi and systemd-boot on aarch64, systemd-boot on arm Date: Fri, 21 Mar 2025 15:25:17 +0200 Message-ID: <20250321132517.670372-12-mikko.rapeli@linaro.org> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250321132517.670372-1-mikko.rapeli@linaro.org> References: <20250321132517.670372-1-mikko.rapeli@linaro.org> 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 ; Fri, 21 Mar 2025 13:26:20 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213467 On x86 family builds, grub and systemd-boot are always included and thus get built and deployed before wic image builds. On aarch64 builds that was not the case. Result is that some builds added systemd-boot binaries to the wic image ESP partition and some not, though bugs in wic plugins contributed here too since missing files were silently ignored. Boot of such images fails since firmware is not able to load the default EFI binaries. Adding EFI_PROVIDER to WKS_FILE_DEPENDS_BOOTLOADERS is not possible because of parsing order so adding grub-efi and systemd-boot to aarch64 and systemd-boot to arm depends which makes sure their do_deploy is always executed before wic image is generated. Thus systemd-boot and grub binaries will get copied from deploy directory to the wic image ESP partition, and boot of the images succeeds. Signed-off-by: Mikko Rapeli --- meta/classes-recipe/image_types_wic.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes-recipe/image_types_wic.bbclass b/meta/classes-recipe/image_types_wic.bbclass index 10888bc12b..b2f450026d 100644 --- a/meta/classes-recipe/image_types_wic.bbclass +++ b/meta/classes-recipe/image_types_wic.bbclass @@ -113,6 +113,8 @@ WKS_FILE_DEPENDS_DEFAULT += "bmaptool-native cdrtools-native btrfs-tools-native # Unified kernel images need objcopy WKS_FILE_DEPENDS_DEFAULT += "virtual/cross-binutils" WKS_FILE_DEPENDS_BOOTLOADERS = "" +WKS_FILE_DEPENDS_BOOTLOADERS:aarch64 = "grub-efi systemd-boot" +WKS_FILE_DEPENDS_BOOTLOADERS:arm = "systemd-boot" WKS_FILE_DEPENDS_BOOTLOADERS:x86 = "syslinux grub-efi systemd-boot os-release" WKS_FILE_DEPENDS_BOOTLOADERS:x86-64 = "syslinux systemd-boot os-release" WKS_FILE_DEPENDS_BOOTLOADERS:x86-x32 = "syslinux grub-efi"