SUCCESS! Installed dual book Win2k / RH 7.1 on SMP ABIT-VP6 with HPT370 in RAID-0
After countless hours of trial-and-error, I've finally managed to set up my machine to dual boot and take advatage of the SMP and RAID features of the Abit VP6 motherboard. Judging by the many posts on this and other forums, many other people have also had problems installing on this motherboard. If it weren't for the help of the Linux community, I never would have figured this out, so I hope I can return the favor by helping out some other linux newbies:
Abit VP6 motherboard
Dual PIII 1-Ghz processors
On-board HPT370 IDE RAID
2 Seagate Cheetah 40mb HD, RAID-0
The short of it:
Set up the motherboard.
Install Windows 2000.
Flash the latest VP6 and HPT bios.
Download Linux driver from Highpoint.
Install Linux using the custom driver.
Build kernel 2.4.17 w/ HPT370 RAID support and ntfs support.
Set up /dev/ataraid entries
Tweak lilo.conf and fstab
Install lilo 22.1
Setup boot.ini in Win2k.
The long of it:
Set up the mother board: If you have 2 (and only 2) disks like me, its best to put them on separate channels. Jumper them to both be masters and put them on the HPT370 (you may need to buy another cable). Next, set your bios boot sequence to floppy; cdrom; ataraid. Then enter the HPT370 bios, and stripe the two disks together as RAID-0, with block size = 64kb (for speed). Finally, set the first disk in the array as the boot disk.
Install Windows 2000: I installed using the usual four boot disks. Just make sure you press F6 at the beginning when prompted for SCSI driver disks, then insert the HotRod driver disk that came with your Abit. When partitioning for Win2k, you should see one drive with 2x the size of your smallest drive in the array. I allocated about 75% of the array to Win2k, since it is my primary OS.
Flash The Latest Bios: To run the Highpoint drivers, you'll need to have the newer Highpoint bios. But, since the HPT370 is on-board with the mobo, it has to be flashed WITH the mobo bios. Of course, the latest bios from Abit does not contain the new HPT370 bios :-< The solution is to get this pirated bios from http://www.abitvp6.com. Go to 'Downloads' and look for the "hacked" bios with newer HPT v1.2.x bios. Follow their instructions for installation.
Download Highpoint Drivers: Using your (hopefully still) working Windows installation, download the Linux drivers from http://www.highpoint-tech.com. Following their instructions, you will create 2 disks: one with an installer image disk that contains a kernel that can handle the HPT RAID, and one driver disk that also contains a kernel, some device drivers, and an installer script.
Install Redhat 7.1: Boot the machine to the installer image and enter "expert text" at the first prompt. Then insert the other driver disk when prompted and proceed with installation. Use fdisk to partition your drives. Your RAID will live on /dev/sda. Windows will be on the first partition at sda1. I chose to create 3 additional logical partitions: / at /dev/sda2; /home at /dev/sda3; swap at /dev/sda3. In hindsight, it probably would have bee a good idea to put /usr in a separate partition, but then I'd have to create a primary and extended partition , since you can only have 4 logical partitions per volume. In any case, I allocated 512 mb to swap and split the rest 25%/75% between / and /home, respectively. Do NOT install lilo to the MBR. Instead, install it to the root partition (/dev/sda2 in my case). If you do overwrite the MBR, Win2k will not boot unless you do a rescue (which really sucks). DO create a bootdisk for Linux (but don't overwrite your HPT driver disk)! Per the Highpoint instructions, run the postinstall script before completing the RH installation. Finally, go back to Windows and copy the vmlinuz kernel from the Highpoint driver disk over the one on your Linux bootdisk. This is because you'll need to boot from disk (for now) and the bootdisk creation you previously ran did not contain the kernel needed to access the HPT370. Reboot from your new bootdisk. At this point you should have stable system that can read your RAID, but is only running one processor. This was a huge improvement over my previous arrangement (e.g. nothing) but I bought a dual CPU system and damit, I want to use both CPUs. Read on.
Download kernel 2.4.17: Get the source for kernel 2.4.17 from http://www.kernel.org and drop it in /usr/src/linux-2.4.17. Supposedly, kernels as early as 2.4.10 supported the HPT370 RAID, but I went with the latest. For instructions on kernel building see http://www.redhat.com/docs/manuals/l...e/kernel.html.
I used the kernel-2.4.2-2-i686-smp.config as my basis for configuration and then added IDE RAID and HPT 370 support (under the ATA/IDE stuff). Make sure you have experimental code maturity enabled or the IDE RAID option will be disabled. I also added support for ntfs so I could read the windows partition. Build as directed. Also run mkinitrd, especially if you built your IDE RAID support as a module.
Setup /dev/ataraid: Unlike the Highpoint drivers, this new kernel will treat your RAID as a special ataraid device, not a SCSI device. There is all kinds of debate as to which is better, and whether its hardware or software, and so on. But I really didn't care. All I wanted was an SMP machine that will read the RAID with reasonable performance. But, I digress. To set up the device entries use the handy MAKEDEV script that comes from http://people.redhat.com/arjanv/pdcr...aidhowto.html.
This benign script makes several entries under /dev/ataraid and was written by the fine fellow who authored the actual HPT370 module.
At this point, its probably a good idea to try out your kernel. run mkbootdisk 2.4.17 to create a bootdisk with your new kernel. Reboot from this new disk. If you get a kernel panic, don't panic. Reboot again but pass "linux root=7202" at the boot prompt. This tells the kernel where things are. I'm not exactly sure what the numbers mean, but you should change the last digit to match the number of the partition where the root directory lives. In my case / = /dev/ataraid/d0p2, hence 7202. Don't forget the zero! You may get a few errors about missing filesystems, but if you get through the boot sequence, give yourself a major pat on the back (or a cold beer).
Install Lilo 22.1: As luck would have it, the lilo that ships with RH 7.1 does not support booting from an ataraid device. So go get lilo 22.1 from http://brun.dyndns.org/pub/linux/lilo/ and install as directed.
Edit fstab: In /etc/fstab, you'll need to move the swap space from /dev/sda to its new home on /dev/ataraid. This will correct those missing filesystem errors we got earlier. So if swap was on sda4 then it would now be at ataraid/d0p4 (that's disk 0, partition 4) Move any other filesystem you put on sda in the same manner. While your at it, why not add the windows partition. Here is my entry: /dev/ataraid/d0p1 /mnt/win ntfs umask=022,noexec,ro 0 0.
Edit lilo.conf: Point /etc/lilo.conf to your new kernel on the new /dev/ataraid like so:
Now just run lilo and viola!
Set Up The Dual Boot: I'm sure your tired of booting from a floppy by now, so here is your relief. Drop a FAT formatted floppy disk in the drive an mount it. Then copy the boot sector created by lilo into a file on the disk like this:
dd if=/dev/ataraid/d0p2 bs=512 count=1 of=/mnt/floppy/linux.bin.
You may need to adjust the 'if' parameter to whichever partition has the /, which should also be the same as the 'boot' parameter in lilo.conf. Now, take the floppy and go back to Windows (by taking the Linux bootdisk out too) and copy a:/linux.bin to c:/. Finally add this line to c:/boot.ini:
c:/linux.bin=Redhat Linux 7.1
boot.ini is one of those fragile system files that Windows desperately tries to hide from idiot users so you may have to fool with your settings to find it.
Reboot and enjoy! You should now have a RAID and SMP system.
I've read of other solutions by first installing to an additional non-RAID drive, building the kernel, and then moving the installation back to the RAID drive, but it seems even more clugy than my method and it takes an extra HD.
Just the same, I hope this helps some of you, and hope I can answer any questions that arise.
|All times are GMT -5. The time now is 08:41 AM.|