--- mnt/./etc/hurd/rc	2012-07-14 05:43:53.000000000 +0200
+++ ../hurd-tests-old/test/./etc/hurd/rc	2013-06-22 21:35:29.251084721 +0200
@@ -5,142 +5,11 @@
 # Start the default pager.  It will bail if there is already one running.
 /hurd/mach-defpager
 
-# Set up swap space.  This will complain if no default pager is functioning.
-swapon -a
+# This is necessary to make stat / return the correct device ids.
+fsysopts / --update --readonly
 
-# Check filesystems.
-if [ -r /fastboot ]
-then
-	# ... or don't.
-	rm -f /fastboot
-	echo Fast boot ... skipping disk checks
-elif [ $1x = autobootx ]
-then
-	echo Automatic boot in progress...
-	date
+# Print a newline.
+echo
 
-	fsysopts / --update --readonly
-	/sbin/fsck -p -A
-
-	case $? in
-	# Successful completion
-	0)
-		fsysopts / --update --writable
-		;;
-	# Filesystem modified (but ok now)
-	1 | 2)
-		fsysopts / --update --writable
-		;;
-	# Fsck couldn't fix it.
-	4 | 8)
-		echo "Automatic boot failed... help!"
-		exit 1
-		;;
-	# Signal that really interrupted something
-	20 | 130 | 131)
-		echo "Boot interrupted"
-		exit 1
-		;;
-	# Special `let fsck finish' interruption (SIGQUIT)
-	12)
-		echo "Boot interrupted (filesystem checks complete)"
-		exit 1
-		;;
-	# Oh dear.
-	*)
-		echo "Unknown error during fsck (exit status $?)"
-		exit 1
-		;;
-	esac
-fi
-
-echo -n cleaning up left over files...
-rm -f /etc/nologin
-rm -f /var/lock/LCK.*
-if test -d /tmp; then
-
-  # Forcibly remove all translators in the directory.
-  # It is then safe to attempt to remove files and descend directories.
-  # All parameters must begin with "./".
-  function remove_translators() {
-    local f
-    for f; do
-      settrans -pagfS "$f"
-      if [ -L "$f" ] || [ ! -d "$f" ]; then
-	rm "$f"
-      else
-	remove_translators "$f"/* "$f"/.[!.] "$f"/.??*
-	rmdir "$f"
-      fi
-    done
-  }
-
-  (cd /tmp
-   shopt -s nullglob
-   for f in * .[!.] .??*; do
-     case "$f" in
-     'lost+found'|'quotas') ;;
-     *) remove_translators "./$f"
-     esac
-   done)
-
-  unset -f remove_translators  # because it relies on nullglob
-
-fi
-if test -d /var/run; then
-  (cd /var/run && {
-    find . ! -type d ! -name utmp ! -name innd.pid \
-      -exec rm -f -- {} \;
-    cp /dev/null utmp
-    if grep -q ^utmp: /etc/group
-    then
-	chmod 664 utmp
-	chgrp utmp utmp
-    fi; })
-fi
-
-# until we properly start /etc/rcS.d
-rm -fr /run/*
-mkdir -p /run/lock /run/shm
-chmod 1777 /run/lock /run/shm
-: > /run/utmp
-
-echo done
-
-# This file must exist for e2fsck to work. XXX
-touch /var/run/mtab
-
-#echo -n restoring pty permissions...
-#chmod 666 /dev/tty[pqrs]*
-#echo done
-
-#echo -n updating /etc/motd...
-#echo GNU\'s Not Unix Version `uname --release` > /tmp/newmotd
-#egrep -v 'GNU|Version' /etc/motd >> /tmp/newmotd
-#mv /tmp/newmotd /etc/motd
-#echo done
-
-chmod 664 /etc/motd
-
-(
-	trap ":" INT QUIT TSTP
-
-	if [ -d /etc/rc.boot ]
-	then
-		for i in /etc/rc.boot/S*
-		do
-			[ ! -f $i ] && continue
-			$i start
-		done
-	fi
-	if [ -d /etc/rc2.d ]
-	then
-		for i in /etc/rc2.d/S*
-		do
-			[ ! -f $i ] && continue
-			$i start
-		done
-	fi
-)
-
-date
+/etc/init.d/rcS
+exec /etc/init.d/rc 2
--- mnt/./etc/init.d/checkroot.sh	2012-05-25 00:39:27.000000000 +0200
+++ ../hurd-tests-old/test/./etc/init.d/checkroot.sh	2013-06-21 15:49:30.871366018 +0200
@@ -84,7 +84,12 @@
 	# If not we try to use the /dev/root alias device, and if that
 	# fails we create a temporary node in /run.
 	#
-	if [ "$rootcheck" = yes ]
+    # Hack: This does not work on Hurd.
+    #
+    # The concept of device ids simply does not apply to the Hurd
+    # system.
+    KERNEL="$(uname)"
+	if [ "$rootcheck" = yes ] && [ "$KERNEL" != GNU ]
 	then
 		ddev="$(mountpoint -qx $rootdev)"
 		rdev="$(mountpoint -d /)"
--- mnt/./etc/init.d/mountall.sh	2013-01-23 23:40:32.000000000 +0100
+++ ../hurd-tests-old/test/./etc/init.d/mountall.sh	2013-06-20 14:59:43.537982741 +0200
@@ -48,8 +48,11 @@
 	# /run/initctl is present.  Look for
 	# /usr/share/sysvinit/update-rc.d to verify that sysvinit (and
 	# not upstart) is installed).
+    #
+    # Hack: Don't do this on Hurd just yet, we're not using sysvinit there.
+    KERNEL="$(uname)"
 	INITCTL="/run/initctl"
-	if [ ! -p "$INITCTL" ] && [ -f "/usr/share/sysvinit/update-rc.d" ]; then
+	if [ ! -p "$INITCTL" ] && [ -f "/usr/share/sysvinit/update-rc.d" ] && [ "${KERNEL}" != GNU ]; then
 		# Create new control channel
 		rm -f "$INITCTL"
 		mknod -m 600 "$INITCTL" p
--- mnt/./runme	1970-01-01 01:00:00.000000000 +0100
+++ ../hurd-tests-old/test/./runme	2013-06-17 18:19:04.108002691 +0200
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+rmtrans() {
+    echo Removing passive translator from $1
+    settrans -pk "$1"
+}
+rmtrans /proc
--- mnt/./lib/init/mount-functions.sh	2013-01-23 00:47:04.000000000 +0100
+++ ../hurd-tests-old/test/./lib/init/mount-functions.sh	2013-06-21 15:51:35.523388881 +0200
@@ -176,7 +176,8 @@
 
 	if [ "$PRIFSTYPE" = proc ]; then
 		case "$KERNEL" in
-			Linux|GNU) FSTYPE=proc ;;
+			Linux)     FSTYPE=proc ;;
+			GNU)       FSTYPE=proc; CALLER_OPTS="-ocompatible" ;; # somewhat hacky: overrides CALLER_OPTS
 			*FreeBSD)  FSTYPE=linprocfs ;;
 			*)         FSTYPE=procfs ;;
 		esac
@@ -190,7 +191,6 @@
 	elif [ "$PRIFSTYPE" = tmpfs ]; then
 		# always accept tmpfs, to mount /run before /proc
 		case "$KERNEL" in
-			GNU)	FSTYPE=none ;; # for now
 			*)	FSTYPE=$PRIFSTYPE ;;
 		esac
 	elif grep -E -qs "$PRIFSTYPE\$" /proc/filesystems; then
@@ -542,6 +542,7 @@
 	NODEV="nodev,"
 	case "$KERNEL" in
 		*FreeBSD)  NODEV="" ;;
+		GNU)       NODEV="" ;;
 	esac
 
 	# Mount /run/lock as tmpfs if enabled.  This prevents user DoS
@@ -599,6 +600,7 @@
 	NODEV="nodev,"
 	case "$KERNEL" in
 		*FreeBSD)  NODEV="" ;;
+		GNU)       NODEV="" ;;
 	esac
 
 	if [ yes = "$RAMSHM" ]; then
@@ -680,6 +682,7 @@
 	NODEV="nodev,"
 	case "$KERNEL" in
 		*FreeBSD)  NODEV="" ;;
+		GNU)       NODEV="" ;;
 	esac
 
 	# Mount /tmp as tmpfs if enabled.
