* [PATCH 1/3] qemu: enable pseudo for nfs rootfs export @ 2026-10-02 11:48 Andrej Kozemcak 2026-10-02 11:48 ` [PATCH 2/3] runqemu: support rootfs-dbg flag in QB_FSINFO Andrej Kozemcak 0 siblings, 1 reply; 3+ messages in thread From: Andrej Kozemcak @ 2026-10-02 11:48 UTC (permalink / raw) To: openembedded-core; +Cc: Andrej Kozemcak Testimage.bbclass can now boot from nfs, but pseudo is globally disabled by default in the environment. This corrupts file access rights when qemu boots from nfs, causing failures. Explicitly enable pseudo in runqemu-export-rootfs since it is required here. Also export OECORE_NATIVE_SYSROOT from qemurunner so runqemu-export-rootfs can locate pseudo without needing a second tinfoil connection. Signed-off-by: Andrej Kozemcak <andrej.kozemcak@siemens.com> --- meta/lib/oeqa/utils/qemurunner.py | 4 ++++ scripts/runqemu-export-rootfs | 2 ++ 2 files changed, 6 insertions(+) diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index 5979b52650..1a83c01ea8 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py @@ -166,6 +166,10 @@ class QemuRunner: if self.tmpfsdir: env["RUNQEMU_TMPFS_DIR"] = self.tmpfsdir + if self.native_sysroot: + # Needed by runqemu-export-rootfs (avoid a second tinfoil connection) + env["OECORE_NATIVE_SYSROOT"] = self.native_sysroot + if not launch_cmd: launch_cmd = 'runqemu %s' % ('snapshot' if discard_writes else '') if self.use_kvm: diff --git a/scripts/runqemu-export-rootfs b/scripts/runqemu-export-rootfs index 150513bc50..ff19a0ccc9 100755 --- a/scripts/runqemu-export-rootfs +++ b/scripts/runqemu-export-rootfs @@ -58,6 +58,8 @@ PSEUDO_LOCALSTATEDIR="$NFS_EXPORT_DIR/../$(basename $NFS_EXPORT_DIR).pseudo_stat export PSEUDO_LOCALSTATEDIR PSEUDO_INCLUDE_PATHS="$NFS_EXPORT_DIR" export PSEUDO_INCLUDE_PATHS +# Enable pseudo +export PSEUDO_DISABLED=0 if [ ! -d "$PSEUDO_LOCALSTATEDIR" ]; then echo "Error: $PSEUDO_LOCALSTATEDIR does not exist." ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/3] runqemu: support rootfs-dbg flag in QB_FSINFO 2026-10-02 11:48 [PATCH 1/3] qemu: enable pseudo for nfs rootfs export Andrej Kozemcak @ 2026-10-02 11:48 ` Andrej Kozemcak 2026-10-03 16:53 ` [OE-core] " Mathieu Dubois-Briand 0 siblings, 1 reply; 3+ messages in thread From: Andrej Kozemcak @ 2026-10-02 11:48 UTC (permalink / raw) To: openembedded-core; +Cc: Andrej Kozemcak Add parsing for a new 'rootfs-dbg' flag on tar-based filesystem types in QB_FSINFO. When set, runqemu appends '-dbg' to the IMAGE_LINK_NAME used to locate the rootfs tarball for NFS extraction, allowing use of the debug rootfs variant. QB_FSINFO: additional filesystem metadata, as a space-separated list of "fstype:flag" entries, e.g., "wic:no-kernel-in-fs tar:rootfs-dbg" Supported flags include "wic:no-kernel-in-fs" or "wic:kernel-in-fs" to select whether a WIC image contains the kernel in the filesystem, and "tar:rootfs-dbg" to tell runqemu to use the debug rootfs image. Signed-off-by: Andrej Kozemcak <andrej.kozemcak@siemens.com> --- scripts/runqemu | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/scripts/runqemu b/scripts/runqemu index 2c126e7f54..ad6e03feb6 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -197,6 +197,7 @@ class BaseConfig(object): self.portlocks = {} self.bitbake_e = '' self.snapshot = False + self.rootfs_dbg = False self.wictypes = ('wic.zst', 'wic', 'wic.vmdk', 'wic.qcow2', 'wic.vdi', "wic.vhd", "wic.vhdx") self.tartypes = ('tar.zst', 'tar.bz2', 'tar.gz', 'tar.xz', 'tar') self.fstypes = ('ext2', 'ext3', 'ext4', 'ext2.zst', 'ext3.zst', 'ext4.zst', @@ -686,7 +687,7 @@ to your build configuration. else: raise RunQemuError("FSTYPE is NULL!") - # parse QB_FSINFO into dict, e.g. { 'wic': ['no-kernel-in-fs', 'a-flag'], 'ext4': ['another-flag']} + # parse QB_FSINFO into dict, e.g. { 'wic': ['no-kernel-in-fs', 'a-flag'], 'tar': ['rootfs-dbg']} wic_fs = False qb_fsinfo = self.get('QB_FSINFO') if qb_fsinfo: @@ -703,6 +704,12 @@ to your build configuration. else: logger.warning('Unknown flag "%s:%s" in QB_FSINFO', fstype, fsflag) continue + elif fstype in ('tar',) + self.tartypes: + if fsflag == 'rootfs-dbg': + self.rootfs_dbg = True + else: + logger.warning('Unknown flag "%s:%s" in QB_FSINFO', fstype, fsflag) + continue else: logger.warning('QB_FSINFO is not supported for image type "%s"', fstype) continue @@ -1079,7 +1086,10 @@ to your build configuration. # Extract .tar* if no nfs dir if not (self.rootfs and os.path.isdir(self.rootfs)): - src_prefix = '%s/%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_LINK_NAME')) + image_link_name = self.get('IMAGE_LINK_NAME') + if self.rootfs_dbg: + image_link_name += '-dbg' + src_prefix = '%s/%s' % (self.get('DEPLOY_DIR_IMAGE'), image_link_name) dest = "%s-nfsroot" % src_prefix if os.path.exists('%s.pseudo_state' % dest): logger.info('Use %s as NFS_DIR' % dest) ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH 2/3] runqemu: support rootfs-dbg flag in QB_FSINFO 2026-10-02 11:48 ` [PATCH 2/3] runqemu: support rootfs-dbg flag in QB_FSINFO Andrej Kozemcak @ 2026-10-03 16:53 ` Mathieu Dubois-Briand 0 siblings, 0 replies; 3+ messages in thread From: Mathieu Dubois-Briand @ 2026-10-03 16:53 UTC (permalink / raw) To: andrej.kozemcak, openembedded-core On Fri Oct 2, 2026 at 1:48 PM CEST, Andrej Kozemcak via lists.openembedded.org wrote: > Add parsing for a new 'rootfs-dbg' flag on tar-based filesystem > types in QB_FSINFO. When set, runqemu appends '-dbg' to the > IMAGE_LINK_NAME used to locate the rootfs tarball for NFS > extraction, allowing use of the debug rootfs variant. > > QB_FSINFO: additional filesystem metadata, as a space-separated list of > "fstype:flag" entries, e.g., "wic:no-kernel-in-fs tar:rootfs-dbg" > Supported flags include "wic:no-kernel-in-fs" or "wic:kernel-in-fs" > to select whether a WIC image contains the kernel in the filesystem, > and "tar:rootfs-dbg" to tell runqemu to use the debug rootfs image. > > Signed-off-by: Andrej Kozemcak <andrej.kozemcak@siemens.com> > --- Hi Andrej, It looks like one of the tests is failing: 2026-10-03 14:58:26,482 - oe-selftest - INFO - runtime_test.TestImage.test_testimage_nfs (subunit.RemotedTestCase) 2026-10-03 14:58:26,483 - oe-selftest - INFO - ... FAIL ... Traceback (most recent call last): File "/srv/pokybuild/yocto-worker/oe-selftest-debian/build/layers/openembedded-core/scripts/runqemu", line 1810, in main config.setup_rootfs() ~~~~~~~~~~~~~~~~~~~^^ File "/srv/pokybuild/yocto-worker/oe-selftest-debian/build/layers/openembedded-core/scripts/runqemu", line 1306, in setup_rootfs shutil.copyfile(self.rootfs, newrootfs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/srv/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-3336067/tmp/work/qemux86_64-poky-linux/oe-selftest-image/1.0/recipe-sysroot-native/usr/lib/python3.14/shutil.py", line 313, in copyfile with open(src, 'rb') as fsrc: ~~~~^^^^^^^^^^^ IsADirectoryError: [Errno 21] Is a directory: '/srv/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-3336067/tmp/deploy/images/qemux86-64/oe-selftest-image-qemux86-64.rootfs-dbg-nfsroot' https://autobuilder.yoctoproject.org/valkyrie/#/builders/35/builds/4994 Can you have a look at the issue? Thanks, Mathieu -- Mathieu Dubois-Briand, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-03 16:54 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-10-02 11:48 [PATCH 1/3] qemu: enable pseudo for nfs rootfs export Andrej Kozemcak 2026-10-02 11:48 ` [PATCH 2/3] runqemu: support rootfs-dbg flag in QB_FSINFO Andrej Kozemcak 2026-10-03 16:53 ` [OE-core] " Mathieu Dubois-Briand
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.