Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Nov 2000 10:30:17 -0800 (PST)
From:      Jesse <j@lumiere.net>
To:        freebsd-questions@freebsd.org, freebsd-stable@freebsd.org
Cc:        X-Gote <xgote@gci.net>, Jesse <j@lumiere.net>
Subject:   HPT370 RAID installation successful
Message-ID:  <Pine.BSF.4.21.0011171014110.89435-100000@localhost>
In-Reply-To: <000a01c05049$44edbe40$f525ed18@evolution>

next in thread | previous in thread | raw e-mail | index | archive | help

(sent to freebsd-questions@s for archive searching purposes)

In order to get FreeBSD 4.2 installed on the HPT370 chipset RAID 1 array,
which uses BIOS RAID, I had to make a few changes. This chipset is present
on the Abit KT7-RAID motherboard, which is what I'm using.

I spent way too many hours trying all different methods and here is what
finally got me installed.

1. I had to patch my kernel to handle the 10 byte offset required for this
chipset. The patch is to /usr/src/sys/dev/ata/ata-raid.c

211c211,213
< 	buf1->bp.b_pblkno += rdp->offset;
---
> 	/* if hack for HPT 370 RAID booting */
> 	if (buf1->drive) {
> 	buf1->bp.b_pblkno += rdp->offset; }

2. I needed this modified kernel to install FreeBSD, so I had to change
the kernel on the install floppies (kern.flp). I built a kernel which had
all the options my system needed, PLUS the following so it could mount the
mfsroot.flp:

	options MFS
	options MD_ROOT
	pseudo-device md

I then dd'd kern.flp to a floppy, mounted the floppy to /mnt, erased
/mnt/kernel.gz and replaced it with my customized kernel.gz.

Make sure your patched kernel only has the devices your system
needs. Using the GENERIC kernel won't work, as it's too big to fit on a
floppy, even after being compressed.

3. Install. Make sure NOT to use dangerously dedicated partitions. You
must use the standard fdisk/compatible with other OSes partitioning
method.

4. Once your system is installed, it'll start loading but will fail to
mount the root partition. This is because the kernel installed on your
array is the GENERIC unpatched kernel. You need to get your custom kernel
on there. One easy way is to boot off the custom kern.flp we made in step
three.

During bootup when it prompts you to hit a key or wait 10 seconds, hit a
key. Type 'lsdev' and determine which disk entry is your array root
partition. For me, it was disk1s1a. Then type:

	set rootdev=disk1s1a:
	(if that doesn't work, try set bootdev, I'm 90% sure it's rootdev
	though)

5. Now that you're booted using the patched kernel but using your array
partitions, rm /kernel. Put the patched kern.flp in the floppy drive,
mount it, then copy kernel.gz to / and uncompress it.

From then on you should be able to boot without the floppy.

I suggest also compiling a patched copy of the GENERIC kernel and
installing it as /kernel.GENERIC, in case you ever change your hardware
 (but are still using the array) and need the GENERIC kernel to get
booted.


On Thu, 16 Nov 2000, X-Gote wrote:

> I am having a hard time as well.. ive been searching mailing list archives.  But I am running the most current BSD which I believe to be 5.0 beta.. whatever was in the current directory.  I have bsd installed on ad4.. and my second disk is ad6.  Have you had any luck with vinum?  Ive been pulling out my hair trying to figure out how to add objects with it.  If you have any luck, pass it on to me!
> 
> Thanks
> -Dave
> 

---
Jesse <j@lumiere.net>
"One has a moral responsibility to disobey unjust laws."
                  -- Dr. Martin Luther King Jr.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0011171014110.89435-100000>