FILE NAME: hp-be2iscsi-2.102.435.0-1.src.rpm TITLE: HP NC-Series Emulex 10GbE iSCSI Driver for Linux VERSION: 2.102.435.0 RELEASE: 1 LANGUAGE: English CATEGORY: Software DIVISIONS: Enterprise and Mainstream Servers PRODUCTS AFFECTED: HP StorageWorks CN1000E Dual Port Converged Network Adapter HP NC551m Dual Port FlexFabric 10Gb Adapter HP NC551i Dual Port FlexFabric 10Gb Adapter HP NC553i 10Gb 2-port FlexFabric Converged Network Adapter OPERATING SYSTEM: Red Hat Enterprise Linux 5 AS/ES for AMD64/EM64T Red Hat Enterprise Linux 5 AS/ES for x86 SUSE LINUX Enterprise Server 11 for AMD64/EM64T SUSE LINUX Enterprise Server 11 for x86 SUSE LINUX Enterprise Server 10 for AMD64/EM64T SUSE LINUX Enterprise Server 10 for x86 PREREQUISITES: ProLiant server supporting one of the above operating systems 256MB RAM minimum Latest HP System ROM Build Environment Setup NOTE: Visit the following URL to download the latest System ROM http://welcome.hp.com/country/us/en/support.html Select "Download drivers and software (and firmware)" EFFECTIVE DATE: 08/09/2010 SUPERSEDES: 2.102.266 DESCRIPTION: This RPM contains the HP Tested and Approved Linux be2iscsi driver for use with the Server Adapters mentioned in the PRODUCTS AFFECTED section of this document. ENHANCEMENTS/FIXES: Initial release Table of Contents ================= Introduction Packaging Build Environment Setup Installing the RPM Package Uninstalling the RPM Package Caveats Introduction ============ This file describes the Linux driver for the HP NC-Series ServerEngines Adapters mentioned in the PRODUCTS AFFECTED section of this document. User guides and additional HP Network Adapter information can be found at: http://h18004.www1.hp.com/products/servers/networking/index-nic.html Packaging ========= The driver is released in a KMP (Kernel Module Packaging) source RPM format. KMP packages uses macros that determine which kernel flavors are installed on the machine and builds binary packages for each flavor found. The file name for the package is hp-be2iscsi-.src.rpm. Please read the "Build Prerequisites" and "Installing the RPM Package" sections for steps to build the source and binary RPMs. Build Environment Setup ======================== The be2iscsi driver requires the presence of some packages that provide the right build environment. These packages provide kernel headers, makefiles and symbol files, though the last one is suggested only on SLES distributions. Red Hat installation: The redhat-rpm-config package is required to be installed so that KMP source RPMs can be built. See the "Caveats" section below for more details. In addition, the associated kernel-devel package needs to be installed for each flavor requiring a kernel module. Ex: kernel-2.6.18.92.el5 would require kernel-devel-2.6.18-92.el5 kernel-PAE-2.6.18.92.el5 would require kernel-PAE-devel-2.6.18-92.el5 Note: The kernel-devel package is also required on OS's that do not have the base kernel installed. See the "Caveats" section below for more details. SUSE SLES Installation: Make sure that kernel-source and kernel-syms packages are installed. kernel-syms package contains symbol versions for the all the flavors that the distribution supports. Installing the RPM Package ============================= 1. Verify that the required header and symbol files are installed - see Build Prerequisites above. 2. Install the source RPM package. # rpm -ivh hp-be2iscsi-.src.rpm 3. Build the binary RPM for the be2iscsi driver. Red Hat Installation: # cd /usr/src/redhat # rpmbuild -bb SPECS/hp-beiscsi.kmp.spec SLES Installations: # cd /usr/src/packages # rpmbuild -bb SPECS/hp-beiscsi.kmp.spec NOTE: Red Hat 5 x86 installations require the "--target" switch when building on Intel compatible machines. Please see the "Caveats" section below for more details. #rpmbuild --target=i686 -bb SPECS/hp-beiscsi.kmp.spec NOTE: One can also build a binary RPM for the specfied kernel flavor as below #rpmbuild --target=i686 -bb SPECS/hp-beiscsi.kmp.spec \ --define "KVER " 4. Check for the existence of a current version of the be2iscsi package as follows: Red Hat # rpm -q kmod-hp-be2iscsi- SLES # rpm -q hp-be2iscsi-kmp- If an old version of the package exists, the RPM package should be removed. Red Hat # rpm -e kmod-hp-be2iscsi- SLES # rpm -e hp-be2iscsi-kmp- Remove be2iscsi # rmmod be2iscsi Verify that the old be2iscsi package has been removed as follows: Red Hat # rpm -q kmod-hp-be2iscsi- SLES # rpm -q hp-be2iscsi-kmp- 5. Install the new binary RPM package. Red Hat # rpm -ivh RPMS//kmod-hp-be2iscsi--..rpm The be2iscsi.ko module is installed in the following directory: /lib/modules//extra/hp-be2iscsi Note:The "--nodeps" switch is required when installing to RedHat EL5 Update 4 and Update 5. See the "Caveats" section below for more details. # rpm -ivh \ RPMS//kmod-hp-be2iscsi--..rpm --nodeps SLES # rpm -ivh RPMS//hp-be2iscsi-kmp--..rpm The be2iscsi.ko module is installed in the following directory: /lib/modules//updates/hp-be2iscsi 6. Ensure that the /etc/modprobe.conf file is configured similar to the example listed below. alias scsi_hostadpater1 be2iscsi For SLES, the configuration file is /etc/modprobe.conf.local Note: If the above entry does not exist, add it in the configuration file. 7. Reboot your server. Upon reboot the be2iscsi driver should be loaded. verify by executing the below command. # lsmod If be2iscsi is listed then the be2iscsi driver loaded. Uninstalling the RPM Package ============================= The following command will uninstall the RPM. Red Hat # rpm -e kmod-hp-be2iscsi- SLES # rpm -e hp-be2iscsi-kmp- Caveat ============ 1. The rpmbuild will fail the dependency check when building the non-base (xen,pae,etc) kernel when the kernel-devel package is not installed. Example: If the OS only included the PAE kernel then the user would need to install the kernel-pae-devel and kernel-devel packages. 2. The use of a "--target" switch is required so that rpmbuild does not try to find an i386 kernel on the system. If the "--target" switch is not used then the build will fail with bizarre messages stating that specific kernel packages are not installed on the machine yet these pacakges do not exist. 3. The rpmbuild will fail if the redhat-rpm-config package is not installed because it cannot resolve the %kernel_module_package_buildreqs macro. The error will be similar to the following: error: line xx: Dependency tokens must begin with alpha-numeric,'_'or'/': BuildRequires: %kernel_module_package_buildreqs 4. RPM uses KMP packaging dependency data to ensure the dependencies are met before installing the binary RPM. Red Hat maintains a whitelist of kernel symbols which RPM uses to validate against the KMP binaries. Some symbols may be in the kernel but not on the whitelist which results in a failed binary RPM install. The user will need to use the "--nodeps" switch when installing the binary. The be2iscsi packaged drivers uses the following symbols on RedHat EL5 Update 4 and Update 5 that are not on the whitelist: ksym(pci_enable_msi) ksym(pci_disable_msi) (C) Copyright 2010 Hewlett-Packard Development Company, L.P. Product names mentioned herein may be trademarks and/or registered trademarks of their respective companies.