ARECA SATA RAID CONTROLLER ARC11XX/ARC12XX , Driver Ver. 1.20.0X.12 RedHat Linux Advance Server 3.0, x86_64 edition, kernel 2.4.21-4.EL =================== Driver User's Guide ======================= Linux SCSI driver technical support mail address: erich@areca.com.tw Tel: 886-2-8797-4060 Ext.203 Fax: 886-2-8797-5970 Web site: www.areca.com.tw ================================================================= ********************************************************************** ** 1. Contents ** ********************************************************************** readme.txt - (This file)The readme file for ARC11XX/ARC12XX RedHat Linux scsi raid driver arcmsr.1.20.0X.12.zip - Source code (arcmsr.c, arcmsr.h, Makefile) install.zip - Ziped dirver disk(dd) image file driver.img ********************************************************************** ** 2. First-time installation ** ********************************************************************** A. Before Installation - Under DOS/Windows environment a. Unzip driver disk X:\PATH\pkunzip.exe install-xxxx.zip =>> driver.img b. Dump it into a floppy disk. X:\PATH\rawrite.exe driver.img A: Tips: You can get rawrite.exe from RedHat Enterprise Linux Advance Server 3.0 installation CD #1 "\dosutils" directory. - Under Unix enviroment a. # unzip install.zip b. # dd if=driver.img of=/dev/fd0 B. Installation a. Booting from Installation CDROM #1 or boot disk made by yourself(boot.img is under \images directroy of Installation disk one) b. On "Welcome to Red Hat Linux" installation screen, a prompted lable "boot:" will appear at the bottom of the screen. According to the prompt, type in "text(or linux) dd" to tell linux we have a driver disk. c. You will be asked "Do you have a driver disk?", select "Yes". d. When prompted "Insert your driver disk and press OK to continue", insert the driver diskette in the floppy drive and then select "OK". e. Driver of arcmsr should be automaticlly loaded into kernel. The kernel will find RAID Volume connected to you raid card, and continue installing your system... ********************************************************************** ** 3. Installing raid driver on an Existing System. ** ********************************************************************** CASE 1: if you do not attempt to compile driver source $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$ extract arcmsr.o from install.zip $$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ # mkdir /root/tmp # unzip install.zip # dd if=driver.img of=/dev/fd0 # mount /dev/fd0 /mnt # cp /mnt/modules.cgz /root/tmp # cd /root/tmp # gzip -cd modules.cgz > modules.cpio # cat modules.cpio | cpio -i -d ; you can get arcmsr.o from 2.4.21-4.EL ,2.4.21-4.ELsmp You can use insmod to install ARECA RAID driver arcmsr.o manually # insmod ./arcmsr.o or copy arcmsr.o to /lib/modules/2.4.21-4.EL/kernel/drivers/scsi/ Make new initrd image An initrd image is needed for loading your SCSI module at boot time. So you need update your initrd image..... Insert and add this context description into /etc/modules.conf Example: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ...... @ alias scsi_hostadapter arcmsr <----add this context description @ ...... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Build up a new initrd image. we assum your kernel version is 2.4.21-4.EL. # mkinitrd -f -v /boot/initrd-2.4.21-4.EL.custom.img 2.4.21-4.EL Insert and add this context description into /boot/grub/grub.conf Example: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ...... @ title Red Hat Linux (2.4.21-4.EL) @ root (hd0,0) @ kernel /vmlinuz-2.4.21-4.EL ro root=/dev/sda2 @ initrd /initrd-2.4.21-4.EL.img @ @ title Red Hat Linux (2.4.21-4.EL)custom <----add this context description @ root (hd0,0) <----add this context description @ kernel /vmlinuz-2.4.21-4.EL ro root=/dev/sda2 <----add this context description @ initrd /initrd-2.4.21-4.EL.custom.img <----add this context description @ ...... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ CASE 2: if you need to compile linux kernel drivers source $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$ Method for recompile linux kernel source kernel $$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ A. Prepare for make new kernel and drivers a. You need create a short link 'linux' in /usr/src directory first. #ln -s linux-2.4 linux b. unzip arcmsr.1.20.0X.12.zip c. Depended on your kernel version, copy the properly folder (arcmsr) to /usr/src/linux/drivers/scsi B. Modify make and config files In /usr/src/linux/drivers/scsi/Makefile @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ... @ .... @ subdir-$(CONFIG_SCSI_ARCMSR) += arcmsr @ obj-$(CONFIG_SCSI_ARCMSR) += arcmsr/arcmsr.o @ ... @ .. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ In /usr/src/linux/drivers/scsi/Config.in @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ... @ .... @ if [ "$CONFIG_PCI" = "y" ]; then @ dep_tristate 'ARECA ARC11X0[PCI-X]/ARC12X0[PCI-EXPRESS] SATA-RAID support' CONFIG_SCSI_ARCMSR $CONFIG_SCSI @ fi @ .... @ ... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ C. Make new kernel # cd /usr/src/linux # make mrproper # make config (or make oldconfig,xconfig...) Tips: Say "M" means configure this driver as a module. ;When prompt for "SCSI support" say "Y" or "M". ;When prompt for "SCSI disk support" say "Y" or "M". ;When prompt for "SCSI tape support" say "Y" or "M". ;When prompt for "SCSI CD-ROM support" say "Y" or "M". ;When prompt for "SCSI generic support" say "Y" or "M". ;When prompt for "ARECA ARC11X0[PCI-X]/ARC12X0[PCI-EXPRESS] SATA-RAID support" ;say "Y" or "M" # make dep # make clean # make bzImage # make modules # make modules_install # cp ./arch/x86_64/boot/bzImage /boot D. Modify boot loader configuration files. ################################# ## If you using LILO to boot up## ################################# I. Edit /etc/lilo.conf file as follow... Example: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ... @ image = /boot/vmlinuz @ root = /dev/sda1 @ label = linux @ read-only @ @ image = /boot/bzImage <--- add this context description @ root = /dev/sda1 <--- add this context description @ label = arcmsr <--- add this context description @ read-only <--- add this context description @ ... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ II. Make an initrd image NOTICE: If your low-level drivers are module, going on, otherwise, jump to step III An initrd image is needed for loading your SCSI module at boot time. So you need make your own initrd image..... Insert a add this context description into /etc/modules.conf Example: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ...... @ alias scsi_hostadapter arcmsr <---- add this context description @ ...... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Build up a new initrd image. we assum your kernel version is 2.4.21-4.ELcustom. # mkinitrd -f -v /boot/initrd-2.4.21-4.ELcustom.raid.img 2.4.21-4.ELcustom Insert a add this context description into /etc/lilo.conf Example: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ... @ image = /boot/vmlinuz @ root = /dev/sda1 @ label = linux @ read-only @ @ image = /boot/bzImage @ root = /dev/sda1 @ label = arcmsr @ read-only @ initrd = /boot/initrd-2.4.21-4.ELcustom.raid.img <---add this context description @ ... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ III. Update lilo # lilo ################################## ## If you using Grub to boot up ## ################################## I. Modify /boot/grub/grub.conf Example: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ...... @ title Red Hat Linux (2.4.21-4.EL) @ root (hd0,0) @ kernel /vmlinuz-2.4.21-4.EL ro root=/dev/sda2 @ initrd /initrd-2.4.21-4.EL.img @ @ title Red Hat Linux (2.4.21-4.EL)custom <----add this context description @ root (hd0,0) <----add this context description @ kernel /bzImage ro root=/dev/sda2 <----add this context description @ ...... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ II. Make an initrd image NOTICE: If your low-level drivers are module, go through, otherwise, skip. An initrd image is needed for loading your SCSI module at boot time. So you need make your own initrd image..... Insert a add this context description into /etc/modules.conf Example: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ...... @ alias scsi_hostadapter arcmsr <---- add this context description @ ...... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Build up a new initrd image. we assum your kernel version is 2.4.21-4.ELcustom. # mkinitrd -f -v /boot/initrd-2.4.21-4.ELcustom.raid.img 2.4.21-4.ELcustom Insert a add this context description into /boot/grub/grub.conf Example: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ ...... @ title Red Hat Linux (2.4.21-4.EL) @ root (hd0,0) @ kernel /vmlinuz-2.4.21-4.EL ro root=/dev/sda2 @ initrd /initrd-2.4.21-4.EL.img @ @ title Red Hat Linux (2.4.21-4.EL)custom @ root (hd0,0) @ kernel /bzImage ro root=/dev/sda2 @ initrd /initrd-2.4.21-4.ELcustom.raid.img <----add this context description @ ...... @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ E. #reboot