Linux RHEL 4.0 MegaRAID EM64T Driver Version 2.20.4.4 Contents 1.0 Supported RAID Controllers 1.1 Compatible Firmware Versions 2.0 Install Instructions 2.1 Downloading and Creating the Driver Disk 2.2 Installing the Driver for the PERC 2.2.1 Updating the Driver Using RPM After OS is Installed 2.2.2 Creating a Megaraid Driver Update Disk (DUD) Using DKMS 2.2.3 Installing the Driver Using a Driver Update Disk During OS Installation 2.2.4 Using DKMS to Create and Install a Megaraid Driver RPM Package 2.2.5 Updating the Driver Using DKMS After OS is Installed or Updated 2.2.6 Uninstalling the Driver 3.0 Fixes and Enhancements 4.0 Important Information 5.0 Additional Information 6.0 Release History ============================== 1.0 Supported RAID Controllers ============================== This driver supports the following controllers: PERC 4e/Di, 4e/Si, 4e/DC PERC 4/DC, 4/SC 1.1 Compatible Firmware Versions ================================ This device driver is compatible with the following firmware versions: Controller Minimum Recommended Description Firmware Level PERC 4/SC 351Q PERC 4 Single Channel PERC 4/DC 351Q PERC 4 Dual Channel PERC 4e/Di 521Q PERC 4e Integrated on PE 2800, 2850, 6800, 6850 PERC 4e/Si 521Q PERC 4e Integrated on PE 1850 PERC 4e/DC 521Q PERC 4e Dual Channel ======================== 2.0 Install Instructions ======================== Installation Options -------------------- 1. Install the OS with the assistance of the DSA CD: The Dell Server Assistant CD helps simplify Linux OS installation and ensures a supported Dell storage driver is loaded when installing Red Hat Enterprise Linux. 2. Upgrade the driver after the OS is installed: In many cases, it is possible to install the OS using the PERC driver that shipped with Red Hat Enterprise Linux. Once installation is complete, the driver should be upgraded to the latest PERC driver available on http://support.dell.com. See Section 2.2.1 to upgrade the driver after the OS is installed. 3. Install the driver during OS installation: Not every Red Hat Enterprise Linux kernel ships with drivers that support all Dell PERC controllers. When installing one of these kernels, a Driver Update Disk should be created using the procedure described in Section 2.2.2. This Driver Update Disk is used to load the PERC driver during OS installation as outlined in Section 2.2.3. For more detailed installation instructions of Red Hat, please refer to the OS installation guide at http://www.dell.com/linux. 2.1 Downloading and Creating the Driver Disk ============================================ The disk created in this section is used to install Dell drivers for PERC controllers when running RHEL 4.0. It includes the megaraid RPM which contains compiled binary drivers for the following kernels. RHEL 4.0 - 2.6.9-5.EL - 2.6.9-5.ELsmp The kernel versions mentioned above are Dell supported kernels. For all other kernels, the driver can be automatically compiled and installed using the procedure outlined in Section 2.2.1. NOTE: The disk created in this section is not a Driver Update Disk (DUD) that may be used during OS installation. To create a Driver Update Disk, see Section 2.2.2. The user will need a formatted 3 1/2 inch floppy disk for the following procedure. 1. Download the file perc-EM64T-2.20.4.4-A01.tar.gz to a temporary directory on your working system. 2. Extract the file to the floppy disk: Type the following commands from a Linux command shell: mount /dev/fd0 /media/floppy tar xvzf (full path to the archive) -C /media/floppy (Eg: /tmp/perc-EM64T-2.20.4.4-A01.tar.gz) umount /media/floppy NOTE: The floppy drive in the system may not be enumerated as fd0. For example, a USB floppy drive may have a device name such as /dev/sda. Determine the device name for the floppy drive and substitute fd0 with the proper device name in the command above. NOTE: Winzip does not extract the driver files correctly under Microsoft Windows. 2.2 Installing the Driver for the PERC ====================================== 2.2.1 Updating the Driver Using RPM After OS is Installed ========================================================= This procedure installs the megaraid and DKMS RPM packages contained in this Dell driver release. 1. Create the driver disk by following the steps in Section 2.1. 2. Type the following commands under a Linux command shell: mount /dev/fd0 /media/floppy cd /media/floppy source install.sh NOTE: The floppy drive in the system may not be enumerated as fd0. For example, a USB floppy drive may have a device name of /dev/sda. Determine the device name for the floppy drive and substitute fd0 with the proper device name in the command above. 3. Reboot the system for the changes to take effect. NOTE: The megaraid module is only installed for the kernel currently running. 2.2.2 Creating a Megaraid Driver Update Disk (DUD) Using DKMS ============================================================= Red Hat Enterprise Linux 4.0 kernels support all PERC controllers listed in Section 1.0 of this document. Dell recommends installing the Operating System using the driver that ships with RHEL 4 and then upgrading to the latest Dell driver version after installation is complete. Section 2.2.1 shows how to upgrade the megaraid driver after OS installation. If the user wants to load and install the Dell driver during OS installation, a Driver Update Disk (DUD) must be created. To build a Driver Update Disk, the following prerequisite packages must be installed: - The megaraid and DKMS RPM included in this driver package (see Section 2.2.1) - Kernel package for the kernel in question - Kernel building tools such as gcc Perform the following procedure to create a Driver Update Disk using DKMS: 1. The Driver Update Disk must contain the compiled driver module for the uP kernel in order to correctly load the Dell driver during RHEL 4.0 installation. In order to install the Dell driver for other kernels during OS installation, the compiled driver modules for these kernels must also be included on the Driver Update Disk. To create a DUD image for one or multiple kernel versions, first build the driver module for these kernels using the following commands: # dkms build -m megaraid -v -k Where is the version of the megaraid driver. E.g. v2.20.4.4 Where is the kernel version. E.g. 2.6.9-5.EL Repeat the DKMS build command for each kernel version to be included on the DUD. NOTE: The user may see informational messages during the build process if a pre-existing module was already built for a particular kernel. 2. Once the driver modules are ready, type the following command in any directory: # dkms mkdriverdisk -d redhat -m megaraid -v -k -k Where is the version of the megaraid driver. E.g. v2.20.4.4 Where is the kernel version. E.g. 2.6.9-5.EL This starts the process to create a megaraid DUD (Driver Update Disk) image. After the operation is complete, the DUD image is found in the DKMS tree for megaraid driver. 3. Transfer the contents of the DUD image file to a floppy disk. # dd if=DUD_image_filename of=/dev/fd0 NOTE: The floppy drive in the system may not be enumerated as fd0. For example, a USB floppy drive may have a device name of /dev/sda. Determine the device name for the floppy drive and substitute fd0 with the proper device name in the command above. 2.2.3 Installing the Driver Using a Driver Update Disk During OS Installation ============================================================================= Instructions for Red Hat Linux 4.0 ---------------------------------- 1. Boot normally from the Red Hat installation CD-Rom. 2. Type 'expert noprobe dd' on the boot prompt. 3. At the "Do you have a driver disk" screen, select Yes. 4. At the "Driver Disk Source" screen, select fd0 (for floppy) 5. At the "Insert Driver Disk" screen, insert the driver disk created above and select OK to continue. 6. At the "Error - No devices of the appropriate type were found..." screen, select "Manually choose". 7. Scroll down and select the "LSI MegaRAID Driver v2.20.4.4 (megaraid_mbox)" driver. 8. Select any additional devices in your system manually. 9. Complete the installation as directed by the install. NOTE: USB floppy drives may not be detected by the OS installer when using the 'noprobe' option in Step 2. In this case, type 'expert dd' instead. Select sda at Step 4. The installer will scan the Driver Update Disk and automatically load the drivers for any supported PERC controllers. 2.2.4 Using DKMS to Create and Install a Megaraid Driver RPM Package ==================================================================== DKMS can be used to generate a megaraid driver RPM package containing driver binary modules for multiple kernel versions. To create a new megaraid driver RPM package, the following prerequisite packages must be installed: - The megaraid and DKMS RPM included in this driver package (see Section 2.2.1) - Kernel package for the kernel in question - Kernel building tools such as gcc 1. Add module source into DKMS tree. # dkms add -m megaraid -v Where is the version of the megaraid driver. E.g. v2.20.4.4 2. Build driver module for all kernel versions to be packaged. # dkms build -m megaraid -v -k Where is the version of the megaraid driver. E.g. v2.20.4.4 Where is the kernel version. E.g. 2.6.9-5.EL Repeat the DKMS build command for each kernel version to be packaged. NOTE: The user may see informational messages during the build process if a pre- existing module was already built for a particular kernel. 3. Create driver RPM package for all kernel versions to be packaged. # dkms mkrpm -m megaraid -v -k -k -k Where is the version of the megaraid driver. E.g. v2.20.4.4 Where is the kernel version. E.g. 2.6.9-5.EL 4. Install the RPM package on the designated system: # rpm -Uvh Note: Dynamic Kernel Module Support must be installed in order to install the new megaraid driver RPM package. The DKMS package can be found on the diskette created in Section 2.1. Note: During RPM installation, any kernel on the system that has a matching precompiled module in the RPM will have the driver module installed into the module tree for that kernel. If the RPM does not have a precompiled module for the kernel that is running during RPM installation, the RPM will kick off a module build and install it for that kernel. For non-running kernels that do not have matching precompiled modules in the RPM, the user must perform a DKMS build and install manually. 2.2.5 Updating the Driver Using DKMS After OS is Installed or Updated ===================================================================== NOTE: The DKMS package is necessary to install the driver in the following scenarios: 1. When multiple kernel versions co-exist on the same system and the user wants to install the driver for the non-running kernel versions (assuming the driver RPM package does not contain such driver modules). 2. If the kernel is updated after installing the megaraid driver and the user wants to install the megaraid driver for the updated kernel. To build the megaraid driver for any kernel, the following prerequisite packages must be installed: - The megaraid and DKMS RPM included in this package (see Section 2.2.1) - Kernel package for the kernel in question - Kernel building tools such as gcc 1. Add module source into the DKMS tree. # dkms add -m megaraid -v Where is the version of the megaraid driver. E.g. v2.20.4.4 2. Build driver module for the kernel to be installed. # dkms build -m megaraid -v -k Where is the version of the megaraid driver. E.g. v2.20.4.4 Where is the kernel version. E.g. 2.6.9-5.EL Note: If kernel version is not specified on command line, the module will only be built for the current running kernel. 3. Install the driver module. # dkms install -m megaraid -v -k Where is the version of the megaraid driver. E.g. v2.20.4.4 Where is the kernel version. E.g. 2.6.9-5.EL Note: If kernel version is not specified on command line, the module will only be installed for the current running kernel. 4. Check DKMS status. # dkms status Should show the module is installed in the specific kernel version. 5. Reboot into that kernel for the changes to load the driver module. Refer to the DKMS man page for more information. # man dkms 2.2.6 Uninstalling the Driver ============================= If this driver has been installed using the RPM as described in Section 2.2.1, it can be uninstalled with the following command: # rpm -e megaraid If this driver has been installed using DKMS as described in Section 2.2.5, it can be uninstalled with the following command: # dkms uninstall -m megaraid -v -k This will uninstall the megaraid driver from the specific kernel version. If no kernel version is specified, the current running kernel is assumed. Reboot the system after the completion of the commands for the changes to take effect. ========================== 3.0 Fixes and Enhancements ========================== Initial Release of Linux RHEL 4.0 MegaRAID EM64T Driver. =================== 4.0 Important Notes =================== - This driver update package only contains support for EM64T based processors. - A warning message is encountered when a logical disk is configured without a partition. After Linux OS installation or any action that causes system devices to be scanned, the user will see the following warning message right after the login screen: "megaraid: invalid partition on this disk on channel 0" This message will disappear once a partition is created on all logical drives or if the logical drive without a partition is deleted. - A warning message is seen if errata kernel RPMs are installed after installing the megaraid driver. The following message is printed: "No module megaraid found for kernel x.y.z-p" This message is seen because the /etc/modprobe.conf file specifies that the megaraid driver is to be added to the initial RAM disk (initrd), but the driver is not yet built and installed for the kernel by DKMS. To boot from this kernel, the megaraid driver should be built and installed for the kernel as described in Section 2.2.5 and then adding the line: initrd /initrd-x.y.z-p.img to /etc/grub.conf in the stanza for the kernel version installed. - During the fresh Linux installation, the operating system cannot determine drive/device order information based on system BIOS settings. This may lead to undesired drive/device orderings during the install. It is recommended to perform the install with only the target hard drives and storage controller present that the user intends to install to, then later add the additional storage controllers and hard drives to the system once the installation is complete. ========================== 5.0 Additional Information ========================== dkms-2.0.5-1.noarch.rpm - Dynamic Kernel Module Support utility (DKMS) install.sh - Installation script license.txt, GPL - License information megaraid-v2.20.4.4-2dkms.x86_64.rpm - Megaraid binary and source RPM with DKMS support perc-EM64T-2.20.4.4-A01.txt - This document README.dkms - Documentation for DKMS =================== 6.0 Release History =================== Initial Release of Linux RHEL 4.0 MegaRAID EM64T Driver.