This release note and the software that accompanies it are copyright (c) 2016, Intel Corporation or its suppliers, and may only be installed and used in accordance with the license that accompanies the software.

This Software is furnished under license and may only be used or copied in accordance with the terms of that license. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. The Software is subject to change without notice, and should not be construed as a commitment by Intel Corporation or its suppliers to market, license, sell or support any product or technology. Unless otherwise provided for in the license under which this Software is provided, the Software is provided AS IS, with no warranties of any kind, express or implied. Except as expressly permitted by the Software license, neither Intel Corporation nor its suppliers assumes any responsibility or liability for any errors or inaccuracies that may appear herein. Except as expressly permitted by the Software license, no part of the Software may be reproduced, stored in a retrieval system, transmitted in any form, or distributed by any means without the express written consent of Intel Corporation.

==========================
Supported RAID Controllers
==========================
This download provides support for Intel(R) C621, C622, C624 and C628 chipsets with AHCI Capable SATA Controller in Intel(R) Embedded Server RAID Technology 2 (ESRT2) mode.   

This package also includes drivers for other Intel(R) Embedded Server RAID Technology 2 RAID products, but support for those products is on a product by product basis - please see the individual product Tested Hardware and Operating System List (THOL) for support details. The additional products include Intel(R) Embedded Server RAID Technology 2 RAID adapter products (Intel(R) RAID controller SASMF8I and Intel(R) RAID SAS controller AXX4SASMOD); and EPSD Server boards that support ESRT2 on the chipset SATA controller via the ICH9R, ICH10R, S5000 (ESB2), and 3420 PCH chipsets (including S5000PAL, S5000XAL, S5000PSL, S5000XSL, S5000XVN, SC5400RA, S5000VSA, S5000VCL, S5300SF, S5400SF, S5520HC, S5520HCT, S5500HCV, S5520SC, S5500WBV, S5500WB, S5520UR, S5520URT, S5500BC, S3000AHX, S3000AH, S3000AHV, S3200SHX, S3200SHC, S3200SHL, S3200SHV, S3000SHC, X38MLST, S3420GPX, S3420GPC, S3420GP, S3420GPV, S3420GPR, S7000FC4UR, S1200BT, and S1200BTS)


===================
Package Information
===================
Driver Version = v18.01.2017.0105
OS supported =  RHEL6.6/.7/.8, (both x86 & x64 versions for these OS versions)
				RHEL7.0/.1/.2, (x64 versions for these OS versions)
				SLES11sp2/sp3/sp4, (both x86 & x64 versions for these OS versions)
				SLES12GA/sp1/sp2; (x64 versions for these OS versions).

This driver is production release driver set for RAID 0/1/10 and RAID 5 (when enabled).
 
 
==========
Attention!
==========
***See included 'megasr_DUD_readme.txt' or download the 'Software RAID Driver Installation Guide.doc' for latest Linux distribution specific installation requirements. Failure to follow installation instructions may result in an unstable or failed OS installation***


=======================
Contents in the package
=======================
The /DUDs folder includes the .img installation packages for some of the earlier supported Linux variants.

The /ISOs folder includes .iso images for RHEL7.x versions.

The /*_RPM folders includes the .rpm package for installation within the already installed Linux distribution.

The /shim folder includes the partial source files of this driver are also included in the package, which allows for compilation on many Linux distributions not pre-compiled and provided otherwise. However, this does not imply any level of support for the partial source files, the build process, nor for other Linux distributions. These files are all located in the ./shim subdirectory.

This updated driver can be applied using the normal OS installation options.


1 The purpose of this document is to provide clear instructions on how to install OS on drives attached to the Intel(R) Embedded Server RAID Technology II Software RAID device.

2 Prepare Installation disk(s)
2.1 Driver files can be downloaded from http://support.intel.com. 
2.2 Create install disk(s) on USB flash drives or optical media on a separate system.


==================
Known Restrictions
==================
1. May need to type "brokenmodules=ahci" (or "blacklist=ahci") at kernel parameter line (or while loading driver) during SuSE* Linux Enterprise Server 11.x or 12.x and RedHat Enterprise Linux 6.x/7.x installations (if using the AHCI controller for ESRT2 RAID). See included 'megasr_DUD_readme.txt' for latest Linux distribution specific installation requirements

2. Intel(R) ESRT2 v1.60 only supports UEFI boot functionality.

3. RAID 5 feature is enabled only if the appropriate Intel(R) RAID Upgrade Key is present in the system. 

4. RAID 5 is not supported on XEN.

5. There is an OS limitation where SuSE* Linux Enterprise Server may be unable to boot after basic installation. Refer to the following URL for installation guidance. http://www.intel.com/support/motherboards/server/sb/CS-025446.htm

6. Remote driver loading through an Intel(R) Remote Management Module (RMM) may not ensure the successful installation of Operating Systems. If this limitation is encountered, please use local driver loading through a USB Key or Floppy.

7. A RAID 5 logical drive can recover from  a single drive failure by reconstructing missing data from the data and parity contained on the remaining drives. The assumption underlying this ability is that the data in the remaining drives is consistent. This assumption becomes invalid if there is a power loss during write operation(s). If there is a loss of power during a write operation, data inconsistencies may occur because data and parity writes may have completed only partially. After subsequent reboot the logical drive has inconsistent data on that particular stripe. If a drive were to fail at this point, missing data (for the inconsistent stripe alone) cannot be reconstructed from remaining drives. To correct an inconsistency, the drivers starts a back ground initialization (BGI) at reboot. While BGI is in progress, the inconsistent stripe(s) are vulnerable to drive failure. One way to avoid this window of vulnerability is to run check consistency on the logical drive using the BIOS utility. Another way is to prevent an unplanned shutdown (e.g. using UPS).

8. RAID 5, by its very nature, cannot tolerate double failures. The double failure can be a combination of a single drive failure and either; additional drive failures or an unplanned power failure in the RAID system. Unplanned power failures can  include but not be limited to a loss of power  or an unusual system shutdown. Unplanned power failures while there are medium errors on the drives is also considered as a double failure condition.

9. Multiple drive failures would result in a data loss condition. A single drive failure combined with any additional unplanned failure can cause loss of data integrity. To avoid loss of data integrity during a power failure, it is highly recommended to provide an uninterrupted power supply to the server to protect the RAID 5 subsystem during the event of a degraded or rebuilding state. Medium errors on the disks, combined with an unplanned power failure can also cause loss of data integrity, but this occurrence would be very unlikely.


=========================
Installation Instructions
=========================
There are different types of installation possible with the installation package provided. Those are explained in different sections.

-----------------
3.1 OS installation on RAID
-----------------
This mode of installation is selected when user needs to install the Operating system on a fresh RAID configuration. For this kind of installation the driver update disc is used at the starting of the installation and the installer will update the system with driver images for the required kernels. Follow the procedure given below to install Intel(R) Embedded Server RAID Technology II RAID Stack at the time of Installation.

-----------------
3.2 Installing RAID driver as a secondary device - stand alone module.
-----------------
This mode of installation is preferred if RAID device is used as a secondary device.  It requires a manual installation of the RAID driver module at each boot of the system. Follow the procedure below:

1) Create RAID array on on the RAID controller using the RAID BIOS Console Utility. 
2) Boot the OS from primary controller and mount the dud floppy. 
	#mount /dev/fd0 /mnt/floppy.  
3) Unzip modules.cgz file on driver update disc to get driver images for different kernel versions
	#mkdir -p /home/megasr
	#cd /home/megasr
	#cp /mnt/floppy/modules.cgz .
	#gunzip -S .cgz  modules.cgz
It will generate a new file called modules.
	#cpio -ivd < modules

4) Load scsi mid layer modules and Install megasr driver for running kernel 
	#modprobe scsi_mod 
	#cd /home/megasr
	#insmod <running kernel>/megasr.o

-----------------
3.3 Installing RAID driver as a secondary device - built into initrd image
-----------------
This is preferred if RAID controller is used as a secondary device.  Here megasr driver will be build with the initrd image and there is no need to do insmod at every reboot of the system. 

1) Create RAID array on RAID Controller using Intel Embedded RAID Technology II RAID BIOS Console Utility. 
2) Boot the OS from primary controller/Disk.
3) Mount the dud floppy. #mount /dev/fd0 /mnt/floppy
4) Unzip modules.cgz file in driver update disc to get driver images for different kernel versions

	#mkdir -p /home/megasr
	#cd /home/megasr
	#cp /mnt/floppy/modules.cgz .
	#gunzip -S .cgz  modules.cgz
It will generate a new file called  modules.
	#cpio -ivd < modules

5) Install megasr driver module
	#cd /home/megasr
	#cp <kernel version>/megasr.o  /lib/modules/<kernel version>/update/megasr.o
6) Create megasr driver Entry in Configuration file. RedHat configuration file is /etc/modules.conf. If megasr entry is not present in /etc/modules.conf add following line.
	alias  scsi_hostadapter megasr
then run this command:
      #depmod <kernel version>
7) Create new initrd image for the required kernel. RedHat uses mk_initrd utility to create initrd image  following command will create an initrd image for RedHat EL4.0   kernel  in boot directory. See mk_initrd man page more information
8) Modify lilo.conf/grub.conf  file. Add newly created initrd(s) as a new entries in /etc/lilo.conf file. The best suggested method is to copy an existing lilo entry in the file and  past it as a new one. Then modify its kernel image name, initrd image name and label name.
	Sample Lilo Entry
		image=/boot/vmlinux-<kernel version>
		label=linux-new
		initrd=/boot/initrd-<kernel version>.img.new
		read-only
		appened="root=LABEL=/"

	Sample Grub Entry
		title Red Hat Linux (<kernel version> with megasr driver)
		root (hd0,0)
		kernel /vmlinuz-<kernel version> ro root=LABEL=/ 
		initrd /initrd-<kernel version>.img.new 
9) Update boot loader. If the boot loader is Lilo run lilo command to update boot loader
	#lilo
10) Reboot the system to the new initrd entries.

-----------------
3.4 Updating RAID driver on already installed system
-----------------
This method is used to update megasr driver in a system, which is already installed with an older driver version. Here this procedure explains the manual process of updating the driver.  Follow the steps given to update driver.

1) Create RAID array on RAID Controller using Intel Embedded RAID Technology II RAID BIOS Console Utility.
2) Boot the OS from primary controller/Disk.
3) Mount the dud floppy. 
	#mount /dev/fd0 /mnt/floppy
4) Unzip modules.cgz file in driver update disc to get driver images for different kernel versions  
	#mkdir -p /home/megasr
	#cd /home/megasr
	#cp /mnt/floppy/modules.cgz .
	#gunzip -S .cgz  modules.cgz
It will generate a new file called  modules.
	#cpio -ivd < modules

5) Update megasr driver module for the  required kernels.
	#cd /home/megasr
	# cp <kernel version>/megasr.o  /lib/modules/<kernel version>/update/megasr.o
6) Create megasr driver Entry in Configuration file. RedHat configuration file is /etc/modules.conf. If megasr entry is not present in /etc/modules.conf add following line.
	alias  scsi_hostadapter megasr
then run this command:
      #depmod <kernel version>
7) Create new initrd image for the required kernel. RedHat uses mk_initrd utility to create initrd image following command will create an initrd image for  RedHat EL4.0   kernel  in boot directory. See mk_initrd man page more information
	#mkinitrd /boot/initrd-<kernel version>.img.new <kernel version>
8) Modify lilo.conf/grub.conf  file. Add newly created initrd(s) as a new entries in /etc/lilo.conf file. The best suggested method is to copy an existing lilo entry in the file and  past it as a new one. Then modify its kernel image name, initrd image name and label name.
	Sample Lilo Entry
		image=/boot/vmlinux-<kernel version>
		label=linux-new
		initrd=/boot/initrd-<kernel version>.img.new
		read-only
		appened="root=LABEL=/"

	Sample Grub Entry
		title Red Hat Linux (<kernel version> with megasr driver)
		root (hd0,0)
		kernel /vmlinuz-<kernel version> ro root=LABEL=/ 
		initrd /initrd-<kernel version>.img.new
9) Update boot loader. If the boot loader is Lilo run lilo command to update boot loader
	#lilo
10) Reboot the system to the new initrd entries.


================
Fixes/Updates
================
Version 18.01.2017.0105 (SWR 1.60 GA)

1. Initial public release

Note: For more information of fixes and updates, please contact your Intel Sales Representative.


*Other names and brands may be claimed as the property of others.