From: "'MOESSBAUER, Felix' via isar-users" <isar-users@googlegroups.com>
To: Zhihang Wei <wzh@ilbers.de>,
"isar-users@googlegroups.com" <isar-users@googlegroups.com>
Cc: "Kiszka, Jan" <jan.kiszka@siemens.com>,
"Gylstorff, Quirin" <quirin.gylstorff@siemens.com>
Subject: Re: [PATCH v6 00/17] add support to build isar unprivileged
Date: Fri, 19 Jun 2026 10:13:22 +0000 [thread overview]
Message-ID: <e297b0a534f817ef13dfb8c12c81c0edafb9b916.camel@siemens.com> (raw)
In-Reply-To: <4365217a-491e-4b9c-9a8f-f9c92ce6bcda@ilbers.de>
On Fri, 2026-06-19 at 11:00 +0200, Zhihang Wei wrote:
> On 6/15/26 11:24, 'Felix Moessbauer' via isar-users wrote:
> > Dear isar-users,
> >
> > currently isar requires password-less sudo and an environment
> > where mounting file systems is possible. This has proven problematic
> > for security reasons, both when running in a privileged container or
> > locally.
> >
> > To solve this, we implement fully rootless builds that rely on the
> > unshare syscall which allows us to avoid sudo and instead operate in
> > temporary kernel namespaces as a user that is just privileged within
> > that namespace. This comes with some challenges regarding the handling
> > of mounts (they are cleared when leaving the namespace), as well as
> > cross namespace deployments (the outer user might not be able to access
> > the inner data). For that, we rework the handling of mounts and artifact
> > passing to make it compatible with both chroot modes (schroot and
> > unshare).
> >
> > Note, that this series can be tested on a custom kas-container build
> > provided in [1]. Hints how to migrate downstream layers are provided
> > in the API changelog.
> >
> > Changes since PATCH v5:
> >
> > - rebased onto next
> > - adjust to changes from "Rootfs install race fix for isar-apt packages":
> > Manually add isar-apt mount in rootfs_install_pkgs_isar_download on
> > rootless
> > - adjust to changes in "image-postproc: gate systemd preset-all on masked
> > unit state": Trivial change to use run_in_chroot instead of sudo chroot.
> >
>
> Hi,
>
> I found an issue when testing in rootless mode.
>
> The test was run using a test-container with a customized kas container
> built on 25307f7.
>
> The following test case fails:
> testsuite/citest.py:NoCrossTest.test_nocross
> when building 'mc:qemumipsel-bookworm:isar-image-ci' in nocross mode.
>
> Logs follow:
> [stdlog] 2026-06-19 09:30:44,290 avocado.app cibuilder L0347 ERROR|
> ERROR: mc:qemumipsel-bookworm:isar-mmdebstrap-target-1.0-r0
> do_bootstrap:
> ExecutionError('/isar/build/tmp/work/debian-bookworm-mipsel/isar-mmdebstrap-target/1.0-r0/temp/run.do_bootstrap.2096',
> 25, None, None)
> [stdlog] 2026-06-19 09:30:44,290 avocado.app cibuilder L0347 ERROR|
> ERROR: Logfile of failure stored in:
> /isar/build/tmp/work/debian-bookworm-mipsel/isar-mmdebstrap-target/1.0-r0/temp/log.do_bootstrap.2096
>
> DEBUG: Executing python function sstate_task_prefunc
> DEBUG: Python function sstate_task_prefunc finished
> DEBUG: Executing shell function do_bootstrap
> removed
> '/isar/build/tmp/work/debian-bookworm-mipsel/isar-mmdebstrap-target/1.0-r0/sources.list.d/bootstrap.list'
> '/isar/build/tmp/work/debian-bookworm-mipsel/isar-mmdebstrap-target/1.0-r0/apt-sources'
> ->
> '/isar/build/tmp/work/debian-bookworm-mipsel/isar-mmdebstrap-target/1.0-r0/sources.list.d/bootstrap.list'
> W: binfmt_misc not found in /proc/mounts -- not mounted?
> W: cannot find update-binfmts
> E: mipsel can neither be executed natively nor via qemu user emulation
> with binfmt_misc
I just tested this, but cannot reproduce. My build correctly passes in
rootless mode. To me, it looks like your container is started in
rootless mode, but the avocado executes the build in privileged mode
(missing the ISAR_ROOTLESS = 1 flag, which is set by setting -p
rootless=1).
>
> When testing them directly in rootful mode, we have an EXT4 filesystem
> error also when running no_cross, but not known yet which target. Also
> not sure whether it's related. Let me check and get back to you.
Let me know once you identified the target.
Felix
>
> Zhihang
>
> --
> 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/4365217a-491e-4b9c-9a8f-f9c92ce6bcda%40ilbers.de.
--
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/e297b0a534f817ef13dfb8c12c81c0edafb9b916.camel%40siemens.com.
prev parent reply other threads:[~2026-06-19 10:13 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-15 9:24 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 01/17] refactor bootstrap: store rootfs tar with user permissions 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 02/17] deb-dl-dir: export without root privileges 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 03/17] download debs without locking 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 04/17] introduce wrappers for privileged execution 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 05/17] bootstrap: move cleanup trap to function 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 06/17] rootfs: rework sstate caching of rootfs artifact 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 07/17] rootfs_generate_initramfs: rework deployment to avoid chowning 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 08/17] use bitbake function to generate mounting scripts 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 09/17] apt-fetcher: prepare for chroot specific fetching 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 10/17] add support for fully rootless builds 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 11/17] add helper script to clean artifacts in build dir 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 12/17] apt-fetcher: implement support for unshare backend 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 13/17] dpkg-source: implement multiarch " 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 14/17] use copy of sbom-chroot for sbom creation 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 15/17] add support for devshell on unshare backend 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 16/17] testsuite: add parameter to run tests in rootless mode 'Felix Moessbauer' via isar-users
2026-06-15 9:24 ` [PATCH v6 17/17] run-tests: add support for isar-rootless mode 'Felix Moessbauer' via isar-users
2026-06-19 9:08 ` Zhihang Wei
2026-06-19 10:03 ` 'MOESSBAUER, Felix' via isar-users
2026-06-19 14:32 ` Zhihang Wei
2026-06-19 9:00 ` [PATCH v6 00/17] add support to build isar unprivileged Zhihang Wei
2026-06-19 10:13 ` 'MOESSBAUER, Felix' via isar-users [this message]
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=e297b0a534f817ef13dfb8c12c81c0edafb9b916.camel@siemens.com \
--to=isar-users@googlegroups.com \
--cc=felix.moessbauer@siemens.com \
--cc=jan.kiszka@siemens.com \
--cc=quirin.gylstorff@siemens.com \
--cc=wzh@ilbers.de \
/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