Hello everyone, Now that runit works on the Hurd, I tried to use it as init system and it worked. The output of ps is attached.
If you want to try it you need to set the profs translator by adding mount -t proc none /proc -ocompatible towards the top of /etc/runit/1. To get a getty on the mach-console, I needed to set a run script and explicitly set the translator on /dev/console. It looks like this: #!/bin/sh settrans -a /dev/console /hurd/term --type=device console --name=console exec /sbin/getty 38400 console I have not yet tried to get the hurd-console working, but this will probably involve starting the console server (under runit supervision?), setting the translators for the different tty and running getty on them? Then replace init in /etc/hurd/runsystem.sysv with /sbin/runit-init (or write an equivalent /etc/hurd/runsystem.runit and point to it using the /etc/alternatives system). On the topic of init systems, many will know that GNU Shepher 1.0 has been released (https://www.gnu.org/software/shepherd/news/2024/12/the-shepherd-1.0.0-released/), and it is in Debian but not yet building on the hurd (https://buildd.debian.org/status/package.php?p=shepherd). Shepherd was initially designed as the init system for the Hurd. Any design features that make such association advantageous? Best regards, João
USER PID PPID PGRP SESS LCOLL STAT TT TIME COMMAND root 1 1 1 1 1 Sslo - 0:00.14 runit root 2 1 1 1 1 Sp - 0:00.03 /hurd/startup root=part:1:device:hd0 root 3 2 1 1 1 D<fmo ? 0:00.09 gnumach root=part:1:device:hd0 root 4 2 1 1 1 R<mo ? 0:00.22 /hurd/proc root 5 2 1 1 1 S<o - 0:00.04 pci-arbiter --host-priv-port=1 --device-master-port=2 --next-task=3 root 6 2 1 1 1 S<o - 0:00.24 acpi --next-task=1 root 7 8 1 1 1 S<o - 0:00.04 rumpdisk --next-task=1 root 8 2 1 1 1 S<o - 0:02.27 ext2fs --multiboot-command-line=root=part:1:device:hd0 --exec-server-task=1 -T typed part:1:device:hd0 root 9 8 1 1 1 S<o - 0:00.37 exec root 10 2 1 1 1 S<o - 0:00.00 /hurd/auth root 12 8 1 1 1 S<o - 0:00.08 /hurd/random --seed-file /var/lib/random-seed root 13 8 1 1 1 S<o - 0:04.68 /hurd/term /dev/console device console root 14 8 1 1 1 S<o - 0:00.73 /hurd/pflocal root 20 8 1 1 1 S<o - 0:00.01 /hurd/storeio hd0s1 root 21 8 1 1 1 S<o - 0:00.00 /hurd/storeio hd0s2 root 22 1 1 1 1 S<o - 0:00.15 /hurd/procfs --compatible none root 23 8 1 1 1 S<o - 0:00.00 /hurd/storeio --no-cache time - 28 8 1 1 1 So - 0:00.01 /hurd/null root 103 22 1 1 1 So - 0:00.01 /hurd/magic pid root 105 1 1 1 1 S<o - 0:00.03 /hurd/tmpfs --nosuid --size=10% --mode=755 tmpfs root 108 1 108 108 1 Ssfo - 0:00.09 /hurd/mach-defpager root 122 1 1 1 1 S<o - 0:00.00 /hurd/tmpfs --noexec --nosuid --size=5242880 --mode=1777 tmpfs root 143 8 1 1 1 S<o - 0:00.00 /hurd/proxy-defpager root 180 8 1 1 1 So - 0:00.01 /hurd/magic --directory fd - 215 22 1 1 1 So - 0:00.00 /hurd/mtab / root 579 1 579 579 1 Sso - 0:00.00 runsvdir -P /etc/service log: .........................................................................................................................................................................................................................................................................................................settrans: /dev/console: Device or resource busy^Kcheck: 3: socklog-check: not found^KResource lost^K. root 621 8 1 1 1 S<o - 0:00.00 /hurd/streamio kmsg root 630 579 630 630 1 Sso - 0:00.00 runsv default-syslog root 631 579 631 631 1 Sso - 0:00.01 runsv rsyslog root 632 579 632 632 1 Sso - 0:00.00 runsv cron root 633 579 633 633 1 Sso - 0:00.01 runsv getty-console root 634 8 1 1 1 S<o - 0:00.00 /hurd/fifo root 635 8 1 1 1 S<o - 0:00.00 /hurd/fifo root 636 8 1 1 1 S<o - 0:00.00 /hurd/fifo root 637 8 1 1 1 S<o - 0:00.01 /hurd/fifo root 638 8 1 1 1 S<o - 0:00.01 /hurd/fifo root 639 8 1 1 1 S<o - 0:00.00 /hurd/fifo root 640 8 1 1 1 S<o - 0:00.00 /hurd/fifo root 641 8 1 1 1 S<o - 0:00.00 /hurd/fifo root 642 630 630 630 1 So - 0:00.01 sleep 6000 root 643 632 632 632 1 So - 0:00.02 cron -f root 644 631 631 631 1 So - 0:00.01 /usr/sbin/rsyslogd -n -iNONE root 645 633 645 645 645 Sslow co 0:00.06 -bash root 649 1 633 633 1 S<o - 0:00.01 /hurd/term --type=device --name=console console root 679 8 1 1 1 S<o - 0:00.01 /hurd/pfinet -6 /servers/socket/26 root 680 8 1 1 1 S<o - 0:00.14 /hurd/password root 681 8 1 1 1 So - 0:00.00 /hurd/magic tty root 731 645 731 645 645 S co 0:00.01 ps -ejw