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: