Home > HighPointTech Linux Driver Build

HighPointTech Linux Driver Build

Tags:  



Overview

Highpoint Technologies makes many consumer and Enterprise ready RAID host-bus adaptors.    The primary difference between HighPoint (aka "HPT") and LSI Logic MegaRAID products if fact LINUX driver for LSI is compiled into recent Fedora and RHEL 3+ distributions.

The HPT driver must be compiled and installed for specific kernel version.   If you download updated kernel release, you must re-compile HPT driver.


Use Case Scenario

Assume the following:
  1. RHEL/Fedora installed using pre-compiled linux driver on HighPoint support site (example:   HERE .    The base Linux installation requires have HighPoint driver package on floppy and loading driver during initial boot from RHEL/Fedora installation CD/DVD #1 (this is F-key option following initial boot).

Assumptions

  • must have gcc, binutils, make, etc
  • must have mkinitrd
  • must have kernel development RPM packages installed.   Example of kernel-related RPM packages installed.   The the 'devel' and 'headers' packages for requires for compiling the HPT driver for the NEW kernel revision.  This is why there are three packages installed for new kernel rev (2.6.22.14-72.fc6) and only one for existing kernel (2.6.18-1.2798.fc6).  
[root@linux1 ~]# rpm -qa | grep kern
kernel-devel-2.6.22.14-72.fc6
kernel-headers-2.6.22.14-72.fc6
kernel-2.6.22.14-72.fc6
kernel-2.6.18-1.2798.fc6
  • as of HPT open-source driver rr174x v1.0.3, the install.sh script executed during "make install ..." makes some bad assumptions (ie. that you're not booted off HPT adaptor -- or something else).  Ultimately, I found that /boot/initrd-xxx  for NEW kernel module is NOT created that contains new HPT driver.   Thus, you must manually execute 'mkinitrd' to build /boot/initrd-<new_kernelrev> that contains HPT driver.

Procedure

  1. download latest kernel via 'yum update' -- note version.   Example:    2.6.22.14-72.fc6

  2. insure related 'kernel-devel' and 'kernel-headers' packages match that of NEW kernel RPM package.

  3. # tar xvzf rr174x-linux-src-v1.03-082307-0910.tar.gz   [explode latest version of open-source HPT linux code.  example: HERE ]

  4. cd ./ rr174x-linux-src-v1.03/product/rr174x/linux/     [cd to driver Makefile]

  5. # make KERNELDIR=/lib/modules/2.6.22.14-72.fc6/build/  [compile new driver with KERNELDIR option]

  6. # make install KERNELDIR=/lib/modules/2.6.22.14-72.fc6/build/  [install new driver with KERNELDIR option]

 

Final Steps


Backup existing NEW kernel initrd file -- ramdisk to launch OS]

# cp /boot/initrd-<new_kernel>  /boot/initrd-<new_kernel>-orig   

Build new /boot/initrd-<new_kernel> file that contains newly compiled HPT driver.   This works because the 'make install..." step above does place the newly compiled rr117x.ko driver into kernel tree under /lib/modules/<new_kernel>/.      Note the 'mkinitrd' options to pre-load scsi_mod kernel module -- because required by the HPT driver (explicitly included with the '--with' option).

# mkinitrd --preload scsi_mod --with=rr174x /boot/initrd-<new_kernel_name>.img <new_kernel_name>

Example:

# mkinitrd --preload scsi_mod --with=rr174x /boot/initrd-2.6.22.14-72.fc6.img 2.6.22.14-72.fc6  

Great linux initrd reference found HERE 





 RSS of this page