Hi Samuel,
Quoting Samuel Thibault (2024-08-24 20:02:16)
> Samuel Thibault, le sam. 24 août 2024 19:25:54 +0200, a ecrit:
> > Johannes Schauer Marin Rodrigues, le sam. 24 août 2024 18:29:52 +0200, a ecrit:
> > > Quoting Samuel Thibault (2024-07-19 01:35:45)
> > > > Putting a more eye-catching title :)
> > >
> > > Thank you, Samuel!
> > >
> > > I am still unable to see extended attributes in the translators when checking
> > > this call on Linux:
> > >
> > > sudo getfattr --dump --match=- /mnt/hurd/*
> > >
> > > Do others observe the same?
> >
> > Indeed. Apparently the translators don't get updated on upgrade, so
> > you'd have to force it:
> >
> > /usr/lib/hurd/setup-translators -k
>
> As discussed on irc: one needs to reboot with an upgraded hurd package
> before using setup-translators to update the entries.
>
> And on Linux, one needs to use the ext4fs module, not ext2fs (which doesn't
> know about gnu.translators).
thank you, I tried everything from scratch and implemented both your
suggestions. To be precise I did the following:
- downloaded the following:
https://cdimage.debian.org/cdimage/ports/stable/hurd-i386/debian-hurd-20230608.img
https://cdimage.debian.org/cdimage/ports/stable/hurd-i386/gnumach.gz
https://cdimage.debian.org/cdimage/ports/stable/hurd-i386/exec.static
https://cdimage.debian.org/cdimage/ports/stable/hurd-i386/ext2fs.static
- booted like this:
qemu-system-i386 -nographic -net user,hostfwd=tcp:127.0.0.1:2222-:22 -net
nic,model=e1000 -m 1G -kernel gnumach-1.8-486-up -append 'root=device:hd0s2
console=com0' --initrd './ext2fs.static
--multiboot-command-line=${kernel-command-line}
--host-priv-port=${host-port} --device-master-port=${device-port}
--exec-server-task=${exec-task} -T typed ${root} $(task-create)
$(task-resume),./exec.static $(exec-task=task-create)' -drive
file=debian-hurd-20230608.img,format=raw
- replaced /etc/apt/sources.list with an entry for
deb http://ftp.ports.debian.org/debian-ports/ unstable main
- ran apt upgrade && apt dist-upgrade && apt autoremove
- shut down the machine
- mounted the image and copied out /boot/gnumach-1.8-486-up.gz,
/hurd/exec.static /hurd/ext2fs.static
- gunzipped /boot/gnumach-1.8-486-up.gz
- started qemu again like this (now with new kernel):
qemu-system-i386 -nographic -net user,hostfwd=tcp:127.0.0.1:2222-:22 -net
nic,model=e1000 -m 1G -kernel gnumach-1.8-486-up -append 'root=device:hd0s2
console=com0' --initrd './ext2fs.static
--multiboot-command-line=${kernel-command-line}
--host-priv-port=${host-port} --device-master-port=${device-port}
--exec-server-task=${exec-task} -T typed ${root} $(task-create)
$(task-resume),./exec.static $(exec-task=task-create)' -drive
file=debian-hurd-20230608.img,format=raw
- ran /usr/lib/hurd/setup-translators -k
- shut down the machine
- mounted the image again (with -t ext4)
- ran this: sudo getfattr --dump --match=- /mnt/hurd/*
And the last command comes back empty. To make sure, that setup-translators is
not somehow buggy, I created a translator manually inside the vm:
$ touch hello
$ settrans hello /hurd/hello
$ cat hello
Hello, world!
And then on the outside:
$ sudo kpartx -av debian-hurd-20230608.img
$ sudo mount -t ext4 /dev/mapper/loop0p2 /mnt
$ sudo getfattr --dump --match=- /mnt/root/hello
getfattr: Removing leading '/' from absolute path names
# file: mnt/root/hello
gnu.translator="/hurd/hello"
So... maybe this actually works but the contents of /hurd are not updated
sufficiently by running "/usr/lib/hurd/setup-translators -k"?
Btw, mounting without '-t ext4' also allows seeing the xattr with getfattr on
my bookworm system. In mount, it shows as
/dev/mapper/loop0p2 on /mnt type ext2 (rw,relatime)
So maybe forcing ext4 is not needed in practice?
Thanks!
cheers, joschAttachment:
signature.asc
Description: signature