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

installation experiences (was: Testers wanted: New installation method)


I have recently installed hurd from Debian GNU/Linux using the described
method, and (on special request ;-) ) want to share my experiences here.

First I compiled an xattr-hurd enabled kernel:

   wget http://people.debian.org/~mbanck/xattr-hurd/kernel-patch-xattr-hurd_20040302-4_all.deb

(Note: The older -3 .deb is broken and the patch doesn't apply using the
Debian method; please get the recently updated -4 package.)

   dpkg -i kernel-patch-xattr-hurd_20040302-4_all.deb
   apt-get install kernel-source-2.6.7

(The patch works only with this kernel version.)

   cd /usr/src
   tar -xjf kernel-source-2.6.7.tar.bz2
   cd kernel-source-2.6.7
   make-kpkg debian --added-patches=xattr-hurd

Now make menuconfig as usual; don't forget to activate File Systems -->
Second extended fs support --> ext2 extended attributes --> Ext2
GNU/Hurd special attribute support. Having this, build and install the
kernel as usual:

   make-kpkg kernel_image
   dpkg -i ../kernel-image-2.6.7_10.00.Custom_i386.deb

Now reboot with this shiny new kernel, and I was almost done ;-)

   wget http://people.debian.org/~mbanck/xattr-hurd/gnu-latest.tar.bz2
   mke2fs -o hurd /dev/hda5
   mkdir /gnu
   mount /dev/hda5 /gnu
   cd /gnu
   star -xattr -x -j -f ~/gnu-latest.tar.bz2

Now many many warnings are generated ("operation not supported"); ignore
them -- it doesn't hurt.

If you are smarter then I, you should follow the advice and adjust
/gnu/etc/fstab and set up device nodes for your partitions now :-) But I
forgot that, and rebooted right away. I already had grub working and the
necessary menu.lst entry in place:

   title  GNU/Hurd
   root   (hd0,4)
   kernel /boot/gnumach.gz root=device:hd0s5 -H
   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)

I immediately got an error during boot: "/libexec/rc: Permission denied".

   chmod +x /libexec/rc

in the rescue shell fixed it; after ^D, the boot continues.

As I forgot adjusting fstab and devices, I had to do this in the rescue
shell again (after getting a message about failure in fsck on root

   ed /etc/fstab


   # <file system>	<mount point>	<type>	<options>		<dump>	<pass>
   /dev/hd0s5	/		ext2	rw			1	1
   /dev/hd0s1	none		swap	sw			0	0

(Yes, you *can* use nano, too :-) )

   cd /dev
   MAKEDEV hd0s1 hd0s5

and also

   settrans -go hd0s6

to remove the bogus translator created by the wrong original fstab.
(/dev/hda6 is an ext3 partition in my case, so the translator actually
started... Only the following fsck failed as the partition is too big
for Hurd.)

On next reboot, everything went fine, and I had an (almost) working Hurd
installation :-)

Almost, because there was another problem in my case: Hurd was absurdly
slow and unstable. After some fiddling, I realized that Mach was seeing
only 15 MiB of RAM. (Watch the boot messages, or use vmstat after boot.)
The problem was a wrong setting in the BIOS setup: "Memory Hole at 15M"
-- Mach thought there were only 15 MiB alltogether... Deactivating this
option fixed the problem, and now Hurd runs flawlessly :-)


Reply to: