Installation problems with GRUB
Hello:
I'm trying to install Hurd, and I'm getting problems from GRUB
when I try to boot for the first time. Perhaps someone can help
me out.
Here's my scenario. I've got a PC with two IDE hard drives.
The first is a 13 GB drive, from which I run both Windows 98 and
Debian GNU/Linux, the 2.1 slink release. The second drive is a
1.6 GB drive, onto which I'm trying to install Hurd. Previously,
I had one big DOS partition on the second drive, and it worked
fine.
I've partitioned the second drive from Linux using cfdisk, and
created two partitions. The first partition is where I intend
to put Hurd, it's 500 MB (as I understand there's problems
with partitions bigger than this), is type 83 (Linux native), and
is marked bootable. The second partition will be my swap
partition, it's 200 MB, and is type 82 (Linux swap). The
remainder of the disk remains unpartitioned.
Details of the partitioning of my drives follows. This is the
output of Linux's "fdisk -l" command.
--
Disk /dev/hda: 255 heads, 63 sectors, 1584 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 256 2056288+ 6 DOS 16-bit >=32M
/dev/hda2 257 1584 10667160 f Win95 Extended (LBA)
/dev/hda5 257 1327 8602776 b Win95 FAT32
/dev/hda6 1328 1340 104391 b Win95 FAT32
/dev/hda7 1341 1559 1759086 83 Linux native
/dev/hda8 1560 1584 200781 82 Linux swap
Disk /dev/hdb: 64 heads, 63 sectors, 786 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 * 1 254 512032+ 83 Linux native
/dev/hdb2 255 356 205632 82 Linux swap
Disk /dev/hdc: 1 heads, 874324 sectors, 1 cylinders
Units = cylinders of 874324 * 512 bytes
Disk /dev/hdc doesn't contain a valid partition table
--
After having partitioned my disk, I created a Hurd-owned ext2
filesystem on the first partition, using the command:
mke2fs -o hurd /dev/hdb1
Then, I ran the famous "cross-install" script (from
alpha.gnu.org/pub/gnu/hurd/contrib/marcus/cross-install,
dated May 19, 1999) to install Hurd:
mkdir /gnu
mount /dev/hdb1 /gnu
./cross-install /gnu
As I understand it, cross-install requires dpkg-hurd, which
I obtained from the same location, and was dated May 4, 1999.
Everything ran fine, and "ls" and "df" on the /gnu filesystem
indicated that there were lots of files and directories on the
drive.
Then, I created a GRUB boot floppy. I obtained the image from
ftp.gnu.org/pub/gnu/gnu-0.2/grub-boot.image, which is dated
June 16, 1997, and wrote it to a floppy:
dd if=grub-boot.image of=/dev/fd0 bs=512
OK, so now I was set. I rebooted with the GRUB floppy in the
drive, and GRUB booted fine. I pressed "c" to get to the command
prompt, and my troubles began. First, I tried the command
root=(hd1,0)
which should be the first partition on my second hard drive
(Linux's /dev/hdb1). GRUB reported the error:
Filesystem type unknown, partition type 0x55
Doh! Suspecting I had misunderstood the GRUB partition-naming
scheme, I tried the commands:
root=(hd1,1)
which gave me an error, which I now realize I didn't write down,
but it was something about the disk not existing.
root=(hd0,0)
which should have specified my first drive's DOS partition,
and it gave the same error as my original attempt:
Filesystem type unknown, partition type 0x55
root=(hd0,1)
also reported:
Filesystem type unknown, partition type 0x55
Anything else I tried gave the same error as the "root=(hd1,1)"
attempt.
Next, I tried obtaining a newer version of GRUB. From
ftp.uruk.org/public/grub, I obtained grub-0.5.tar.gz,
dated August 20, 1998. I created a GRUB boot floppy according to
the instructions included with that archive:
dd if=bin/stage1 of=/dev/fd0 bs=512 count=1
dd if=bin/stage2 of=/dev/fd0 bs=512 seek=1
Unfortunately, using this GRUB boot floppy gave me the same
result.
Can anyone point out the error of my ways?
Thanks!
Shane McDonald
Reply to: