Easy install with CrossHurd
Qurious about the Hurd? Have a 1-5 GiB partition free? Let's install GNU/Hurd on it!
Preparing the partition
We'll assume you have a partition ready, for the sake of argument we use an example here: /dev/hda3 is the Hurd partition (type: Linux) and /dev/hda4 is the Linux swap that we'll reuse.
First we create the Ext2 filesystem, notice the hurd
option.
# mke2fs -o hurd /dev/DEVICE
Next we create a useful mountpoint and mount the partition.
# mkdir /gnu
# mount /dev/hda3 /gnu
Retrieving CrossHurd
Unless you don't run Debian GNU/Linux download it from http://packages.debian.org/crosshurd, or simply apt the package from Testing or Unstable. Avoid using the version from Stable since it probably is outdated. In case of problems, make sure to try the Unstable version before reporting the issue.
# apt install crosshurd
Cross installing
The crosshurd package only operates in the given target directory, which is the first question asked when running the program.
# cd /gnu
# crosshurd
Answer the questions you get: $ What is the target directory?: /gnu
$ Target Debian system?: gnu $ Target CPU?: i386
Now the program starts retrieving all the necessary base packages.
Preparing to reboot
When all packages have been extracted we must prepare GRUB for the Hurd when we reboot. Add the below entry to your /boot/grub/menu.lst
file to boot the Hurd in single user mode (-s). Single user mode is needed only for the two reboots when running the Native Install.
title GNU (kernel GNUmach 1.5)
root (hd0,2)
kernel /boot/gnumach-1.5-486.gz root=device:hd0s3 -s
module /hurd/ext2fs.static \
--multiboot-command-line=${kernel-command-line} \
--host-priv-port=${host-port} \
--device-master-port=${device-port} \
--exec-server-task=${exec-task} \
-T typed ${root} $(task-create) $(task-resume)
module /lib/ld.so.1 /hurd/exec $(exec-task=task-create)
Nota Bene: In your menu file there should be no extra white space after the back slashes.
Native install
Ah, reboot and select "GNU (kernel GNUmach 1.3)" from the Grub menu. At the prompt, setup TERM and run the native-install script.
# export TERM=mach
# ./native-install
When done the native install requests that you reboot once again and rerun native-install.
# reboot
...
# export TERM=mach
# ./native-install
Done, continue setting up your system.
Jeff Bailey has set up a system where you can install a Hurd system without having to use CDs. It's another type of cross-installation method which uses Debian package management tools to get the packages required as opposed to the one single big tarball.
As of 2005-03-22, the latest version of crosshurd is 1.7.11. It can be found at http://packages.debian.org/crosshurd.
-- ?PeterMelville - 12 Jun 2004