ARECA SATA RAID CONTROLLER ARC11XX/ARC12XX OpenSUSE10.2, x86_64/i386(DVD/VCD), kernel 2.6.18.2-34 ============= Driver User's Guide =============== =================================================== Linux SCSI driver technical support Mail address:support@areca.com.tw Tel: 886-2-8797-4060 Fax: 886-2-8797-5970 Web site: www.areca.com.tw =================================================== =================================================== *************************************************************************** **1. Release Contents ********* *************************************************************************** I. readme.txt - The readme file for ARC11XX/ARC12XX Linux scsi raid driver II. arcmsr.1.20.0x.13.zip - Source code (arcmsr.c, arcmsr.h, Makefile) III. install.zip - Ziped dirver modules disk (dd) image file "driver.img" **************************************************************************** **2. OpenSUSE 10.2 Installation ********* **************************************************************************** A. Before Installation - Under DOS/Windows environment a. Unzip "install.zip" X:\PATH\pkunzip.exe install.zip =>> driver.img b. Dump it into a floppy disk. X:\PATH\rawrite.exe driver.img A: Tips: You can get rawrite.exe from openSUSE 10.2. Installation DVD/VCD disk 1 B. openSUSE installation start...boot from DVD/VCD a. Press "F5" for "Driver Update". b. Select "Installation" to install the openSUSE 10.2 c. Insert the driver disk to floppy drive. d. When the message: "Please choose the driver update medium" pop-up, it means Now, your areca raid driver is working for your raid volume. And you can see all your raid volumes appear on "SuSE medium list". Please click "Back" for back to normal installation console. e. Please follow SuSE's installation procedure to install your system. P.S. : Once you attempt to update your kernel. You should work on old kernel and install new kernel source tree. Please follow linux kernel make procedure and add areca raid driver source for new kernel build. **************************************************************************** ** 3. Installing raid driver on an Existing System ********* **************************************************************************** CASE 1: if you do not attempt to compile driver source Insert the driver disk to floppy drive. # mount /media/floppy # cd /media/floppy # sh patch.x86_64(patch.i386) # cd / # umount /media/floppy # reboot CASE 2: if you need to compile linux kernel drivers source P.S: You must install your Linux system by developmental environment and include kernel source first, in other words you should select the adequate packages on the menu list. First of all, please copy "arcmsr" source code folder to /usr/src/linux/drivers/scsi/ There are two ways to build the arcmsr driver. A. In-tree build ================ a. Copy the `arcmsr' directory to $KSRC/drivers/scsi, then manually edit the following two files to add the options necessary to build the driver: b. Add the following line to $KSRC/drivers/scsi/Makefile: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ obj-$(CONFIG_SCSI_ARCMSR) += arcmsr/ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ c. Add the following block to $KSRC/drivers/scsi/Kconfig: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ config SCSI_ARCMSR tristate "ARECA ARC11X0[PCI-X]/ARC12X0[PCI-EXPRESS] SATA-RAID support" depends on PCI && SCSI help This driver supports all of ARECA's SATA RAID controllers cards. This is an ARECA maintained driver by Erich Chen. If you have any problems, please mail to , please contact < http://www.areca.com.tw > < ftp://ftp.areca.com.tw > To compile this driver as a module, choose M here: the module will be called arcmsr. config SCSI_ARCMSR_MSI bool "Use PCI message signal interrupt" depends on PCI_MSI && SCSI_ARCMSR default n help If you say Y here. You will enable PCI Message signaled Interrupts function, but some machines may have problems. If you get abort command on driver initialize, you have to answer Y here. If the IRQ problem even worse, please report the problem to the maintainer. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ d. # cd /usr/src/linux # make mrproper # make menuconfig (or make xconfig, make gconfig, make menuconfig) e. Now configure and build your kernel as you usually do, paying attention to select the Device Drivers -> SCSI device support -> SCSI low-level drivers -> ARECA SATA RAID Host Controller option. f. Please do "Load an Alternate Configuration File" from /boot/config-2.6.18.2-34-xxxx.... g. If you need to change your own kernel version(Release number,Configuration), Please from entry "Build options"....... h. Please check ARECA RAID driver.... "ARECA ARC11XX/ARC12XX/ARC13XX/ARC16XX SATA/SAS RAID support" i. # make # make modules_install Case 1: if your system is single processor and no hyper-threading # cp -f ./arch/x86_64(or i386)/boot/bzImage /boot/vmlinuz-2.6.18.2-34-default B. Out-of-tree build ==================== This option is particularly useful if you are running a stock kernel supplied by your Linux distributor, or for other reason do not want to perform a full kernel build. Please note that this way you will only be able to build a module version of the arcmsr driver; also note that you will need at least the headers and configuration file your current kernel was built with. Provided that you meet all the above prerequisites, building the arcmsr driver module is done with the following command: # cd arcmsr # make -C /lib/modules/`uname -r`/build CONFIG_SCSI_ARCMSR=m SUBDIRS=$PWD modules # insmod arcmsr.ko C. Make an initrd image: ======================== a. Edit file /etc/sysconfig/kernel @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .. ... INITRD_MODULES="arcmsr reiserfs" # add this context description ... .. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ b. # mkinitrd # reboot P.S: If you do'nt overwrite default kernel. You can edit /boot/grub/menu.lst. You can do your own kernel and ramdisk image in case that you have made incorrect kernel.