From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Thu, 30 Oct 2025 12:33:48 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f58.google.com (mail-wm1-f58.google.com [209.85.128.58]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 59UBXl8u007633 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 30 Oct 2025 12:33:47 +0100 Received: by mail-wm1-f58.google.com with SMTP id 5b1f17b1804b1-475dd9906e1sf5435745e9.0 for ; Thu, 30 Oct 2025 04:33:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1761824022; cv=pass; d=google.com; s=arc-20240605; b=BRvlalVAcLUoPUKkHvfjaIX6qNq/vicvb8xXVypYhsaLBMBcRnxhrrsmmj/0ByfwOQ kQbzSs21aDRJLCB0IOn314TYVPCRJDNLGspjwed64tPM384QVbqPWWoaMxpI9cZ7Wh1e l7nI+Y0K4IakkEcrF7jOlMrfMC/2Nq8PKU/xR2eBLtLbEmFsVAvQIqqIczkiA35osYQl HRMCnqSEtQb/UUXcSsbyg4V/gO/Vj4xQnnW8EdgeplCgZMR1wnb+28KOCY2+RmKFbMHf u/f9/CqmFS3d89kDSdLRv92HYIQdY8UmHatmFjSmnuQDK0A7UFUB886kbB9B2Upm3UjI BFGQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=G0hyS2+iRw8H5vksvKaB0bCE2HQetDtozm3rzdj2T24=; fh=46396XHecrntChD+BrvtYQOm7Y5EEuMaJIxbsjzsw10=; b=EiHy58rQJuoih5A+m53CicThzrusQE81fvE4GktZ3JpJPaRHOoS57uufpXlpkwIvO0 AGr2ZGRF5g6WgC6HtAz76uG+AIPczjVb4WkTfOKcPJ+V8PjU5H9KzbuyFgTR5ylW1FUH eqsfzk9Niq0bIPLcxdxwdqGa7cnatxIP2X1iHYUOaFD35iTpPznu+m+eu2S2iBNb1EAA qBdM0R1UKbPnS08hlQTHZfO1V1Oue+OmaRUOlNRhtI8ylIMDmHCXY5qiWSbcVlQ0ndPX ApSqXiPn+5qTJlTkdmAMRax91dlCFJEqIi57qK1h0Q/uPzrDKzdCedcx1vVgdfXKonb6 fgBg==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TeQ5s0HB; spf=pass (google.com: domain of fm-1330684-202510301133381393bf9ea4000207f0-abektj@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1330684-202510301133381393bf9ea4000207f0-abEktJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1761824022; x=1762428822; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=G0hyS2+iRw8H5vksvKaB0bCE2HQetDtozm3rzdj2T24=; b=NFk/I/s6ZofbNenYDPMY6WJ0dcPZcv4TaL5MF7njgpWl+o1p19xcVlx80MDKC97nkm AXDcyYfPoChbUtFW0dkAVaOrbcC6+xz1yaWOVjJjivKyJOtFZlvl6qEavA9jtLd5DS0b +VhYXaJLkldoq2andIJ+Gnve/Yw+MZr2gTTl2EBB5yWVFaxCsOmnTq9EdLTDvoHnxGP4 aY8QztsSTMRFyrLI3UC1ZiRFy8dfzwP6lLgraqxPSADvz/Cuah1xd+ARLExjU69TGE3p o3q2BqNIogynPl89cCxeolFtIsVMjywJDmBifS9l8T5EHlrMRue9R5/DWcNcWyCz/U2U NXEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761824022; x=1762428822; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=G0hyS2+iRw8H5vksvKaB0bCE2HQetDtozm3rzdj2T24=; b=Oty+v5rNzrqf1G1g72IizGGt3Y7L00Ty95h19BDBFXCNpmNbKWzw/8y3eM1+EPx02O i70iFKVZmeF38MPaVByPG56oEKx5InamDScX4bZbLut1FplHePkg7oChc0qWWsJuQnj6 nkrZKYM+Pv+Ho26Pkj0NMy7KPKDQlBWEP0kjzinjMRZzPYX6ShxpTF5+orNwVhiKvpsp ooVvhrjselvIGx8Fr9nWacS4SHgMWiTjD0umK7paNF4uMHGXwqneMVd2cHGpIq+X+SZV XCb82WyRn48MHCTOpX/pbDyS9uOLz7GLigqBqw8LUqjY9yBrUIqCxbgTgf4XDC2RYzff u+XQ== X-Forwarded-Encrypted: i=2; AJvYcCXAWI889ramRGQXw4v91/ACNgnZ53+iTSojcTcwPa4CQI9TYO5nS1NEIv+RrHxbP1cCY8/x@ilbers.de X-Gm-Message-State: AOJu0YwkWpqZ0jagVr3ytlYYet12m9XLB3owbChivy95HtjpFSPvgbjA 1nWOC02AiZh1n6GszYzfAlF/daH8umyMBJ5EBM4v1qiVYNgv3BxJNyS2 X-Google-Smtp-Source: AGHT+IHvOWV48IxXlEx2pYCkGnwczWyr/KZkbtJp8v+VoxQ//I1jzQr5CWj67HeRm60UQTelEt5CUA== X-Received: by 2002:a05:600c:3b1d:b0:475:e007:baf1 with SMTP id 5b1f17b1804b1-4771e3b8626mr68956275e9.34.1761824021991; Thu, 30 Oct 2025 04:33:41 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="Ae8XA+Z1WA4dXIfUnuqd+qDpslZrk/tB7iQVHZz64aNN5yKwVA==" Received: by 2002:a05:600c:3ba8:b0:46f:c0c9:68f8 with SMTP id 5b1f17b1804b1-477274cebd7ls5770045e9.0.-pod-prod-04-eu; Thu, 30 Oct 2025 04:33:38 -0700 (PDT) X-Received: by 2002:a05:600c:b8a:b0:45d:d353:a491 with SMTP id 5b1f17b1804b1-4771e316ddfmr51248315e9.1.1761824018435; Thu, 30 Oct 2025 04:33:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1761824018; cv=none; d=google.com; s=arc-20240605; b=lmSfx4aLuB+v1PVWXS7kwUcqwpko3fvL+xO9qyK8uCgB9EXETIFQYxV2io5sCOnVav BMGngI0GMbQAJsaGzee6vFelqO+hc3ue5v0oQcLpW++OcSfk6HLFjCfQxKE6nFeTPjjE ZRF1RkfpGg0oKf2BWEKv1S/AhadZbYy9VTw8Yvz3Er732r8geSzag/K6ffvg3iCohoPb WZiD0UhUk7cTCX9OjhXh4PJBQlExxrrAq9vIRZGEK65PZ3zJ5DWxK6RnP2h5ALZTncT3 UcV4IpDHcHkHgUVcWglu/gEdEqFLl827R5yr5kEdGZHM2KhzZXkYb6FBunSTPcEAyh8C sPcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=oihD6XhBmCpnRtwxb5FKjtmvpcdMfnaY5E+JwbIvxXM=; fh=f0lsbyxL2S/Ksfcw9XfRyXciqFNLMVx02KndFJbpDZQ=; b=Uggv2XFYpWNqI+dKYlrxvUv+GC/47yvq5yfUP3IrmK95als6Doc76XR0bxHvhcNCXX BzJvASs1f/ZZQTCrwVQUehtgtFRNIKdHHdzziFEA84ZoNaqOPcgT8ky0FHswB9L+Smo7 JR/AAKKeRrjLhREFxPoA1Bu4MzoYR07PbCWe4jXxe17oom9QEx5aY9y+aobH5tOUznYM 09CNfxuL9ljlfpPu7sDi8H1++4vlfuu7UfOVJwSHLMONqeX1t4t3a+MufXfmofkZ+Mnb pRuD08RTAV/Uotky3D63gp7YADUueQg4M8pvLlXDuUVokR+hW6wk4HE5iw5W3MtBZKV+ /1Zw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TeQ5s0HB; spf=pass (google.com: domain of fm-1330684-202510301133381393bf9ea4000207f0-abektj@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1330684-202510301133381393bf9ea4000207f0-abEktJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net. [185.136.65.225]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-42995f8f643si297415f8f.1.2025.10.30.04.33.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Oct 2025 04:33:38 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1330684-202510301133381393bf9ea4000207f0-abektj@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) client-ip=185.136.65.225; Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 202510301133381393bf9ea4000207f0 for ; Thu, 30 Oct 2025 12:33:38 +0100 From: "alexander.heinisch via isar-users" To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, felix.moessbauer@siemens.com, cedric.hombourger@siemens.com, wzh@ilbers.de, Alexander Heinisch Subject: [PATCH v4 2/2] classes/image-postproc: Enable systemd units based on systemd presets Date: Thu, 30 Oct 2025 12:33:32 +0100 Message-Id: <20251030113332.1809425-3-alexander.heinisch@siemens.com> In-Reply-To: <20251030113332.1809425-1-alexander.heinisch@siemens.com> References: <20251030113332.1809425-1-alexander.heinisch@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1330684:519-21489:flowmailer X-Original-Sender: alexander.heinisch@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=TeQ5s0HB; spf=pass (google.com: domain of fm-1330684-202510301133381393bf9ea4000207f0-abektj@rts-flowmailer.siemens.com designates 185.136.65.225 as permitted sender) smtp.mailfrom=fm-1330684-202510301133381393bf9ea4000207f0-abEktJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: alexander.heinisch@siemens.com Reply-To: alexander.heinisch@siemens.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: yRzYyD5Q09cc From: Alexander Heinisch By default population of the presets is automatically done by systemd on first-boot. There were several issues with that: 1. The rootfs we get as a build artifact does not reflect the actual system running in the field. 2. For setups without writeable /etc this fails. With that addition it happens already at build time. Note: Additional services are enabled only. Services already enabled during the package installation won't be changed. Opt-out: `ROOTFS_FEATURES:remove = "populate-systemd-preset"` Signed-off-by: Alexander Heinisch --- RECIPE-API-CHANGELOG.md | 20 +++++++++++++++++++- meta/classes/image.bbclass | 1 + meta/classes/rootfs.bbclass | 12 ++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index cf04fa5c..e173ee53 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -790,4 +790,22 @@ unset (the default), `Rules-Requires-Root` will not be added. Otherwise, Set `Rules-Requires-Root: no` in `debian/control` files to prevent unnecessary invocation of fakeroot during package builds. This follows Debian guidelines recommending not to use fakeroot when no privileged operations (e.g., `chown`, -root file modifications) are required. +root file modifications) are required. + +### Populate systemd units based on presets during image postprocessing + +By default population of the presets is automatically done by systemd +on first-boot. + +There were several issues with that: + +1. The rootfs we get as a build artifact does not reflect the actual +system running in the field. + +2. For setups without writeable /etc this fails. With that addition +it happens already at build time. + +**Note**: Additional services are enabled only. Services already enabled +during the package installation won't be changed. + +Opt-out: `ROOTFS_FEATURES:remove = "populate-systemd-preset"` diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 08715647..f4b9989c 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -73,6 +73,7 @@ ROOTFS_FEATURES += "\ export-dpkg-status \ clean-log-files \ clean-debconf-cache \ + populate-systemd-preset \ " # when using a custom initrd, do not generate one as part of the image rootfs ROOTFS_FEATURES += "${@ '' if d.getVar('INITRD_IMAGE') == '' else 'no-generate-initrd'}" diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 2fef3120..e9e8cde0 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -15,6 +15,7 @@ ROOTFS_BASE_DISTRO ?= "${BASE_DISTRO}" # 'export-dpkg-status' - exports /var/lib/dpkg/status file to ${ROOTFS_DPKGSTATUS_DEPLOY_DIR} # 'clean-log-files' - delete log files that are not owned by packages # 'no-generate-initrd' - do not generate debian default initrd +# 'populate-systemd-preset' - enable systemd units according to systemd presets ROOTFS_FEATURES ?= "" ROOTFS_APT_ARGS="install --yes -o Debug::pkgProblemResolver=yes" @@ -520,6 +521,17 @@ rootfs_cleanup_base_apt() { EOSUDO } +ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'populate-systemd-preset', 'image_postprocess_populate_systemd_preset', '', d)}" +image_postprocess_populate_systemd_preset() { + SYSTEMD_INSTALLED=$(sudo chroot '${ROOTFSDIR}' dpkg-query \ + --showformat='${db:Status-Status}' \ + --show systemd || echo "" ) + + if (test "$SYSTEMD_INSTALLED" = "installed"); then + sudo chroot '${ROOTFSDIR}' systemctl preset-all --preset-mode="enable-only" + fi +} + do_rootfs_postprocess[vardeps] = "${ROOTFS_POSTPROCESS_COMMAND}" do_rootfs_postprocess[network] = "${TASK_USE_SUDO}" python do_rootfs_postprocess() { -- 2.39.5 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20251030113332.1809425-3-alexander.heinisch%40siemens.com.