This is practically a brain dump of my efforts to make Debian/Hurd boot with the same initialization scripts Debian/Linux uses.
(cosmetic): the pager complains loudly about swapon requests for already active partitions:
Activating lvm and md swap...(default pager): Already paging to partition hd0s5! done.
Make sysvinit pid 1: http://lists.gnu.org/archive/html/bug-hurd/2013-08/msg00025.html
glibc fixes: http://lists.gnu.org/archive/html/bug-hurd/2013-08/msg00046.html http://sourceware.org/ml/libc-alpha/2013-08/msg00205.html
First round of patches for the sysvinit package http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721917
No /proc/stat.
libc: _PATH_MOUNTED is wrong or at least different.
Linux:
% /bin/echo -e '#include <paths.h>\n_PATH_MOUNTED' | gcc -E -x c - | grep -v '#' "/etc/mtab"
Hurd:
% /bin/echo -e '#include <paths.h>\n_PATH_MOUNTED' | gcc -E -x c - | grep -v '#' "/var/run/mtab"
http://lists.gnu.org/archive/html/bug-hurd/2013-08/msg00047.html
Hurds reboot/halt lacks some command line flags:
/hurd/tmpfs does not properly implement fsys_set_options. This is trivial:
mount: cannot remount /run: Invalid argument mount: cannot remount /run/lock: Invalid argument mount: cannot remount /run/shm: Invalid argument
Same with /hurd/procfs:
mount: cannot remount /proc: Invalid argument
Hurds mount lacks some command line flags:
-n, --no-mtab
-f, --fake
-oremount does not work with just one argument (e.g. mount -oremount,... /foo)
mount is confused
I believe I figured this one out, file_name_lookup_carefully does not work correctly if it encounters an acticve translator on a node that has no passive translator. Patch is prepared.
irc log:
12:27 < pinotree> for example, if you notice the sysvinit-booted system there's only a tmpfs for /run, and not own ones for /run/shm and /run/lock 12:28 < pinotree> the logic in our mount mistakes as result of /run/lock what really is the result of /run itself
Patch merged upstream.
Patches submitted: http://lists.gnu.org/archive/html/bug-hurd/2013-06/msg00135.html
Hurds swapon/swapoff lacks some command line flags:
Hurds mount lacks some command line flags:
Hurds mount -t auto does not work.
The hurd package does not provide an umount helper, needed for d-i.
Patch series for all the issues above posted: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00031.html
Patches merged at the appropriate locations.
Hurds swapon/swapoff lacks some command line flags:
procfs should ignore --no{dev,exec,suid}: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00076.html
Cleanups for mig: http://lists.gnu.org/archive/html/bug-hurd/2013-08/msg00055.html
libnetfs does not respond properly to file_get_translator requests on nodes with a passive translator record: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00148.html
There was no clean way to start the console-client. I added daemonizing support to the console-client and created an appropriate initscript: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00165.html
Updated patch series: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00246.html