Le 16/08/2025 à 00:11, Samuel Thibault a écrit :
I have discussed with Helmut about implementing a sub-hurd-based schroot
backend, it should be quite easy, just needs some dive-in to know how to
explain schroot how to run sub-hurds.
I tried following the documentation at:
https://www.gnu.org/software/hurd/hurd/subhurd.html
But I could not get a subhurd to boot.
I tried:
- with the same image as the VM
- creating an image with debootstrap
- creating an image with crosshurd
I always get the message:
/hurd/ext2fs.static --readonly "--multiboot-command-line=fastboot
root=pseudo-root" --host-priv-port=1 --device-master-port=2 --kernel-task=3
--exec-server-task=4 -T device pseudo-root
/lib/ld.so /hurd/exec
/lib/ld.so: cannot open bootstrap file
or similar.
Any clue?
The documentation was for hurd-i386. On hurd-amd64, ld.so is called
ld-x86-64.so.1
Now that I could debootstrap, I tried again running a subhurd.
With the attached boot-script.hurd (taken from hurd's boot.c and adapted
to use /usr/lib/ld-x86-64.so.1) and a subhurd.img (as an ext2 image
generated using debootstrap), I get:
demo@debian:~$ boot --boot-script=boot-script.hurd subhurd.img
/hurd/ext2fs.static --readonly "--multiboot-command-line=boot - root=pseudo-root" --host-priv-port=1 --device-master-port=2 --kernel-task=3 --exec-server-task=4 -T device pseudo-root
/lib/ld-x86-64.so.1 /hurd/exec
Then nothing. I have no idea if something is going on, nor do I know how
to proceed to debug things. Any pointers?
Cheers,
--
Stéphane
/hurd/ext2fs.static --readonly --multiboot-command-line=${kernel-command-line}
--host-priv-port=${host-port} --device-master-port=${device-port}
--kernel-task=${kernel-task} --exec-server-task=${exec-task} -T device
${root-device} $(task-create) $(task-resume)
/lib/ld-x86-64.so.1 /hurd/exec $(exec-task=task-create)