Maxwellb
asked on
Linux Hardware RAID Driver from VIA
Hello,
I have been attempting to set up this webserver for a while now, but the instructions for the built in hardware RAID driver for linux is confusing to me because I have not worked with linux much. The RAID chip is a VIA VT8237R SATA. I am tryinh to install CentOS 4 on the array but it only mentions support for RedHat, Mandrake, SUSE, and a few others; but I am assuming since CentOS is built on RedHat that this will work...?
Here are the instructions pasted from the ReadMe.txt file:
-------------------------- ---------- ---------- ---------- ---------- ---------- ---
Copyright (c) 2002-2003 VIA Technologies Inc.
VIA RAID Linux Driver Software Package ReadMe.txt
This readme file is to provide the information of VIA RAID Linux Driver
Package. VIA Technologies assumes no responsibility for any errors in
this document and no part of this document may be reproduced, transmitted,
or translated into any language,or in any form without the prior written
permission of VIA Technologies Incorporated.
Package Version 1.00 / ReadMe Version 1.00
-------------------------- ---------- ---------- ---------- ---------- ---------- ---
This RAID driver can now support 3 kind of VIA RAID Controllers, include
VT6410,VT6420/8237, VT6421. It supports RAID type 0, 1, span, 0+1(needs 4 hard disk).
VIA VT6410 is a ATA RAID controller, supports up to four ATA hard disks.
VIA VT6420/8237 is a SATA RAID controller.
VIA VT6421 supports two SATA and two ATA hard disks.
This "VIA RAID Linux Driver Package" is provided for drivers installations,
which are needed when using the above VIA RAID Controllers.
CONTENTS
========================== ========== ========
1) System Requirements
2) Software Package Contents
3) Driver Installation
4) Install Operating System RedHat linux
5) Notes
========================== ========== ========
1) System Requirements
You should have at least one VIA RAID controller.
System BIOS must integrates VIA RAID BIOS if you want to install OS
on RAID Controller.
Supports up to four hard disk drives, which all support LBA address.
Supports the following Operating Systems:
Linux
2) Software Package Contents
The decompressed software package includes the following files:
/Driver
viapubraid.c viamraid open source file
viapubraid.h
viaprvdef.h
viaprvmraid.o viamraid library file
viaprvraidm64.o lib file for SuSE 64 bit
Makefile Makefile
dd.sh script to make RedHat driver disk
patch.pl patch script for Mandrake 9.2 driver disk.
PACKAGES.PY for RedHat 7.2 update disk only
driverdisk.txt A document about how do I install Linux onto the RAID
ReadMe.txt This file, provides information on this Linux Driver Package
3) Driver Installation
=========================
== Driver Installation ==
=========================
*Pre-Install
The package include source code files, so we need to compile a driver
according to your kernel version.
Before begin to compile, make sure that
1. You have installed the kernel source package
2. Kernel source default directory is /usr/src/linux, please check it.
If your default kernel source directory is not /usr/src/linux,
create a link:
# ln -s linux2.4 linux
3. Assume you have unzip this package to a diretory /tmp/viamraid
*Compile/Install
1. compile the file, viamraid.o is the driver we need
# cd /tmp/viamraid/driver
# make
2. Install the driver
# make install
3. To use the driver, type:
#modprobe viamraid
If there are no other SCSI cards on the system, /dev/sda, sdb ... are
our devices.
4. To unuse the driver, type:
#rmmod viamraid
4) Operating System RedHat
To install RedHat Linux onto the RAID controller, we must have a driver
disk.
1. Prepare a driver disk:
The dd.sh is a shell script that help users to make driver disk easier
# cd /tmp/viamraid/driver
# chmod +x dd.sh
# ./dd.sh
Now dd.sh will create a driverdisk image file: driverdisk/viamraid.img
Insert a blank floppy disk and type
# dd if=driverdisk/viamraid.img of=/dev/fd0
Driverdisk is OK now.
2. Install OS:
Boot from redhat install CD, when it prompt "boot:", type:
linux dd
Or
Install linux expert
* Patch for RedHat 7.2
Because RedHat 7.2 need a update disk instead of driverdisk to install
we need to type "linux dd updates" instead of "linux dd"
5) Notes (TroubleShootings)
1). After I compile the driver successfully, and run "make install",
or try to install driver by "modprobe viamraid",module loading fails
and show message like this: "your kernel is 2.4.19, but the module
is compiled for 2.4.19-athlon", why?
Perhaps your CPU is Pentium 4, but you kernel source configured
CPU type as athlon, do the following
#cd /usr/src/linux
#make menuconfig ;here change the "processor type" to be the same
as your system, then recompile the driver.
2). For SuSE64bit linux, please make sure that your CPU type is 64bit.
So, its better to
#make nenuconfig
to change the CPU type to X86_64bit before compile the driver.
There is also another file, called driverdisk.txt that contains additional information:
This is the document describes how I install linux onto our RAID controller.
If you have any suggestion/questions, contact me with dolpherdu@viatech.com.cn
Here is what you should know before we can begin.
a). Kernel for installation(boot from CDROM) is not the same as the normal
kernel, so we need to compile drivers for both kernel version. For example,
for redhat9.0, the kernel from CDROM boot is 2.4.20-8BOOT, but after
installation, boot from hard disk, the kernel version is 2.4.20-8. We will
use XXXX to refer to the kernel version number.
b). Before installation, we must load the driver for BOOT kernel, to recognize
our hard disk. The method is not standard for different linux vendors.
c). After installation, we need to boot from hard disk. Because kernel is
installed on our RAID hard disk, we must load driver module before kernel
init. This is done by a image file "initrd", the initrd is a filesystem image
which should contain the driver information.
We can see this initrd file under /boot/ directory, and boot loader(both
grub and lilo) have an option "initrd = ourinitrdfile".
After installation, we should add our driver module to this initrd file,
unfortunately, the method is not standard too.
That's all. We'll discuss the details for each specific linux.
1). RedHat 9.0
There is a standard way to create RedHat driver disk, I've put it
into a script, dd.sh, which has been mentioned in the readme.txt.
a). run ./dd.sh, you will get a image file named viamraid.img
b). Insert a blank floppy, and run
#dd if=driverdisk/viamraid.img of=/dev/fd0
the driver disk is ready.
c). Install RedHat9.0, boot from RH9.0 cd, when it prompt: "boot:",
type "linux expert", then following the install instructions.
2). Mandrake 9.1
1. modify dd.sh, search "BOOTPARA",and change it.
BOOTPARA="-e BOOT=1" --> BOOTPARA="-e NOMODVER=1"
2. ./dd.sh -->get 2 file, here XXX is version number, DO remeber to
replace it with the real version number, for mdk9.1, XXX is
2.4.21-0.13mdk
driverdisk/viamraid.o.XXXB OOT
driverdisk/viamraid.o.XXX
3. copy the normal driver to system module path
note: If there is no directory named misc, create it yourself.
#cp viamraid.o.XXX /lib/modules/XXX/misc/viam raid.o
4. make a initrd image file, which include our driver.
#mkinitrd initrdraid.img --preload scsi_mod --preload sd_mod --preload viamraid XXX
5. insert a floppy, ext2 format,and
mount /dev/fd0 /mnt/floppy
cp driverdisk/viamraid.o.XXXB OOT /mnt/floppy/viamraid_BOOT. o
cp initrdraid.img /mnt/floppy/
umount /dev/fd0
Then, driver disk OK
Install
1. when boot from install CD, press F1, and input
linux expert
2. when prompted for a "third part driver", insert the floppy,
press OK, and choose viamraid_BOOT.o to install.
3. install normally untill the last step, prompted for reboot, do NOT
reboot now, press CTRL-ALT-F2 to the second terminal
and insert the floppy disk then, replace the default initrd.img file
with the one we prepared.(here, assume your root
filesystem has been mounted on /mnt)
mount /dev/fd0 /mnt/mnt
cp /mnt/mnt/initrdraid.img /mnt/boot/initrd.img
5. press CTRL-ALT-F7 back to install screen, and press reboot.
3). SuSE 8.2
1. compile a driver for i386 CPU type, this is for BOOT kernel.
#cd /usr/src/linux
#make menuconfig ;change the CPU type here to i386
#make dep
back to our source code directory, make a driver
#make
copy viamraid.o to a floppy disk.(VFAT)
#mount /dev/fd0 /mnt/floppy
#cp viamraid.o /mnt/floppy/viamraid_BOOT. o
2. compile a driver for your current CPU
#cd /usr/src/linux
#make menuconfig ;change the CPU type according to your CPU.
#make dep
back to our source code directory, make a driver
#make
copy viamraid.o to a floppy disk.(VFAT)
#cp viamraid.o /mnt/floppy/viamraid.o
3. boot from cdrom, when prompt to select language, press
CTRL-ALT-F2, insert the floppy, run
#mkdir aa
#mount /dev/fd0 /aa
#insmod /aa/viamraid_BOOT.o
press CTRL-ALT-F7 to continue
4. after reboot, when prompt to select language, do (3) again
when prompt where to boot from, select "Boot installed system".
5. when asked to enter password for root, press CTRL-ALT-F2,
#mount /dev/fd0 /media/floppy
#cp /media/floppy/viamraid.o /lib/modules/`uname -r`/misc/
#vi /etc/sysconfig/kernel ;change varialbe INITRD_MODULES to
;include viamraid like this: INITRD_MODULES="viamraid reiserfs"
#mkinitrd
#umount /dev/fd0
press CTRL-ALT-F7 to finish the normal install.
Note: For VIA K8 Platform, please complier the two CPU type driver all named as "viamraid.o" and copy two floppy to install OS.
4). RedFlag 4.0
Driver disk for RedFlag is the same as RedHat, but the RedFlag4.0
kernel source is strange, we cannt build a suitable driver for BOOT,
whatever compile option we use.
The kernel version for RedHat9.0 and RedFlag4.0 is the same,both
2.4.20-8. but the symbols version is not the same.
And I found that, the BOOT kernel for RedFlag4.0 and RedHat9.0 is the
same, so I use the driver made for RedHat9.0 to install.
1.compile a driver for install using RedHat9.0 source
#make clean
#make -e BOOT=1
#cp viamraid.o driverdisk/viamraid.o-2.4. 20-8BOOT
2.compile a driver for normal boot using RedFlag4.0 source
#make clean
#make
#cp viamraid.o driverdisk/viamraid.o-2.4. 20-8
3.make a driverdisk using the above 2 files, same way as RedHat.
using the following shell script. Note, the RedFlag driverdisk must
be VFAT filesystem.
#!/bin/bash
MODNAME=viamraid
BASE=`uname -r`
cd driverdisk
#make the driverdisk image
mkdir mountpoint
mkdir workdir
dd if=/dev/zero of=${MODNAME}.img bs=1k count=512
echo y |mkdosfs ${MODNAME}.img
mount -o loop ${MODNAME}.img mountpoint
cd mountpoint
echo "${MODNAME}.o:scsi_mod.o sd_mod.o" >modules.dep
echo "0x1106 0x3249 \"${MODNAME}\" \"VIATECH|VIA VT6421 RAID Controller\"" >pcitable
echo "0x1106 0x3149 \"${MODNAME}\" \"VIATECH|VIA VT6420 RAID Controller\"" >>pcitable
echo "0x1106 0x3164 \"${MODNAME}\" \"VIATECH|VIA VT6410 RAID Controller\"" >>pcitable
echo "Version 0" > modinfo
echo "${MODNAME}" >> modinfo
echo " scsi" >> modinfo
echo " \"Raid controller,VIA technologies.\"" >> modinfo
echo "1" > rhdd-6.1
cd ../workdir
mkdir ${BASE}BOOT
mkdir ${BASE}
cp ../${MODNAME}.o-${BASE}BOO T ${BASE}BOOT/${MODNAME}.o
cp ../${MODNAME}.o-${BASE} ${BASE}/${MODNAME}.o
find -name "*.o" -type f | cpio -o --format=crc | gzip -9 > ../mountpoint/modules.cgz
cd ..
umount ${MODNAME}.img
4. viamraid.img is the image file for driver disk.
5. Insert a blank floppy, and run
#dd if=driverdisk/viamraid.img of=/dev/fd0
the driver disk is ready.
6. Install RedHat9.0, boot from RH9.0 cd, when it prompt: "boot:",
type "linux expert", then following the install instructions.
5). Mandrake 9.2
1. prepare a blank floppy, format it to VFAT file system.
2. compile 2 driver, for BOOT and for UP, in the driver source directory
#mount /dev/fd0 /mnt/floppy
#make
#cp viamraid.o /mnt/floppy/viamraid_up.o
#make clean
#make -e NOMODVER=1
#cp viamraid.o /mnt/floppy/viamraid_BOOT. o
3. copy the patch.pl file to the floppy
#cp patch.pl /mnt/floppy/
#umount /mnt/floppy
4. the driver disk is OK, when install, after boot from the CD,
Press "F1", insert the floppy,
type "patch", then follow the install instructions.
6). SuSE 9.0 for x86_64
1. compile a driver for "generic x86_64" CPU type
#cd /usr/src/linux
#make menuconfig ;change CPU type to "generic x86_64".
#make dep
back to our source code directory, make a driver
#make
copy viamraid.o to a floppy disk.(VFAT)
#cp viamraid.o /mnt/floppy/viamraid.o
2. boot from cdrom, when prompt to select language, press
CTRL-ALT-F2, insert the floppy, run
#mkdir aa
#mount /dev/fd0 /aa
#insmod /aa/viamraid.o
press CTRL-ALT-F7 to continue
3. after reboot, when prompt to select language, do (2) again
when prompt where to boot from, select "Boot installed system".
4. when asked to enter password for root, press CTRL-ALT-F2,
#mount /dev/fd0 /media/floppy
#cp /media/floppy/viamraid.o /lib/modules/`uname -r`/misc/
#vi /etc/sysconfig/kernel ;change varialbe INITRD_MODULES to
;include viamraid like this: INITRD_MODULES="viamraid reiserfs jbd"
#mkinitrd
press CTRL-ALT-F7 to finish the normal install.
;If system appears "Can't determine dependencies of module viamraidjgb. Is this modules.dep up to date" message. Please CTRL-ALT-F7 to finish the normal install. And run command "mkinitrd" again in terminal.
So...What do I need to do to set up CentOS 4 on the hardware RAID chipset in the motherboard? (It will be a RAID 1 mirror) I know absolutely nothing about "compiling", but do have access to another machine running Fedora 5 if this helps.
The driver downloads website is:
http://www.viaarena.com/default.aspx?PageID=420&OSID=18&CatID=2100&SubCatID=143.
MANY many thanks to whomever can help me, as I have been trying for a long time to get this working.
Thank You,
Max
I have been attempting to set up this webserver for a while now, but the instructions for the built in hardware RAID driver for linux is confusing to me because I have not worked with linux much. The RAID chip is a VIA VT8237R SATA. I am tryinh to install CentOS 4 on the array but it only mentions support for RedHat, Mandrake, SUSE, and a few others; but I am assuming since CentOS is built on RedHat that this will work...?
Here are the instructions pasted from the ReadMe.txt file:
--------------------------
Copyright (c) 2002-2003 VIA Technologies Inc.
VIA RAID Linux Driver Software Package ReadMe.txt
This readme file is to provide the information of VIA RAID Linux Driver
Package. VIA Technologies assumes no responsibility for any errors in
this document and no part of this document may be reproduced, transmitted,
or translated into any language,or in any form without the prior written
permission of VIA Technologies Incorporated.
Package Version 1.00 / ReadMe Version 1.00
--------------------------
This RAID driver can now support 3 kind of VIA RAID Controllers, include
VT6410,VT6420/8237, VT6421. It supports RAID type 0, 1, span, 0+1(needs 4 hard disk).
VIA VT6410 is a ATA RAID controller, supports up to four ATA hard disks.
VIA VT6420/8237 is a SATA RAID controller.
VIA VT6421 supports two SATA and two ATA hard disks.
This "VIA RAID Linux Driver Package" is provided for drivers installations,
which are needed when using the above VIA RAID Controllers.
CONTENTS
==========================
1) System Requirements
2) Software Package Contents
3) Driver Installation
4) Install Operating System RedHat linux
5) Notes
==========================
1) System Requirements
You should have at least one VIA RAID controller.
System BIOS must integrates VIA RAID BIOS if you want to install OS
on RAID Controller.
Supports up to four hard disk drives, which all support LBA address.
Supports the following Operating Systems:
Linux
2) Software Package Contents
The decompressed software package includes the following files:
/Driver
viapubraid.c viamraid open source file
viapubraid.h
viaprvdef.h
viaprvmraid.o viamraid library file
viaprvraidm64.o lib file for SuSE 64 bit
Makefile Makefile
dd.sh script to make RedHat driver disk
patch.pl patch script for Mandrake 9.2 driver disk.
PACKAGES.PY for RedHat 7.2 update disk only
driverdisk.txt A document about how do I install Linux onto the RAID
ReadMe.txt This file, provides information on this Linux Driver Package
3) Driver Installation
=========================
== Driver Installation ==
=========================
*Pre-Install
The package include source code files, so we need to compile a driver
according to your kernel version.
Before begin to compile, make sure that
1. You have installed the kernel source package
2. Kernel source default directory is /usr/src/linux, please check it.
If your default kernel source directory is not /usr/src/linux,
create a link:
# ln -s linux2.4 linux
3. Assume you have unzip this package to a diretory /tmp/viamraid
*Compile/Install
1. compile the file, viamraid.o is the driver we need
# cd /tmp/viamraid/driver
# make
2. Install the driver
# make install
3. To use the driver, type:
#modprobe viamraid
If there are no other SCSI cards on the system, /dev/sda, sdb ... are
our devices.
4. To unuse the driver, type:
#rmmod viamraid
4) Operating System RedHat
To install RedHat Linux onto the RAID controller, we must have a driver
disk.
1. Prepare a driver disk:
The dd.sh is a shell script that help users to make driver disk easier
# cd /tmp/viamraid/driver
# chmod +x dd.sh
# ./dd.sh
Now dd.sh will create a driverdisk image file: driverdisk/viamraid.img
Insert a blank floppy disk and type
# dd if=driverdisk/viamraid.img
Driverdisk is OK now.
2. Install OS:
Boot from redhat install CD, when it prompt "boot:", type:
linux dd
Or
Install linux expert
* Patch for RedHat 7.2
Because RedHat 7.2 need a update disk instead of driverdisk to install
we need to type "linux dd updates" instead of "linux dd"
5) Notes (TroubleShootings)
1). After I compile the driver successfully, and run "make install",
or try to install driver by "modprobe viamraid",module loading fails
and show message like this: "your kernel is 2.4.19, but the module
is compiled for 2.4.19-athlon", why?
Perhaps your CPU is Pentium 4, but you kernel source configured
CPU type as athlon, do the following
#cd /usr/src/linux
#make menuconfig ;here change the "processor type" to be the same
as your system, then recompile the driver.
2). For SuSE64bit linux, please make sure that your CPU type is 64bit.
So, its better to
#make nenuconfig
to change the CPU type to X86_64bit before compile the driver.
There is also another file, called driverdisk.txt that contains additional information:
This is the document describes how I install linux onto our RAID controller.
If you have any suggestion/questions, contact me with dolpherdu@viatech.com.cn
Here is what you should know before we can begin.
a). Kernel for installation(boot from CDROM) is not the same as the normal
kernel, so we need to compile drivers for both kernel version. For example,
for redhat9.0, the kernel from CDROM boot is 2.4.20-8BOOT, but after
installation, boot from hard disk, the kernel version is 2.4.20-8. We will
use XXXX to refer to the kernel version number.
b). Before installation, we must load the driver for BOOT kernel, to recognize
our hard disk. The method is not standard for different linux vendors.
c). After installation, we need to boot from hard disk. Because kernel is
installed on our RAID hard disk, we must load driver module before kernel
init. This is done by a image file "initrd", the initrd is a filesystem image
which should contain the driver information.
We can see this initrd file under /boot/ directory, and boot loader(both
grub and lilo) have an option "initrd = ourinitrdfile".
After installation, we should add our driver module to this initrd file,
unfortunately, the method is not standard too.
That's all. We'll discuss the details for each specific linux.
1). RedHat 9.0
There is a standard way to create RedHat driver disk, I've put it
into a script, dd.sh, which has been mentioned in the readme.txt.
a). run ./dd.sh, you will get a image file named viamraid.img
b). Insert a blank floppy, and run
#dd if=driverdisk/viamraid.img
the driver disk is ready.
c). Install RedHat9.0, boot from RH9.0 cd, when it prompt: "boot:",
type "linux expert", then following the install instructions.
2). Mandrake 9.1
1. modify dd.sh, search "BOOTPARA",and change it.
BOOTPARA="-e BOOT=1" --> BOOTPARA="-e NOMODVER=1"
2. ./dd.sh -->get 2 file, here XXX is version number, DO remeber to
replace it with the real version number, for mdk9.1, XXX is
2.4.21-0.13mdk
driverdisk/viamraid.o.XXXB
driverdisk/viamraid.o.XXX
3. copy the normal driver to system module path
note: If there is no directory named misc, create it yourself.
#cp viamraid.o.XXX /lib/modules/XXX/misc/viam
4. make a initrd image file, which include our driver.
#mkinitrd initrdraid.img --preload scsi_mod --preload sd_mod --preload viamraid XXX
5. insert a floppy, ext2 format,and
mount /dev/fd0 /mnt/floppy
cp driverdisk/viamraid.o.XXXB
cp initrdraid.img /mnt/floppy/
umount /dev/fd0
Then, driver disk OK
Install
1. when boot from install CD, press F1, and input
linux expert
2. when prompted for a "third part driver", insert the floppy,
press OK, and choose viamraid_BOOT.o to install.
3. install normally untill the last step, prompted for reboot, do NOT
reboot now, press CTRL-ALT-F2 to the second terminal
and insert the floppy disk then, replace the default initrd.img file
with the one we prepared.(here, assume your root
filesystem has been mounted on /mnt)
mount /dev/fd0 /mnt/mnt
cp /mnt/mnt/initrdraid.img /mnt/boot/initrd.img
5. press CTRL-ALT-F7 back to install screen, and press reboot.
3). SuSE 8.2
1. compile a driver for i386 CPU type, this is for BOOT kernel.
#cd /usr/src/linux
#make menuconfig ;change the CPU type here to i386
#make dep
back to our source code directory, make a driver
#make
copy viamraid.o to a floppy disk.(VFAT)
#mount /dev/fd0 /mnt/floppy
#cp viamraid.o /mnt/floppy/viamraid_BOOT.
2. compile a driver for your current CPU
#cd /usr/src/linux
#make menuconfig ;change the CPU type according to your CPU.
#make dep
back to our source code directory, make a driver
#make
copy viamraid.o to a floppy disk.(VFAT)
#cp viamraid.o /mnt/floppy/viamraid.o
3. boot from cdrom, when prompt to select language, press
CTRL-ALT-F2, insert the floppy, run
#mkdir aa
#mount /dev/fd0 /aa
#insmod /aa/viamraid_BOOT.o
press CTRL-ALT-F7 to continue
4. after reboot, when prompt to select language, do (3) again
when prompt where to boot from, select "Boot installed system".
5. when asked to enter password for root, press CTRL-ALT-F2,
#mount /dev/fd0 /media/floppy
#cp /media/floppy/viamraid.o /lib/modules/`uname -r`/misc/
#vi /etc/sysconfig/kernel ;change varialbe INITRD_MODULES to
;include viamraid like this: INITRD_MODULES="viamraid reiserfs"
#mkinitrd
#umount /dev/fd0
press CTRL-ALT-F7 to finish the normal install.
Note: For VIA K8 Platform, please complier the two CPU type driver all named as "viamraid.o" and copy two floppy to install OS.
4). RedFlag 4.0
Driver disk for RedFlag is the same as RedHat, but the RedFlag4.0
kernel source is strange, we cannt build a suitable driver for BOOT,
whatever compile option we use.
The kernel version for RedHat9.0 and RedFlag4.0 is the same,both
2.4.20-8. but the symbols version is not the same.
And I found that, the BOOT kernel for RedFlag4.0 and RedHat9.0 is the
same, so I use the driver made for RedHat9.0 to install.
1.compile a driver for install using RedHat9.0 source
#make clean
#make -e BOOT=1
#cp viamraid.o driverdisk/viamraid.o-2.4.
2.compile a driver for normal boot using RedFlag4.0 source
#make clean
#make
#cp viamraid.o driverdisk/viamraid.o-2.4.
3.make a driverdisk using the above 2 files, same way as RedHat.
using the following shell script. Note, the RedFlag driverdisk must
be VFAT filesystem.
#!/bin/bash
MODNAME=viamraid
BASE=`uname -r`
cd driverdisk
#make the driverdisk image
mkdir mountpoint
mkdir workdir
dd if=/dev/zero of=${MODNAME}.img bs=1k count=512
echo y |mkdosfs ${MODNAME}.img
mount -o loop ${MODNAME}.img mountpoint
cd mountpoint
echo "${MODNAME}.o:scsi_mod.o sd_mod.o" >modules.dep
echo "0x1106 0x3249 \"${MODNAME}\" \"VIATECH|VIA VT6421 RAID Controller\"" >pcitable
echo "0x1106 0x3149 \"${MODNAME}\" \"VIATECH|VIA VT6420 RAID Controller\"" >>pcitable
echo "0x1106 0x3164 \"${MODNAME}\" \"VIATECH|VIA VT6410 RAID Controller\"" >>pcitable
echo "Version 0" > modinfo
echo "${MODNAME}" >> modinfo
echo " scsi" >> modinfo
echo " \"Raid controller,VIA technologies.\"" >> modinfo
echo "1" > rhdd-6.1
cd ../workdir
mkdir ${BASE}BOOT
mkdir ${BASE}
cp ../${MODNAME}.o-${BASE}BOO
cp ../${MODNAME}.o-${BASE} ${BASE}/${MODNAME}.o
find -name "*.o" -type f | cpio -o --format=crc | gzip -9 > ../mountpoint/modules.cgz
cd ..
umount ${MODNAME}.img
4. viamraid.img is the image file for driver disk.
5. Insert a blank floppy, and run
#dd if=driverdisk/viamraid.img
the driver disk is ready.
6. Install RedHat9.0, boot from RH9.0 cd, when it prompt: "boot:",
type "linux expert", then following the install instructions.
5). Mandrake 9.2
1. prepare a blank floppy, format it to VFAT file system.
2. compile 2 driver, for BOOT and for UP, in the driver source directory
#mount /dev/fd0 /mnt/floppy
#make
#cp viamraid.o /mnt/floppy/viamraid_up.o
#make clean
#make -e NOMODVER=1
#cp viamraid.o /mnt/floppy/viamraid_BOOT.
3. copy the patch.pl file to the floppy
#cp patch.pl /mnt/floppy/
#umount /mnt/floppy
4. the driver disk is OK, when install, after boot from the CD,
Press "F1", insert the floppy,
type "patch", then follow the install instructions.
6). SuSE 9.0 for x86_64
1. compile a driver for "generic x86_64" CPU type
#cd /usr/src/linux
#make menuconfig ;change CPU type to "generic x86_64".
#make dep
back to our source code directory, make a driver
#make
copy viamraid.o to a floppy disk.(VFAT)
#cp viamraid.o /mnt/floppy/viamraid.o
2. boot from cdrom, when prompt to select language, press
CTRL-ALT-F2, insert the floppy, run
#mkdir aa
#mount /dev/fd0 /aa
#insmod /aa/viamraid.o
press CTRL-ALT-F7 to continue
3. after reboot, when prompt to select language, do (2) again
when prompt where to boot from, select "Boot installed system".
4. when asked to enter password for root, press CTRL-ALT-F2,
#mount /dev/fd0 /media/floppy
#cp /media/floppy/viamraid.o /lib/modules/`uname -r`/misc/
#vi /etc/sysconfig/kernel ;change varialbe INITRD_MODULES to
;include viamraid like this: INITRD_MODULES="viamraid reiserfs jbd"
#mkinitrd
press CTRL-ALT-F7 to finish the normal install.
;If system appears "Can't determine dependencies of module viamraidjgb. Is this modules.dep up to date" message. Please CTRL-ALT-F7 to finish the normal install. And run command "mkinitrd" again in terminal.
So...What do I need to do to set up CentOS 4 on the hardware RAID chipset in the motherboard? (It will be a RAID 1 mirror) I know absolutely nothing about "compiling", but do have access to another machine running Fedora 5 if this helps.
The driver downloads website is:
http://www.viaarena.com/default.aspx?PageID=420&OSID=18&CatID=2100&SubCatID=143.
MANY many thanks to whomever can help me, as I have been trying for a long time to get this working.
Thank You,
Max
maybe a stupid question, have you tried to see if CentOS finds the drive(sda)during install. I have had great success with CentOS and SATA(including via)
ASKER
Without even loading the driver? So I set up the array in the BIOS and then see if CentOS detects it? Wow...never thoght of that. I will try
Thanks, Max
Thanks, Max
ASKER
No, It didn't work. I set up the RAID array in the BIOS and CentOS still detected them as two seperate SATA drives.
Why don't you juse use software raid? The performance is better. The 2.6 kernel dropped support for a lot of low-end onboard raid controllers for that exact reason. It looks as though you're trying to use a 2.4 driver for a 2.6 kernel.
Most people don't believe the whole performance thing, surely hardware has gotta be faster? Nope. How many raid controllers do you have with Pentium4 chips in them? Exactly.. The CPU overhead from using software raid is minimal, and it usually makes it far easier to setup dead disc email alerts etc.
Most people don't believe the whole performance thing, surely hardware has gotta be faster? Nope. How many raid controllers do you have with Pentium4 chips in them? Exactly.. The CPU overhead from using software raid is minimal, and it usually makes it far easier to setup dead disc email alerts etc.
ASKER
alextoft,
Have already attempted to try that route (https://www.experts-exchange.com/questions/22049395/CentOS-4-Software-RAID-1-Configuration.html), and am not getting anywhere fast. The problem is that I want a complete failover...including /boot. See the above link for more details. The other thing is that this is a budget webserver, with not the greatest CPU (Sempron) or amount of RAM, so every processor cycle towards its purpose would be the best.
Anyways, thanks for all your help,
Max
Have already attempted to try that route (https://www.experts-exchange.com/questions/22049395/CentOS-4-Software-RAID-1-Configuration.html), and am not getting anywhere fast. The problem is that I want a complete failover...including /boot. See the above link for more details. The other thing is that this is a budget webserver, with not the greatest CPU (Sempron) or amount of RAM, so every processor cycle towards its purpose would be the best.
Anyways, thanks for all your help,
Max
what raid controller do you have? how did you set up raid in bios?
ASKER
The RAID controller is a VIA VT8237R SATA RAID. Right after POST there is an option to press <tab> to configure the array after enabling RAID in the BIOS (The option is either IDE or RAID)
Thanks,
Max
Thanks,
Max
you say when you go into CentOs install it finds both drives, sda and sdb I assume. Have you looked at this for software raid.
http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/ch-software-raid.html
I have used this setup before on CentOS 4.3.
http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/sysadmin-guide/ch-software-raid.html
I have used this setup before on CentOS 4.3.
ASKER
ircpamanager,
That would not give me a complete 'failsafe' setup where if one disk failed the other would be ready to take the place of the other, would it?
I already have another post exploring my 'software' RAID options (https://www.experts-exchange.com/questions/22049395/CentOS-4-Software-RAID-1-Configuration.html), and I would like to continue with trying to get hardware RAID working.
Thank you for your time,
Max
That would not give me a complete 'failsafe' setup where if one disk failed the other would be ready to take the place of the other, would it?
I already have another post exploring my 'software' RAID options (https://www.experts-exchange.com/questions/22049395/CentOS-4-Software-RAID-1-Configuration.html), and I would like to continue with trying to get hardware RAID working.
Thank you for your time,
Max
yes if you used raid 1. Raid 1 creates an exact copy (or mirror) of a set of data on two or more disks. look here for RAID explanation http://en.wikipedia.org/wiki/RAID
If you are going to install driver, you must have another Centos system with same kernel. Then we can go in and compile the driver then make patch disk.
If you are going to install driver, you must have another Centos system with same kernel. Then we can go in and compile the driver then make patch disk.
ASKER
Will a virtual machine work?
Thanks for your time,
Max
Thanks for your time,
Max
you could install hosts os without raid, then install vmware server(free) create vm appliance with two scsi drives. then use software raid during installon on vm . This would be the same thing if you used software raid config like I mentioned.
ASKER
Would CentOS 4 running on Microsoft Virtual PC 2004 on a different computer succeed in being able to compile the RAID driver for the appropriate kernal?
Thank You,
Max
Thank You,
Max
ASKER
ircpamanager?
sorry,on thanksgiving vacatioin. "Would CentOS 4 running on Microsoft Virtual PC 2004 on a different computer succeed in being able to compile the RAID driver for the appropriate kernal?" In theory yes, just make sure it is the stock kernel when you install CentOS, do not upgrade kernel. Then compile kernel and put it floppy.
ASKER
Hope you had a good vacation!
Anyways, I have begun the installation of CentOS in virtual machine 2004 and will let you know when it is up and running.
Thank you,
Max
Anyways, I have begun the installation of CentOS in virtual machine 2004 and will let you know when it is up and running.
Thank you,
Max
ASKER
ircpamanager,
Thank you for your patience - but I have finally set up a working virtual CentOS environment. So, (once again) as I have very little knowledge of linux, please advise on the next steps.
Thank you for your time,
Max
Thank you for your patience - but I have finally set up a working virtual CentOS environment. So, (once again) as I have very little knowledge of linux, please advise on the next steps.
Thank you for your time,
Max
ok, download the driver and get the kernel source for your working kernel in CentOS VM. It looks like number 4) is the onww to try to follow.
ASKER
How do I get the "kernal source for your working kernal"? How do I even know which kernal I have? As well, I have no knowledge of the terminal, so how do I get the termial to recognise the proper files that I download?
Thank you for your time,
Max
Thank you for your time,
Max
ASKER
Hi,
In the instructions I believe it mentions kernal 2.4 (or somthing similar), but through a google search, I discovered that the kernal version of CentOS 4.4 is 2.6x (or somthing similar). Will this pose a problem?
Thank you,
Max
In the instructions I believe it mentions kernal 2.4 (or somthing similar), but through a google search, I discovered that the kernal version of CentOS 4.4 is 2.6x (or somthing similar). Will this pose a problem?
Thank you,
Max
type uname -r at "terminal" this will give you your kernel. what motherboard is in your box? I have found on CentOS forum that VIA VT8237R SATA is recognized from the "server cd" you can find it here http://mirror.anl.gov/pub/centos/4.4/isos/i386/
you can get kernel source by typing 'up2date --get-source kernel'<------no quotes
then follow the redhat 9.0 instructions.
you can get kernel source by typing 'up2date --get-source kernel'<------no quotes
then follow the redhat 9.0 instructions.
ASKER
OK, I have the 4.3 server CD and it did not recognize it, but I will download the 4.4 server CD and see if I will have any luck. Could you post that link to the forum? I'm curious as to the specifics.
Thank You,
Max
Thank You,
Max
ASKER
Hi,
No, as far as I can tell, it did not recognise the RAID controller automatically. Is there any additional steps that need to be completed before it will recognize it? Not sure if this would have an impact on anything, but there are 'broken' Linux partitions from previous installation attempts that cannot seem to be formatted with the Linux 'fdisk' tool or the windows 'fdisk' tool.
Thanks!
Max
No, as far as I can tell, it did not recognise the RAID controller automatically. Is there any additional steps that need to be completed before it will recognize it? Not sure if this would have an impact on anything, but there are 'broken' Linux partitions from previous installation attempts that cannot seem to be formatted with the Linux 'fdisk' tool or the windows 'fdisk' tool.
Thanks!
Max
that doesn't sound good. Even though the drive seems to have bad partitions, it should still see RAID controller. It is time to follow the driver installation instructions. I looked over the instructions and they are pretty straight forward.
ASKER
Hi ircpamanager,
"up2date --get-source kernel" does not seem to be working. This is what is outputted in the shell window:
Fetching all package list for channel: centos4-Base...
########################## ########## ####
Fetching all package list for channel: centos4-Updates...
########################## ########## ####
Fetching all package list for channel: centos4-extras...
########################## ########## ####
Fetching all package list for channel: centos4-addons...
########################## ########## ####
Fetching package list for channel: centos4-Base...
Fetching http://mirror.centos.org/centos/4/os/i386//headers/header.info...
########################## ########## ####
Fetching package list for channel: centos4-Updates...
Fetching http://mirror.centos.org/centos/4/updates/i386//headers/header.info...
########################## ########## ####
Fetching package list for channel: centos4-extras...
Fetching http://mirror.centos.org/centos/4/extras/i386//headers/header.info...
########################## ########## ####
Fetching package list for channel: centos4-addons...
Fetching http://mirror.centos.org/centos/4/addons/i386//headers/header.info...
########################## ########## ####
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
An error has occurred:
exceptions.UnboundLocalErr or
See /var/log/up2date for more information
And this is what is in the log file:
[Sat Dec 16 12:18:55 2006] up2date availablePackageList from network
[Sat Dec 16 12:34:12 2006] up2date allAvailablePackageList from network
[Sat Dec 16 12:34:13 2006] up2date availablePackageList from network
[Sat Dec 16 12:34:17 2006] up2date File "/usr/sbin/up2date", line 1288, in ?
sys.exit(main() or 0)
File "/usr/sbin/up2date", line 711, in main
return getPackages(pkgNames, source=1)
File "/usr/sbin/up2date", line 1068, in getPackages
onlySource = source)
File "/usr/share/rhn/up2date_cl ient/up2da te.py", line 182, in getPackage
hdr = getHeader(pkg)
File "/usr/share/rhn/up2date_cl ient/up2da te.py", line 109, in getHeader
hdr,call_type = rpcServer.doCall(repos.get Header, pkg)
File "/usr/share/rhn/up2date_cl ient/rpcSe rver.py", line 236, in doCall
ret = apply(method, args, kwargs)
File "/usr/share/rhn/up2date_cl ient/repoD irector.py ", line 33, in getHeader
return self.handlers[channel['typ e']].getHe ader(pkg, msgCallback, progressCallback)
File "/usr/share/rhn/up2date_cl ient/rpmSo urce.py", line 213, in getHeader
header = source.getHeader(pkg, progressCallback = progressCallback)
File "/usr/share/rhn/up2date_cl ient/repoB ackends/yu mRepo.py", line 112, in getHeader
return hdr
Any ideas?
"up2date --get-source kernel" does not seem to be working. This is what is outputted in the shell window:
Fetching all package list for channel: centos4-Base...
##########################
Fetching all package list for channel: centos4-Updates...
##########################
Fetching all package list for channel: centos4-extras...
##########################
Fetching all package list for channel: centos4-addons...
##########################
Fetching package list for channel: centos4-Base...
Fetching http://mirror.centos.org/centos/4/os/i386//headers/header.info...
##########################
Fetching package list for channel: centos4-Updates...
Fetching http://mirror.centos.org/centos/4/updates/i386//headers/header.info...
##########################
Fetching package list for channel: centos4-extras...
Fetching http://mirror.centos.org/centos/4/extras/i386//headers/header.info...
##########################
Fetching package list for channel: centos4-addons...
Fetching http://mirror.centos.org/centos/4/addons/i386//headers/header.info...
##########################
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
There was an error downloading: http://mirror.centos.org/centos/4/updates/i386//headers/kernel-0-2.6.9-42.0.3.EL.i686.hdr
An error has occurred:
exceptions.UnboundLocalErr
See /var/log/up2date for more information
And this is what is in the log file:
[Sat Dec 16 12:18:55 2006] up2date availablePackageList from network
[Sat Dec 16 12:34:12 2006] up2date allAvailablePackageList from network
[Sat Dec 16 12:34:13 2006] up2date availablePackageList from network
[Sat Dec 16 12:34:17 2006] up2date File "/usr/sbin/up2date", line 1288, in ?
sys.exit(main() or 0)
File "/usr/sbin/up2date", line 711, in main
return getPackages(pkgNames, source=1)
File "/usr/sbin/up2date", line 1068, in getPackages
onlySource = source)
File "/usr/share/rhn/up2date_cl
hdr = getHeader(pkg)
File "/usr/share/rhn/up2date_cl
hdr,call_type = rpcServer.doCall(repos.get
File "/usr/share/rhn/up2date_cl
ret = apply(method, args, kwargs)
File "/usr/share/rhn/up2date_cl
return self.handlers[channel['typ
File "/usr/share/rhn/up2date_cl
header = source.getHeader(pkg, progressCallback = progressCallback)
File "/usr/share/rhn/up2date_cl
return hdr
Any ideas?
ASKER
Here are a few sites that I found when I first came across this problem:
http://www.ducea.com/2006/05/08/up2date-fails-on-centos-42-x86-64/
http://wiki.centos.org/I_need_the_Kernel_Source
Not sure if they help or even have anything to do with this problem but....
Thanks, Max
http://www.ducea.com/2006/05/08/up2date-fails-on-centos-42-x86-64/
http://wiki.centos.org/I_need_the_Kernel_Source
Not sure if they help or even have anything to do with this problem but....
Thanks, Max
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Hi Ircpamanager,
I downloaded the kernel-headers from http://mirror.centos.org/centos/4/os/SRPMS/, and now the file sits on my desktop. I try to make a folder called SPECS under "usr/src/" but is gives me access denied. Furthermore, in the Via instructions, it wanted the "source tree" to be in "/usr/src/linux" - which is not present on the machine and if I use the instructions on http://wiki.centos.org/I_need_the_Kernel_Source, then it mentions that the source will end up in "/usr/src/redhat/BUILD/".
So, where do I put the file before I start the command-line process, and where does it end up in, and if it ends up in a place that the Via driver will not work with, how do I get the Via driver to cooperate.
Thank You,
Max
I downloaded the kernel-headers from http://mirror.centos.org/centos/4/os/SRPMS/, and now the file sits on my desktop. I try to make a folder called SPECS under "usr/src/" but is gives me access denied. Furthermore, in the Via instructions, it wanted the "source tree" to be in "/usr/src/linux" - which is not present on the machine and if I use the instructions on http://wiki.centos.org/I_need_the_Kernel_Source, then it mentions that the source will end up in "/usr/src/redhat/BUILD/".
So, where do I put the file before I start the command-line process, and where does it end up in, and if it ends up in a place that the Via driver will not work with, how do I get the Via driver to cooperate.
Thank You,
Max
ASKER
Hello,
I am very interested in in its final disposition! I have a server that has been out for 5 months waiting for this question to be answered! If anyone is able to assist me, it would be most appreciated!
Thank You,
Max
I am very interested in in its final disposition! I have a server that has been out for 5 months waiting for this question to be answered! If anyone is able to assist me, it would be most appreciated!
Thank You,
Max
did you try yum install kernel-your kernel?
ASKER
NO, if it hasn't been mentioned already, then I haven't tried it yet. But will it install the kernel in "/usr/src/linux" as it is required in the Via instructions prerequisites step two("2. Kernel source default directory is /usr/src/linux)?
Thank You,
Max
Thank You,
Max
ASKER
Oops, The first word of the previous post should be corrected to "No".
-Max
-Max
ASKER
Hi,
This is what I got when I ran the "yum install" command:
[root@localhost maxwellb]# yum install 2.6.9-42.EL
Setting up Install Process
Setting up repositories
update 100% |========================= | 951 B 00:00
base 100% |========================= | 1.1 kB 00:00
addons 100% |========================= | 951 B 00:00
extras 100% |========================= | 1.1 kB 00:00
Reading repository metadata in from local files
http://mirrors.csumb.edu/centos/4.4/updates/i386/repodata/primary.xml.gz: [Errno 12] Timeout: <urlopen error timed out>
Trying other mirror.
primary.xml.gz 100% |========================= | 73 kB 00:00
update : ########################## ########## ########## #### 212/212
Added 39 new packages, deleted 0 old in 1.27 seconds
Parsing package install arguments
No Match for argument: 2.6.9-42.EL
Nothing to do
[root@localhost maxwellb]#
Does this mean that it completed successfully? Or did it fail?
Thank You,
Max
This is what I got when I ran the "yum install" command:
[root@localhost maxwellb]# yum install 2.6.9-42.EL
Setting up Install Process
Setting up repositories
update 100% |=========================
base 100% |=========================
addons 100% |=========================
extras 100% |=========================
Reading repository metadata in from local files
http://mirrors.csumb.edu/centos/4.4/updates/i386/repodata/primary.xml.gz: [Errno 12] Timeout: <urlopen error timed out>
Trying other mirror.
primary.xml.gz 100% |=========================
update : ##########################
Added 39 new packages, deleted 0 old in 1.27 seconds
Parsing package install arguments
No Match for argument: 2.6.9-42.EL
Nothing to do
[root@localhost maxwellb]#
Does this mean that it completed successfully? Or did it fail?
Thank You,
Max
ASKER
I have since discovered (on http://www.viaarena.com/) that it is impossible to run the VT8237R chipset in kernel 2.6 as the drivers are only available for kernel 2.4. There is a way using "dmraid", but I would rather not head in the direction of unsupported third party alternatives. Thank you to everyone who commented on this post, I intent to ask the moderators as to its final disposition.
Thank You,
Max
Thank You,
Max
ASKER
As per the moderators recomendations, I will award ircpamanager the points as this quetion msy be valueble for future reference that Via Hardware RAID with this chipset and the driver they provide is not possible.
Thank You,
Max
Thank You,
Max
thanks for the points, sorry it did not work out,