[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
nForce2 finally booting Hurd! stroke of luck
From: |
B. Douglas Hilton |
Subject: |
nForce2 finally booting Hurd! stroke of luck |
Date: |
Tue, 22 Jun 2004 20:07:58 -0400 |
User-agent: |
Mozilla Thunderbird 0.6 (X11/20040605) |
It's been a long, long, time since I have had a working Hurd
installation. My old Tyan Thunder Pentium II system used an incompatible
SCSI card, and my new Asus A7N8X had simply defied all efforts of
booting any kind of gnumach until last night.
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!
- nForce2 finally booting Hurd! stroke of luck,
B. Douglas Hilton <=