Subject: Success! Booting to RAID root on RAQ2+
To: None <port-cobalt@netbsd.org>
From: None <list-netbsd-port-cobalt@rangat.org>
List: port-cobalt
Date: 05/06/2006 00:05:37
After (partially) losing a disk on my cobalt Qube2, I started working
in ernest on getting a setup working where I could use RAID for at
least most of the disk in my server.  I acquired a RaQ2+ and a couple
of identical drives, used my working Qube to install onto one of the
drives and installed them both into the RaQ2.  I followed the Guide on
setting up RAIDFrame
( http://www.netbsd.org/guide/en/chap-rf.html#chap-rf-intro ), and ran
into a few problems: 

First off, fdisk will core on cobalt if the disk has a bogus label to
start (I just used 'dd' to clone the disk in my other system to the
new drives).  That was solved by nuking 

Second, when setting up the raid config, I noticed that the layout
differed between the man page for raidctl and the Guide listed above.
The Guide has 128 for the Sectors/Stripe Unit, and the Man page has
32.  I went with 32, but ran into problems with the larger filesystems
which seemed to also have larger block and frag sizes.  Every time I'd
try to access one of those filesystems, the process would hang forever
in a kernel wait.  I solved that by going by the guide instead of the
man page.

Third, the cobalt bootloader doesn't support booting from a RAID
partition.  Luckily that is easy to fix, as a RAID partition (for
mirrors at least) just looks like a normal one, offset by some number
of block.  I poked around looking at the bootloaders for the other
platforms and figured out how to modify the cobalt bootloader to
handle that.

Here's the diff for sys/arch/cobalt/stand/boot/wd.c:
http://www.rangat.org/rthille/Computer/NetBSD/Misc/sys-arch-cobalt-stand-boot-wd.c.diff

And the output from the first boot:
http://www.rangat.org/rthille/Computer/NetBSD/Misc/FirstRAIDBoot.out


Not sure if anyone else would find this useful, but It'd be nice to
get the patch rolled into CVS.


Next up, I'm thinking I'd like to add the connector, resistors and
diode so that each drive can be on it's own IDE channel, as described
here:  http://www.linux-mips.org/wiki/Cobalt



Robert Thille




--
Robert Thille                7575 Meadowlark Dr.; Sebastopol, CA 95472
Home: 707.824.9753    Office/VOIP: 707.780.1560     Cell: 707.217.7544
Robert.Thille@rangat.org   YIM:rthille   http://www.rangat.org/rthille
Cyclist, Mountain Biker, Freediver, Kayaker, Rock Climber, Hiker, Geek
May your spirit dive deep the blue, where the fish are many and large!