Re: sbuild on hurd-amd64...
Johannes Schauer Marin Rodrigues <[email protected]> Mon, 29 Jun 2026 02:57:16 +0200
| Newsgroups | gmane.linux.debian.ports.hurd |
|---|---|
| Message-ID | <178269463631.115769.8397507778042756645@localhost> |
--===============5357625790824131048==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Hi,
Quoting Johannes Schauer Marin Rodrigues (2026-06-01 10:26:13)
> this has been a loooong yak shave and it still continues so I wanted to s=
end a
> small summary that work is still going on albeit slowly. Details and some
> questions for this list further below.
another status update!
> To make testcases I somehow need to create a QEMU virtual machine with GN=
U/Hurd
> and I figured that the easiest way to do that is to add support for creat=
ing
> Hurd images to the software which mmdebstrap is already using in its test=
suite
> to create QEMU virtual machines: debvm. I have a POC which allows for deb=
vm to
> create bootable Hurd images here:
> https://salsa.debian.org/helmutg/debvm/-/merge_requests/39
>=20
> I have not yet figured out how to auto-login the root user in GNU/Hurd. T=
he
> agetty line which works on Linux errors out with "getty[585]: Bad syntax"=
and
> according to Samuel Thibault it may just be that this feature isn't imple=
mented
> yet in hurd.
Samuel implemented the -a switch now and it works! Thank you!
I updated https://salsa.debian.org/helmutg/debvm/-/merge_requests/39 with a
fitting line for /etc/inittab and rebased on current main.
> I also do not yet know how to set up networking inside the QEMU guest. The
> /etc/network/interfaces which works on Linux does not seem to give me any
> network inside the Hurd QEMU guest. Can somebody show me a setup which is=
known
> to work on Hurd in QEMU?
The missing ingredient was the netdde package which is intentionally in the
unreleased suite and was thus not installed by mmdebstrap together with the
rest of the base system even though it is Essential:yes.
A simple /etc/network/interfaces would be:
auto /dev/eth0
iface /dev/eth0 inet dhcp
I also had to add DPKG_ROOT support to ifupdown:
* https://salsa.debian.org/debian/ifupdown/-/merge_requests/31
* https://salsa.debian.org/debian/ifupdown/-/merge_requests/32
And it turns out I forgot to submit my patch for orphan-sysvinit-scripts so
better late than never:
https://salsa.debian.org/matthew/orphan-sysvinit-scripts/-/merge_requests/3
> A nice-to-have in this context would be a fix for
> https://bugs.debian.org/1132024 which has a MR against init-system-helper=
but
> seems to be stalled there:
> https://salsa.debian.org/debian/init-system-helpers/-/merge_requests/33
Writing another email to address this bug is on my TODO list for this week.
> More important to make this work is DPKG_ROOT support for openssh-server.
> Because we cannot execute Hurd binaries on Linux, the DPKG_ROOT approach =
is the
> only way to populate a Hurd chroot on Linux. Since debvm uses ssh for
> connections with the QEMU guest, we need to add DPKG_ROOT support to open=
ssh
> which is this MR: https://salsa.debian.org/ssh-team/openssh/-/merge_reque=
sts/39
This has been merged and is now in unstable.
> Other construction sites which are required to make this work are:
>=20
> * src:pam https://salsa.debian.org/vorlon/pam/-/merge_requests/33
> https://bugs.debian.org/1137186
> * src:ucf https://salsa.debian.org/debian/ucf/-/merge_requests/5
> https://salsa.debian.org/debian/ucf/-/merge_requests/6
> * src:sudo https://salsa.debian.org/sudo-team/sudo/-/merge_requests/38 (=
merged but not uploaded yet)
> * src:debhelper https://salsa.debian.org/debian/debhelper/-/merge_reques=
ts/148 (merged but not uploaded yet)
> https://salsa.debian.org/debian/debhelper/-/merge_requests/149 (merged=
but not uploaded yet)
Of above list, the only remaining open issue is pam.
With a local repository carrying all the patched packages and in the hurd
branch of debvm I can now run this to create a bootable image:
mmdebstrap --unshare-helper bin/debvm-create \
-o ~/tmp/rootfs.ext4 --sshkey /tmp/id_rsa.pub --release=3Dunstable \
--initsystem=3Dsysv --architecture=3Dhurd-i386 -- --mode=3Dchrootless \
"deb http://ftp.ports.debian.org/debian-ports/ unstable main" \
"deb http://ftp.ports.debian.org/debian-ports/ unreleased main" \
"deb [trusted=3Dyes] http://127.0.0.1:8080 ./"
And then start it like this:
bin/debvm-run -i ~/tmp/rootfs.ext4 -s 2222
And this ends with:
DHCPREQUEST for 10.0.2.15 on /dev/eth0 to 255.255.255.255 port 67
DHCPACK of 10.0.2.15 from 10.0.2.2
bound to 10.0.2.15 -- renewal in 39639 seconds.
done.
Cleaning up temporary files....
INIT: Entering runlevel: 2
Using makefile-style concurrent boot in runlevel 2.
xkbcommon: ERROR: couldn't find a Compose file for locale "C" (mapped to "C=
")
unexpected ACK from keyboard
Starting OpenBSD Secure Shell server: sshd.
Debian GNU/Hurd forky/sid testvm console
The programs included with the Debian GNU/Hurd system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Hurd comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@testvm:~#=20
So slowly but surely things are improving. We are getting there! Thank you =
all
for your help!
cheers, josch
--===============5357625790824131048==
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Description: signature
Content-Type: application/pgp-signature; name="signature.asc"; charset="us-ascii"
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEElFhU6KL81LF4wVq58sulx4+9g+EFAmpBwuUACgkQ8sulx4+9
g+HYrw/+JdTjdo14FrU5oleGEzJOkDUu2rq9RruIpNHhhimGyNxC+DjNsptkTibO
o0x3Qh4+4nj/Y/TtALY6vioYgVvI2WfBjBRGOey3dkax9XSJEY5m1UPWJHdK88oH
BGRU9Pj/F28fR/Th120DFb8jEUyxCJCVKOUkM+tCd+7G0PU1/S0A3GAnwgDrqGa6
lOdYYMOfATNvzeHmgts8E0YgjLTZA0Dx8e6GJ1wmuERd6u2FYWOLz5VlDnCKcz2A
by9PcPOzQClHxYb479HvgQd40RTZlQJBlrTfeIzV2VJ9x3hzm/8dJi4y1lihroiy
yKW2c6AtVVw2FQ0f7ijsiwj7+zv8t9kdA1cHlxLZvzoCbO59m/jqwD+Nqb1Luilq
B3Jak64bObTyasYfLohwqFV6b1cRucn9GZ1a90rGep5/LKwtzaG81LLDJhXJ+MZQ
piGiH/FIP/wiTJacZ9n5AJebay7rnNmM5W8FIojJFCUDHQyzGDAP+lYAvShF+o30
GjYAnP7BRk53SKM4sF+smBXcwYrrzYdw6k4sZUHcClLUZbswIVDemxj7odLvZf15
H9GuAlss2shUKsXEDbDp4ycvKLE4JzSS+6U2d6+8220OJzKOe8vdDj24fxwYN9sf
J1IKMzPLOgn2T1J2HkRugFVQledRQCEi095l/50DDFX0L++N3r8=
=t+UD
-----END PGP SIGNATURE-----
--===============5357625790824131048==--