Solved

Installing CentOS 5.3 RocketRaid 2320 array

Posted on 2009-07-09
41
1,910 Views
Last Modified: 2013-12-15
I am trying to install a copy of CentOS on a 6 disc raid 5 array on a RocketRaid 2320.  I am problems getting the drivers to install.  I am following the instructions located on at http://www.highpoint-tech.com/BIOS_Driver/rr232x/Linux/newformat/Install_RHEL_CentOS_RR232x.pdf.  For some reasme when I try to run the install step 1 script I keep getting Error to extract driver.  Why would this be.
0
Comment
Question by:kurtcostello
  • 22
  • 19
41 Comments
 
LVL 76

Expert Comment

by:arnold
ID: 24820330
Did you create the driver floppy?
I think it should be tar -xzvf filename.tar.gz -C /mnt/floppy.
0
 

Author Comment

by:kurtcostello
ID: 24823709
that is exactly what I did.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24823860
What is the error message that you get?
Does it say the archive is corrupt?
Are you booting the system with liveCD or are you using a separate system to create the floppy?
0
 

Author Comment

by:kurtcostello
ID: 24824187
I am just booting off disc CentOS 5.3 install cd.  I created the the floppy on a different linux machine using the following command.

# mkdosfs /dev/fd0
# mkdir -p /mnt/floppy
# mount /dev/fd0 /mnt/floppy
# tar xzvf rr232x-rhel-5u2.tar.gz -C /mnt/floppy
# umount /dev/fd0

Of course first i did a wget to download the file from the hightpoint site.  This are the exact instructions from the site.

This seemed to work fine.  I was when I was installing the driver that I had the problem.  For that I switched to console 2 and did the following commands.

# mkdir /dd
# mount /dev/fd0 /dd
# cp -r /dd /tmp/hptdd
# umount /dd
# sh /tmp/hptdd/rhel-install-step1.sh  

These are the instructions mention in the manual I link to in my original post.
0
 

Author Comment

by:kurtcostello
ID: 24824196
The exact error was Error to extract driver
0
 

Author Comment

by:kurtcostello
ID: 24824248
It should say Driver Installation step 1 completed.  Instead it ways Error to extract driver.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24825358
The steps you are following dealing with adding the driver to an existing installed system and not on including the drive in the initial installation of the OS on the drive.
Note that difference that you are using the floppy drive while the install instructions deal with the Hard Drive /dev/sda1.

You need to use the floppy disk to reference the OS installer with where it can find the needed drivers.

When installing a system from scratch, you need to follow the second section (Install OS on RR232x controller) of the document you referenced and not the third (Add drivers to an existing OS to access RR232x resources).
0
 

Author Comment

by:kurtcostello
ID: 24825511
I am getting these instruction ffrom section 2 of the document.  If you you look at section 2 step four it says to do exactly what I did with exception to changing sda to fd0.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24825687
Do you use a Regular floppy drive or a USB attached floppy drive?
Look at the contents of the /dd prior to copying.
what are the contents of /tmp/hptdd?

0
 

Author Comment

by:kurtcostello
ID: 24826367
I am using a floppy drive conected internally
the files inside of /dd are

install.sh, modules.cfz, pcitable, rhel-install-step2.sh, installmethod.py, modules.dep, readme.txt, modinfo, modules.pcimap, rhdd, modules.alias, pci.ida, rhel-install-step1.sh

the contects of the /tmp/hptdd are

the exact same as above.
0
 

Author Comment

by:kurtcostello
ID: 24841570
anymore ideas on this?
0
 
LVL 76

Expert Comment

by:arnold
ID: 24842334
Could you look at the contents of the files.  I see there are step1 and step2, i.e. when you run the step1 script it does not meet some criteria and does not go to step2.
I do not know what the scripts are supposed to do or why it might fail.
The first step might be trying to see whether the controller is detected prior to installing the drivers. For one reason or another the check fails to detect the existance of the RR232x and the driver installation is not performed.
0
 

Author Comment

by:kurtcostello
ID: 24843297
According to the manual referenced above the step2 script is not supposed to be run until the Linux installation is done.

How do I go about seeing if the controller is detected prior to installing the drivers?   I Know it is seen by the motherboard because I I do a windows install I can install the driver and it sees it during a windows install.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24844880
run lspci at the bash prompt.

look at what the step1 script is supposed to do.
0
 

Author Comment

by:kurtcostello
ID: 24845046
when I do the lspci command one of the lines that it displays is:
04:00:0 SCSI storage contoller: Highpoint technologies Inc. RocketRaid 2320 SATA-II COntroller (rev 09)

Therefore I know the install is at least seeing the device.

The contents of the step1 script are

#!/bin/sh

DRIVER=rr232x

echo "Driver Installation"
CWD=`dirname $0`
MACHINE=i686
KERNEL=`uname -r`

machine=`uname -m`
if [ $machine = "x86_64" ];then
        MACHINE=$machine
fi
cd /tmp
if [ -f $CWD/modules.cgz ]; then
  gzip -dc $CWD/modules.cgz | cpio -idum ${KERNEL}/${MACHINE}/${DRIVER}.ko > /de                                          v/null 2>/dev/null
  if [ ! -f ${KERNEL}/${MACHINE}/${DRIVER}.ko ]; then
    echo "Error to extract driver."
    exit 1
  fi
else
  echo "No driver archive found."
  exit 1
fi

modprobe sd_mod
insmod ${KERNEL}/${MACHINE}/${DRIVER}.ko

echo "Driver installation step 1 completed."
0
 
LVL 76

Expert Comment

by:arnold
ID: 24845711
You should have had the "Driver Installation" displayed.
Presumably the modules.cfz should actually be modules.cgz which is tested in the second if statement.

The other problem is $CWD is set and used as a reference point in the second test.
The issue is likely that $CWD in your case is /.  When the test for modules.cgz is run the module file does not exist in /modules.cgz.
To correct the issue, make sure you "cd to /tmp/hptdd" prior to running the driver install script, "sh /tmp/hptdd/rhel-install-step1.sh"

See if this change resolves the issue which I believe it should.

Good Luck
0
 

Author Comment

by:kurtcostello
ID: 24850181
Still having issues.  First when I listed the names of the files that one test I mad3e a typo.  the file is calles modules.cgz not modules.cfz.

Also, when I cd to /tmp/hptdd and then I run the script I get "No driver archive found."

One thing that I did notice though is that one of the checks in the script check for x86_64 to see if it is a 64bit install.  I am actually using a 32bit install.  Could this be the reason why,  The problem is when I look on highpoints site I don't see a designation between a 64bit driver and a 32bit.
0
 

Author Comment

by:kurtcostello
ID: 24850471
Ok, so I tested that theory by downloading a 64 bit version of CentOS but I get the same result.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24850563
That check is just to see whether besides the $machine variable which gets set to the type of system, deals with setting the $MACHINE variable when the OS is 64bit.

In your test, $machine will be likely i386, i686, etc. and $MACHINE will be left unset.
This check will not terminate the script.

After the CWD=`dirname $0`, please add echo "$CWD" prior to running the step1 script to see what CWD gets set to.

An alternative is copy out the /tmp/hptdd/* file into the /tmp location.

Something else does not make sense, did you receive the, "Driver installation" in all prior cases?
This notice should come up any time the script is executed.  The only time it will not is when the script file is blank.
0
 

Author Comment

by:kurtcostello
ID: 24854724
ok I added echo "$CWD" to the script.  When I run it from root by typing sh /tmp/htpdd/rhel-install-step1.sh I get the following out put

Driver Instalation
/tmp/htpdd/
Error to extract driver

When I copy everything to /tmp and then run it by typing sh /tmp/rhel-install-step1.sh I get the following

 Driver Instalation
/tmp
Error to extract driver

And yes everytime I run this script I get Driver instalation at the beginning.
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 76

Expert Comment

by:arnold
ID: 24855676
Ok add to the line prior to gzip,
mkdir -p ${KERNEL}/${MACHINE}

The above will create the directory structure to where the driver is extracted.  
See if it gets you further along.
0
 

Author Comment

by:kurtcostello
ID: 24862315
Ok so i edited the script so it looks like the following:

#!/bin/sh

DRIVER=rr232x

echo "Driver Installation"
CWD=`dirname $0`
MACHINE=i686
KERNEL=`uname -r`

machine=`uname -m`
if [ $machine = "x86_64" ];then
        MACHINE=$machine
fi
cd /tmp
if [ -f $CWD/modules.cgz ]; then
  mkdir -p ${KERNEL}/${MACHINE}
  gzip -dc $CWD/modules.cgz | cpio -idum ${KERNEL}/${MACHINE}/${DRIVER}.ko > /de                                          v/null 2>/dev/null
  if [ ! -f ${KERNEL}/${MACHINE}/${DRIVER}.ko ]; then
    echo "Error to extract driver."
    exit 1
  fi
else
  echo "No driver archive found."
  exit 1
fi

modprobe sd_mod
insmod ${KERNEL}/${MACHINE}/${DRIVER}.ko

echo "Driver installation step 1 completed."

Even after doing that I still get the Error to extract driver error
I did notice though that if created the directories.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24863405
The option is to run the commands in sequence to see what the issue is.
See whether you get an error dealing with a corrupt modules.cgz which will come from the gzip command or whether the error comes from CPIO dealing with a corrupt data stream.

Instead of running the script.

run the following sequence or alternatively, comment out the >/dev/null on the gzip line by adding a # in front of the >

KERNEL=`uname -r`

MACHINE=i686
 
 

gzip -dc /tmp/htpdd/modules.cgz | cpio -idum /tmp/${KERNEL}/${MACHINE}/rr232x.ko

#comment if the above does not generate any errors and the file rr232x.ko exists.

#run the following step from the script:

modprobe sd_mod

insmod /tmp/${KERNEL}/${MACHINE}/rr232x.ko

#see whether this resolves the issue.

Open in new window

0
 

Author Comment

by:kurtcostello
ID: 24870037
I ram all these commands sequentially and did not get any errors, In fact the only command that returned any output at all was gzip -dc /tmp/htpdd/modules.cgz | cpio -idum /tmp/${KERNEL}/${MACHINE}/rr232x.ko which returned "2568 blocks"

After this I went back to the GUI to try the rest of the installation and noticed that it is still not seeing the drive on the drive array.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24870545
Do you use the advanced partitioning options which is what the document you provided has along side the need to hit the change drive option for grub.

During the boot proces, you entered the configuration of the RR232x controller and grouped the drives in the ARRAY into a RAID 5 volume.

When you Follow the instructions in the document following the installation/loading of the RR232x driver, ALT+F6 Section 2 of the document. Step 4 of the installation subitem 4, 5 until you hit the beginning of Step 4.a which deals with copying the drivers you loaded with insmod and now need to copy the driver into the system's image?
0
 

Author Comment

by:kurtcostello
ID: 24870956
I can't get to the advanced partitioning option yet because no drive is seen.  The box where it ways select the drives to use for this instalation is empty.  If I select advanced storage config it only gives me an option to connect to an ISCSI drive.  

Yes I did create a raid fid config in the contoller bios ustility.

I am not sure what you are saying in this last paragraph.  
0
 

Author Comment

by:kurtcostello
ID: 24872004
Ok I think I may have figured out why I was having issues.  Apparently HighPoint does not have a driver for CentOS 5.3 yet.  I seems I will need to compile my own driver from the open source driver on their download page.  Do you by any chance know of the easiest way to do that?
0
 
LVL 76

Expert Comment

by:arnold
ID: 24872164
I am trying to see whether you go through the custom disk layout or you are opting to let the OS installer determine the partitions.

Lets try this:
After you run through the commands included in the script (post ID 24863405).
run:
lsmod | grep sd_mod

I am trying to see whether that module gets loaded (following the insmod directive)
Run df -k
do you have anything mounted on /mnt?

0
 

Author Comment

by:kurtcostello
ID: 24872366
Ok I think I may have figured out why I was having issues.  Apparently HighPoint does not have a driver for CentOS 5.3 yet.  I seems I will need to compile my own driver from the open source driver on their download page.  Do you by any chance know of the easiest way to do that?
0
 
LVL 76

Expert Comment

by:arnold
ID: 24873537
An option is to download the source of the driver. and then use the liveCD environment to compile it.
Unfortunately, I am not sure whether the option to compile a driver within the install console is an option.
i.e. you get the source of the driver/module and then during the install go through the ALT+F2 into the console and use a USB to get the source and compile it there etc.
If you would post a link to the Manufacturer's source distribution, I can take a look and see what options there are.
The alternative is to install using the supported Centos 5.2 and then go through the yum update process to get the system to 5.3 without the hastle of trying to resolve the install part, but you may run into the issue that the update to 5.3 will mess things up.
0
 

Author Comment

by:kurtcostello
ID: 24873820
The download for the Open Source Driver is located at http://www.highpoint-tech.com/BIOS_Driver/rr232x/Linux/newformat/rr232x-linux-src-v1.9-090407-1135.tar.gz.  

As far as creating the driver I was thinking of installing CentOS 5.3 on the a HDD driectly connected to the MB and then creating the driver from there.  That way it uses the same kernel.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24875621
That is another option which will have the storage array as a secondary or are you thinking of building the module/driver and then using it to reinstall the OS on the Array a new?
The driver/module is an add on rather than built into the kernel.
The above is without having the chance to look at the driver/module.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24875741
In a hasty response mixed up to many things.

The compilation of the driver/module is fairly straight forward.

I have the module built on kernel 2.6.18-92.1.22.el5. 5.2.

See if you have a Centos 5.3 liveCD from which you can boot to see whether the module can be compiled without going through the lengthy install process.
Then copy the rr232x.ko file onto a USB and repeat the process you had to modprobe, and insmod to load it.

0
 

Author Comment

by:kurtcostello
ID: 24896165
Ok I just decided to install in on a local disc.  I am now trying to get the driver made but am still having issues.  I am on kernel 2.6.18-128.el5.  According to the readme file for the opensource driver all I need to do is
cd rr232x-linux-src-v1.9/product/rr232x/linux/
then
run the make command

When I do that I get

"grep: /lib/modules/2.6.18-128.el5/build/include/linux/version.h: No such file or                                       directory
expr: syntax error
../../../inc/linux/Makefile.def:85: *** Only kernel 2.4/2.6 is supported but you                                       use 2..  Stop.
"

What am I missing here?
0
 
LVL 76

Expert Comment

by:arnold
ID: 24896388
make sure you have the kernel-devel package installed.
see if you have kernel-devel
rpm -qa | grep kernel-devel
kernel-devel-2.6.18-128.el5 and kernel-headers-2.6.18-128.el5 should be in the list.

If you are missing both or either, remove the one you have from the command below prior to running:
yum kernel-devel kernel-headers
0
 

Author Comment

by:kurtcostello
ID: 24896546
I just installed did yum install of kernel-devel

Now when I do a rpm -qa | grep kernel

I get the following results.

"kernel-headers-2.6.18-128.2.1.el5
kernel-devel-2.6.18-128.2.1.el5
kernel-2.6.18-128.el5"

However, when i try to make command I still get

[root@localhost linux]# make
grep: /lib/modules/2.6.18-128.el5/build/include/linux/version.h: No such file or directory
expr: syntax error
../../../inc/linux/Makefile.def:85: *** Only kernel 2.4/2.6 is supported but you use 2..  Stop.
0
 
LVL 76

Expert Comment

by:arnold
ID: 24896715
run more /lib/modules/2.6.18-128.el5/build/include/linux/version.h
grep mean search for something and your command is incomplete
you have what to search for but not where.
grep pattern location/files

run the following:
grep LINUX_VERSION_CODE /lib/modules/2.6.18-128.el5/build/include/linux/version.h
and post the output. I am looking for the number at the end of the line.
using the number at the end of the returned line from the grep
echo "number/256%265"|bc
The result should be 6.
If it is not 6, what is it?
If it is 7.
A way to fix it is to edit the  Makdfile.def on line 83 adding
ifneq ($(KERNEL_VER), 2.7) above the similar line with 2.6
and adding an
endif after the last endif line 88.
0
 

Author Comment

by:kurtcostello
ID: 24897064
I must be missing something here because /lib/modules/2.6.18-128.el5/build/include/linux/version.h does not exist.  That path only goes to the directory 2.6.18-128.el5.  there is something called build inside but it does not seem to be a directory.  If I do a ls -lh command in that directory I get the following:

[root@localhost /]# cd /lib/modules/2.6.18-128.el5/
[root@localhost 2.6.18-128.el5]# ls -lh
total 1.3M
lrwxrwxrwx  1 root root   46 Jul 16 09:10 build -> ../../../usr/src/kernels/2.6.18-128.el5-x86_64
drwxr-xr-x  2 root root 4.0K Jan 21 11:05 extra
drwxr-xr-x 10 root root 4.0K Jul 16 09:10 kernel
-rw-r--r--  1 root root 259K Jul 16 09:10 modules.alias
-rw-r--r--  1 root root   69 Jul 16 09:10 modules.ccwmap
-rw-r--r--  1 root root 199K Jul 16 09:10 modules.dep
-rw-r--r--  1 root root  147 Jul 16 09:10 modules.ieee1394map
-rw-r--r--  1 root root  375 Jul 16 09:10 modules.inputmap
-rw-r--r--  1 root root 2.3K Jul 16 09:10 modules.isapnpmap
-rw-r--r--  1 root root   74 Jul 16 09:10 modules.ofmap
-rw-r--r--  1 root root 196K Jul 16 09:10 modules.pcimap
-rw-r--r--  1 root root 4.0K Jul 16 09:10 modules.seriomap
-rw-r--r--  1 root root 122K Jul 16 09:10 modules.symbols
-rw-r--r--  1 root root 342K Jul 16 09:10 modules.usbmap
lrwxrwxrwx  1 root root    5 Jul 16 09:10 source -> build
drwxr-xr-x  2 root root 4.0K Jan 21 11:05 updates
drwxr-xr-x  2 root root 4.0K Jan 21 11:05 weak-updates

I did a locate command on version.h and got

[root@localhost 2.6.18-128.el5]# locate version.h
/usr/include/gnu/libc-version.h
/usr/include/linux/version.h
/usr/include/linux/dvb/version.h
/usr/share/doc/ImageMagick-6.2.8/www/subversion.html
/usr/share/doc/ImageMagick-6.2.8/www/api/version.html
/var/www/manual/mod/mod_version.html



0
 
LVL 76

Expert Comment

by:arnold
ID: 24897270
/usr/src is where the installed kernel files reside.
/usr/include/linux/version.h is what it is looking for.

The file is looking for the linux kernel version.

ls -l /usr/src/kernels/
What do you have?
post the results of uname -rim

I see the problem.
Your current kernel is 2.6.18-128.el5, but your header and devel versions are for a newer kernel 2.6.18-128.2.1.el5.

It looks as though you installed the source and header of the newer kernel without adding the newer kernel to your system.
The option you have is to run
yum upgrade kernel
Then see if you system can boot to the new kernel.
Alternatively, you can use yum to install the older source and headers:

yum install kernel-devel-2.6.18-128.el5

The above should be fine.  Note that you would likely have to build the module into the kernel everytime you upgrade the kernel.

yum update

Do not delete the older kernel unless you can successfully boot into the new one.  The old one will be your failsafe in the event the newer kernel has a problem with booting your system.
I often leave a prior version just in case something goes wrong down the line.
0
 

Author Comment

by:kurtcostello
ID: 24899998
Ok, I am almost there.  I created the driver and can install it on the existing OS.  Now I need to figure out how to install it on a fresh.  

Will it be an issue that the driver was created with kernel 2.6.18-128.2.1.el5 when the kernel on the install cd is kernel 2.6.18-128.el5

How do I install it?
0
 
LVL 76

Accepted Solution

by:
arnold earned 500 total points
ID: 24900043
It may or may not.  The difference in the kernel version could be minimal.

It is the same as you would using the script.
Copy the rr232x.ko on a USB.
Transfer it the same way to the local drive
run the modprobe sd_mod
insmod rr232x.ko
the above will get the module loaded.
return to the graphical install and see if the OS sees the array. If it does, you are set.
At the end you would need to copy the rr232x.ko into the system image location as outlined for the module to be available on restart.

0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

This is the error message I got (CODE) Error caused by incompatible libmp3lame 3.98-2 with ffmpeg I've googled this error message and found out sometimes it attaches this note "can be treated with downgrade libmp3lame to version 3.97 or 3.98" …
It’s 2016. Password authentication should be dead — or at least close to dying. But, unfortunately, it has not traversed Quagga stage yet. Using password authentication is like laundering hotel guest linens with a washboard — it’s Passé.
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now