Since qemu commit 81ffbf5ab1458e357a761f1272105a55829b351e the metadata
for / is not stored in platform-<nnn>/.virtfs_metadata/root but instead
in platform-<nnn>/root/.virtfs_metadata_root. For nfsroot, we also leave
the file in the current position.

Without this patch, / belongs to the user+group of the ptxdist user on
9p, not to root+root.

Inspired-by: Michael Olbrich <m.olbr...@pengutronix.de>
Signed-off-by: Robert Schwebel <r.schwe...@pengutronix.de>
---
 scripts/lib/ptxd_make_xpkg_pkg.sh | 4 ++++
 1 file changed, 4 insertions(+)

Changes since (implicit) v1:

- leave old file for nfsroot (feedback from mol)

diff --git a/scripts/lib/ptxd_make_xpkg_pkg.sh 
b/scripts/lib/ptxd_make_xpkg_pkg.sh
index 1a1af0c19..a2fa7b99a 100644
--- a/scripts/lib/ptxd_make_xpkg_pkg.sh
+++ b/scripts/lib/ptxd_make_xpkg_pkg.sh
@@ -296,6 +296,10 @@ ptxd_install_virtfs() {
        virtfs.gid=${grp}
        virtfs.mode=${mod_virtfs}
        EOF
+       if [ -z "${dst}" ]; then
+               mkdir_p "${d%/*}/root" &&
+               cp $file "${d%/*}/root/.virtfs_metadata_root"
+       fi &&
        if [ -n "${major}" -a -n "${minor}" ]; then
            local rdev=$[ ${major} << 8 | ${minor} ] &&
            echo "virtfs.rdev=${rdev}" >> "${file}"
-- 
2.39.2


Reply via email to