HP QLA Driver Kit -------------------- This driver kit contains all the drivers and utilities needed to deploy supported HP adapters on Linux The following adapters are supported with this driver kit: FCA2214 (x86 only) FCA2214DC (x86 only) A6826A (ia64 only) The following distributions are supported with this driver kit: Red Hat Advanced Server 2.1, i386, ia64 SUSE Linux Enterprise Server 8 (Service Pack 3 or higher) i386, ia64 Red Hat Enterprise Linux 3.0, i386, ia64 This driver kit contains the following components: Source Code RPM for QLA 7.00.00 driver (hp_qla2x00src) Source RPM for QLA 7.00.00 driver (hp_qla2x00) Fibre Channel Utilities for x86 architectures (fibreutils, i386) Fibre Channel Utilities for ia64 architectures (fibreutils, ia64) Driver parameter configuration script (set_parm2) Master installation script (INSTALL) Installation The INSTALL script will install the hp_qla2x00src RPM and the fibreutils RPM for you architecture (x86, ia64). For a fresh installation, this script takes not arguments and can be invoked by issuing the command: # ./INSTALL The default installation sets up the driver to be in single path mode. If you want to install the driver to start in multi-path failover mode use the -f option with the INSTALL command: # ./INSTALL -f You can install the driver manually using the RPM command.To install the hp_qla2x00src RPM on a fresh system use the command: # rpm -ivh hp_qla2x00src--.noarch.rpm To install the hp_qla2x00src RPM without running the driver build scripts: # rpm -ivh --noscripts hp_qla2x00src--.noarch.rpm Upgrade If you have any installed components from a previous solution kit or driver kit (such as the qla2x00 RPM) you should invoke the INSTALL script with no arguments: # ./INSTALL To manually upgrade the components you should use one or all of the following commands: For the hp_qla2x00src RPM # rpm -Uvh hp_qla2x00src--.noarch.rpm For the fibreutils RPM # rpm -e fibreutils # rpm -ivh fibreutils--..rpm Note on Upgrading from qla2x00 RPMs If you have a qla2x00 RPM from HP installed on your system, you should use the INSTALL script. The INSTALL script will remove the old qla2x00 RPM and install the new hp_qla2x00src while keeping the driver settings from the previous installation. The script takes no arguments. To use it, execute the command: # ./INSTALL Uninstall To uninstall the components from this driver kit you can use the INSTALL script with the -u option: # ./INSTALL -u If you want to manually uninstall all the components or you want to uninstall just one of the components, you should use one or all of the following commands: # rpm -e fibreutils # rpm -e hp_qla2x00 # rpm -e hp_qla2x00src Using the source RPM In some cases, you may have to build a binary RPM (hp_qla2x00) from the source RPM and use that in place of the source code RPM (hp_qla2x00src). You will need to do this if the production servers do not have the kernel sources and gcc installed. If you need to build a binary RPM to install, you will need a development machine with the same kernel as the production servers that you will be deploying to. Then, you can install the binary RPM produced using the usual rpm methods on your production servers. Note that the binary RPM that you build will only work for that kernel and configuration that you build on (possibly some errata kernels). To create the binary RPM from the source RPM do the following: 1. Install the source rpm by issuing the command # rpm -ivh hp_qla2x00--.src.rpm 2. Depending on if you are running a Red Hat or SUSE distribution, change directory to Red Hat: /usr/src/redhat/SPECS SUSE: /usr/src/packages/SPECS 3. Build the RPM by using the rpmbuild command (the rpm command contains the RPM build functionality in some older distributions) using the command: # rpmbuild -bb hp_qla2x00.spec 4. At the end of the command output there should be a line that says "Wrote: ...rpm". This line shows where the binary RPM is. You should copy the binary RPM to the production servers and install it using the command: # rpm -ivh hp_qla2x00--..rpm Contents of hp_qla2x00src The hp_qla2x00src RPM contains the following scripts in the /opt/hp/src/hp_qla2x00src directory in addition to the driver source code. condition_kernel sets the kernel source dependencies to reflect the current running kernel or the specified kernel build_driver builds the QLA driver from source code edit_conf makes the proper edits to system configuration files to imbed the qla2200 and qla2300 modules in the initrd with the proper driver load time parameters make_initrd builds a new initrd using the correct system utilities set_parm sets up the /etc/hp_qla2x00.conf file so that it has the correct driver settings based upon the configuration that the user wants to run and rebuilds the initrd master.sh runs the condition_kernel, build_driver, edit_conf and make_initrd utilities. Useful to compile a new driver when a new kernel is loaded A binary RPM built from the hp_qla2x00 source RPM will contain the edit_conf, make_initrd and set_parm scripts. QLA SDM/HBAAPI Libraries The hp_qla2x00src and hp_qla2x00 RPMs contain the QLA SDM libraries (libqlsdm) for x86(i386) and ia64 architectures. This library can be found in /usr/lib as libqlsdm.so. There is also a readme that comes with the library which is located in /opt/hp/src/hp_qla2x00src or /opt/hp/hp_qla2x00 as readme.libqlsdm. Changing Driver Parameters You can change the parameters of the driver using the set_parm script in either the /opt/hp/src/hp_qla2x00src directory or the /opt/hp/hp_qla2x00 directory (depending upon which RPM you have installed). There are three preset settings: 1. Single Path (-s) you are connected through one path to the storage without any redudany 2. Secure Path (-m) you are using the Secure Path software for multipathing and failover 3. QLogic Failover (-x) you are using the multipathing and failover functionality built into the qla2x00 adapter driver You can also manually set the driver parameters if you invoke set_parm with no arguments and select the manual option from the menu. Note that if you changed the driver parameters, a new initrd has to be build. This is done by the set_parm script by calling the edit_conf and make_initrd scripts. Notes on Upgrading Kernels 1. After you upgrade your kernel and kernel sources, you can compile new qla2200.o and qla2300.o modules for the new kernel without rebooting. You may need to do this as the new kernel that you just installed may not contain the latest supported HP driver. To do this you should a. Go to /opt/hp/src/hp_qla2x00src b. Execute the command "./master.sh -l" to get a list of valid module and source directories c. Choose the set of directories that match your new kernel and enter them with the -s and -m switches of the master.sh script for example: master.sh -s linux-2.4.21-9.EL -m linux-2.4.21-9.ELsmp The script should take care of the rest of the compilation automatically. 2. When you upgrade from an old kernel to a new kernel, you may need to manually remove the entry for qla2300_conf from /etc/modules.conf. Having these entries present in /etc/modules.conf may cause the initrd build to fail because those modules may not come with the new kernel. The entries will be replaced and new qla2200_conf and qla2300_conf modules built when you compile a new driver for the new kernel. Fibre Channel Utilities RPMs The fibre channel utilities RPMs (fibreutils) are a collection of utilities that are used to configure the supported HP HBAs or gather information on them. See the README in /opt/hp/hp_fibreutils for a description of the contents.