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

Reply via email to