[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

successfully booting a cross-debootstrapped Debian GNU/Hurd



Hi,

Debootstrap will fail in the end because util-linux is too outdated, but
just FYI, this is how you get it to boot successfully at least:

$ wget http://people.debian.org/~mbanck/hurd-misc/unstable-hurd
# debootstrap --foreign --exclude=bsdmainutils --arch hurd-i386 sid <mount-point> http://ftp.de.debian.org/debian unstable-hurd

(or use your favourite mirror instead of http://ftp.de.debian.org )

This is the diff of unstable-hurd compared to the official sid script
shipped with debootstrap:

--- /usr/lib/debootstrap/scripts/sid    2007-10-21 11:55:01.000000000
+0200
+++ unstable-hurd       2007-11-15 15:27:41.000000000 +0100
@@ -56,12 +56,6 @@
         cp "$TARGET/usr/bin/md5sum.textutils" "$TARGET/usr/bin/md5sum"
     fi
 
-    if doing_variant fakechroot; then 
-        setup_devices_fakechroot
-    else
-        setup_devices
-    fi
-
     x_feign_install () {
         local pkg="$1"
         local deb="$(debfor $pkg)"
@@ -82,9 +76,19 @@
     }
 
     x_feign_install dpkg
+    install -d -m 755 -o root -g root "$TARGET/servers/socket"
+    touch "$TARGET/servers/exec"
+    cp "$TARGET/libexec/runsystem.gnu" "$TARGET/libexec/runsystem"
+
 }
 
 second_stage_install () {
+    if doing_variant fakechroot; then 
+        setup_devices_fakechroot
+    else
+        setup_devices
+    fi
+
     x_core_install () {
        smallyes '' | in_target dpkg --force-depends --install $(debfor
"$@")
     }

We need to delay the setting up of devices until after the reboot.  This
would not be necessary if the Linux kernel could write passive
translators I guess, but Roland's patch for doing so is still not in the
mainline kernel I think.

Also, empty /servers/exec and /servers/socket as well as (I think)
/libexec/runsystem are required to successfully boot.

After bootup (you need to get grub booted somehow, e.g. grub-disk
contains an .iso image) run 

# settrans -c /servers/socket/1 /hurd/pflocal
# /debootstrap/debootstrap --second-stage

I am working on making the commands other than the two debootstrap calls
unnecessary.


Michael



Reply to: