I had been fooling around with Bochs and the gnupre0_2 disk image on their site. Encouraged by fact that it was working, I was trying to make my own disk image from scratch using dd, fdisk, loop0, GRUB shell, and Debian crosshurd.
It wasn't easy, but I eventually learned how to make arbitrarily partitioned bootable images. At this point I ran into some really show-stopping bugs from Debian's crosshurd package.
First off, it doesn't install /etc/passwd or /etc/group causing some unnerving error messages. I reformatted / reinstalled the base, copied the files from /usr/share/base-passwd into hurd's /etc and tried again.
This time it got further, but then dpkg died trying to install base-passwd and left some weird dead translator in /var/lib/dpkg/tmp.cf which could not be deleted by any ordinary means and foiled subsequent installs. I somehow used the force to intuit to run #settrans -fg /var/lib/dpkg/tmp.cf and then I could delete it and proceed.
And then it hit the big nasty bug in tzconfig. No timezones were installed yet so I was given an empty list to pick from with no way to quit or cancel. Naturally this necessated a power-off which left the drive in an uncleanly unmounted state and prevented further booting into hurd until i fscked the partition from linux.
Finally I copied my /etc/timezone from linux into hurd's /etc and rebooted. That seemed to be the trick to fool tzconfig into completing its installation and I was finally able to get native-install completed.
A lot of hassle for sure. These are nasty horrible bugs which cause major problems. I see that crosshurd already has a big bug list against it so I doubt its been tested in a long time.
But all this screwing around did pay off in spades. While surfing the net for clues to my problems, I stumbled across the incantation which allowed the Hurd to boot natively on my nForce2 board.
# GRUB Entry for the Hurd
title Debian GNU (gnumach 1.3)
uppermem 523648
root (hd0,7)
kernel /boot/kernel.gz root=device:hd0s8
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)Notice the _uppermem 523648_ statement there? I have 1G of ram in this system and it was rebooting spontaneously with no output whatsoever as soon as I tried to boot. By adding this statement it all works perfectly now.
I thought it was the nForce2 IDE chipset causing the problems, but in fact I have too much RAM installed. I have two 512Mb sticks of PC2700 in my machine. the "uppermem 523648" command for some reason was the magic trick to make it all work again.
After 3 years I am back in the Hurd! Yaay!
_______________________________________________ Help-hurd mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/help-hurd
