public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: "'Felix Moessbauer' via isar-users" <isar-users@googlegroups.com>
To: isar-users@googlegroups.com
Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com,
	Felix Moessbauer <felix.moessbauer@siemens.com>
Subject: [RFC v2 07/19] rootfs_generate_initramfs: rework deployment to avoid chowning
Date: Fri, 20 Feb 2026 18:15:49 +0100	[thread overview]
Message-ID: <20260220171601.3845113-8-felix.moessbauer@siemens.com> (raw)
In-Reply-To: <20260220171601.3845113-1-felix.moessbauer@siemens.com>

Previously the initrd was deployed as root and later chowned in the
deploy dir. This involves privileged operations which will no longer be
possible when running rootless. To prepare for that, we deploy via a
stdout and create the target file by the correct user.

While doing this, we also remove a useless sudo invocation when listing
the ROOTFS/boot dir, as this can be listed by all users.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
 meta/classes-recipe/rootfs.bbclass | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/meta/classes-recipe/rootfs.bbclass b/meta/classes-recipe/rootfs.bbclass
index 33fc3cf6..ac50156c 100644
--- a/meta/classes-recipe/rootfs.bbclass
+++ b/meta/classes-recipe/rootfs.bbclass
@@ -620,18 +620,16 @@ python do_generate_initramfs_setscene () {
 
 rootfs_generate_initramfs[progress] = "custom:rootfs_progress.InitrdProgressHandler"
 rootfs_generate_initramfs() {
-    if [ -n "$(sudo find '${ROOTFSDIR}/boot' -type f -name 'vmlinu[xz]*')" ]; then
+    if [ -n "$(find '${ROOTFSDIR}/boot' -type f -name 'vmlinu[xz]*')" ]; then
         for kernel in ${ROOTFSDIR}/boot/vmlinu[xz]-*; do
             export kernel_version=$(basename $kernel | cut -d'-' -f2-)
             mods_total="$(find ${ROOTFSDIR}/usr/lib/modules/$kernel_version -type f -name '*.ko*' | wc -l)"
             echo "Total number of modules: $mods_total"
             echo "Generating initrd for kernel version: $kernel_version"
-            run_in_chroot "${ROOTFSDIR}" sh -ec ' \
-                ${ROOTFS_INITRAMFS_GENERATOR_CMDLINE}; \
-                find /boot -name "initrd.img-$kernel_version*" -exec install --mode 0644 {} /isar-work/initrd.img \; \
-                '
+            run_in_chroot "${ROOTFSDIR}" sh -ec '${ROOTFS_INITRAMFS_GENERATOR_CMDLINE}'
+            find ${ROOTFSDIR}/boot -name "initrd.img-$kernel_version*" -exec cat {} \; \
+                > ${DEPLOYDIR}/${INITRD_DEPLOY_FILE}
         done
-        install --owner $(id -u) --group $(id -g) ${WORKDIR}/initrd.img ${DEPLOYDIR}/${INITRD_DEPLOY_FILE}
     else
         echo "no kernel in this rootfs, do not generate initrd"
     fi
-- 
2.51.0

-- 
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/20260220171601.3845113-8-felix.moessbauer%40siemens.com.

  parent reply	other threads:[~2026-02-20 17:16 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-20 17:15 [RFC v2 00/20] add support to build isar unprivileged 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 01/19] refactor bootstrap: store rootfs tar with user permissions 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 02/19] deb-dl-dir: export without root privileges 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 03/19] download debs without locking 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 04/19] introduce wrappers for privileged execution 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 05/19] bootstrap: move cleanup trap to function 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 06/19] rootfs: rework sstate caching of rootfs artifact 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` 'Felix Moessbauer' via isar-users [this message]
2026-02-20 17:15 ` [RFC v2 08/19] wic: rework image deploy logic to deploy under correct user 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 09/19] use bitbake function to generate mounting scripts 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 10/19] apt-fetcher: prepare for chroot specific fetching 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 11/19] add support for fully rootless builds 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 12/19] add helper script to clean artifacts in build dir 'Felix Moessbauer' via isar-users
2026-02-20 18:24   ` 'Jan Kiszka' via isar-users
2026-02-20 17:15 ` [RFC v2 13/19] apt-fetcher: implement support for unshare backend 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 14/19] vm images: make compatible with rootless build 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 15/19] ddi image: convert to two stage deploy 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 16/19] container images: make compatible with rootless build 'Felix Moessbauer' via isar-users
2026-02-20 17:15 ` [RFC v2 17/19] dpkg-source: implement multiarch support for unshare backend 'Felix Moessbauer' via isar-users
2026-02-20 17:16 ` [RFC v2 18/19] rootfs: remove temporary sstate deploy directory after task execution 'Felix Moessbauer' via isar-users
2026-02-20 17:16 ` [RFC v2 19/19] use copy of sbom-chroot for sbom creation 'Felix Moessbauer' via isar-users
2026-02-24 10:33   ` Uladzimir Bely
2026-02-24 11:36     ` 'MOESSBAUER, Felix' via isar-users
2026-02-24 11:59       ` Uladzimir Bely
2026-02-24 12:28         ` 'MOESSBAUER, Felix' via isar-users
2026-02-20 17:24 ` [RFC v2 00/20] add support to build isar unprivileged 'Jan Kiszka' via isar-users

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260220171601.3845113-8-felix.moessbauer@siemens.com \
    --to=isar-users@googlegroups.com \
    --cc=felix.moessbauer@siemens.com \
    --cc=jan.kiszka@siemens.com \
    --cc=quirin.gylstorff@siemens.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox