Chinaunix首页 | 论坛 | 博客
  • 博客访问: 862603
  • 博文数量: 436
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -103
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-01 09:48
个人简介

爱生活,爱IT

文章分类

全部博文(436)

文章存档

2015年(1)

2014年(2)

2013年(6)

2011年(39)

2010年(176)

2009年(30)

2008年(28)

2007年(54)

2006年(91)

2005年(9)

分类: LINUX

2006-01-12 21:00:52

Q11843 - Software Configuration: I am looking for compiled drivers for Linux versions other than what 3ware directly supports with the drivers included with the code set. Where can I get the drivers? 

 

Instructions for compiling the driver vary, depending on if you are using the 7000/8000 or 9500S series controller, and if you are compiling for the 2.4 or 2.6 Linux kernel. 
If you need a boot diskette with the driver for the 9500S [such as for Linux 2.6 distributions that don't have the 9500S series driver included (older than 2.6.9) and you want to boot from the 9500S, see KB article 11843 ]

For the 7000/8000 series or the 9500S series in the 2.4 Linux kernel: (note: you should use the CLI and 3DM 2 from the 9000 series with the 7000/8000 series products; otherwise, you might see the message: 'Controller not found' even if the controller is present).

This information is extracted from the User's Guide for the 7000/8000 series and 9500S series: For Experts Only
If necessary, you can compile the 3ware driver yourself. (For example, if you are running a different kernel version.)

Notes:
You must have a full Linux kernel source tree in /usr/src/linux in order to do the compile. In addition, you must boot to the UP kernel to use the make targets. Otherwise errors will result that will cause the driver build to fail.

1 Download the 3ware driver source from the 3ware website.

2 Copy the driver source into a working directory.

3 Untar the driver source with this command:

tar zxvf 3w-xxxx.tgz (7000/8000) or tar zxfv 3w-9xxx.tgz (9500S)

The driver source will be extracted to a directory called driver.

4 Change directory to driver.

cd driver

5 Note: In the commands below, remember that the text you enter is case sensitive. (Be sure to type Makefile.rh, not makefile.rh.) Use the Makefile.rh for RedHat distributions, and Makefile.oth for other (e.g. SuSE) distributions.

To build UP module, type:

make -f Makefile.rh
The file created is 3w-xxxx.o (7000/8000) or 3w-9xxx.o (9500S)

To build SMP module, type:

make smp -f Makefile.rh
The file created is 3w-xxxx.smp (7000/8000) or 3w-9xxx.smp (9500S)

To build Enterprise module, type:

make ent -f Makefile.rh
The file created is 3w-xxxx.ent (7000/8000) or 3w-9xxx.ent (9500S)

To build Bigmem module, type:

make big -f Makefile.rh
The file created is 3w-xxxx.big (7000/8000) or 3w-9xxx.big (9500S)

To build Hugemem module, type:

make hug -f Makefile.rh
The file created is 3w-xxxx.hug (7000/8000) or 3w-9xxx.hug (9500S)

To build Boot module

(this is used when creating a driver for the 32-bit driver diskette), type:

make bot -f Makefile.rh
The file created is 3w-xxxx.bot (7000/8000) or 3w-9xxx.bot (9500S)

6. Install the driver

Copy the driver to the appropriate subdirectory. This example is for the 9500S series. For the 7000/8000 series, substitute
3w-xxxx for 3w-9xxx:

e.g. cp ./3w-9xxx.o
/lib/modules/2.4.21-4.EL/kernel/drivers/scsi/3w-9xxx.o or cp ./3w-9xxx.smp
/lib/modules/2.4.21-4.ELsmp/kernel/drivers/scsi/3w-9xxx.o for the SMP kernel. Here "2.4.21-4.EL" is just an example. You should use the actual kernel version that you are using. When prompted to overwrite, say yes.

7. You also need to update the initial RAM disk. e.g.
/sbin/mkinitrd -v -f /boot/init-2.4.21-4.EL.img 2.4.21-4.EL or
/sbin/mkinitrd -v -f /boot/init-2.4.21-4.ELsmp.img
2.4.21-4.ELsmp
note: You may have to update you /etc/rc.modules file as well. Consult your Linux documentation for details.

8. After you reboot you will be at the latest 3ware driver version. You can check the driver version (see KB article 13296 ()

For the 7000/8000 or 9500S in the 2.6 Linux kernel:
1. If you use the Makefile that is attached to this KB article, you do not have to have the full Linux source installed. Extract the Makefile from this KB article and replace the Makefile that is included with the 3ware driver source. (note: if you are using Fedora Core 2, use the attached Makefile MakefileFC2.zip).

2. Boot to the distribution of Linux that you want to create the driver for. If you want the UP driver, boot UP. If you want the SMP driver, boot to the SMP kernel, etc. Login as root. You must boot to an original version of Linux (e.g. version that comes on a Linux distribution CD).

3. Download the 2.6 kernel driver source from the 3ware download site. [3ware 7000 and 8000 series / Linux / Driver, file name 3w-xxxx.tgz in the 'In Engineering Phase' section]

4. Extract the contents of the .tgz file (tar zxvf 3w-xxxx.tgz or tar zxvf 3w-9xxx.tgz)

5. Type make -f Makefile. The 3w-xxxx.ko or 3w-9xxx.ko file will be created. If you are booted UP, this is the UP driver. If you are booted SMP, then this is the SMP driver, etc.

6. Install the drive and update the initial RAM disk as you did in steps 6 and 7 for the 2.4 Linux kernel instructions.

Keep in mind that the driver source in your Linux distribution may be newer than the source on the 3ware web site. View the 3w-xxxx.c file for the version of the driver on the 3ware web site. Since the 7000/8000 series driver source uses sysfs instead of /proc/scsi, you will need to use 3DM 2 and the CLI from the 9500S series code set (9.1.5.1 or newer). See KB article 13296 to determine which driver you are currently running.6. Install the driver and update the initial RAM disk as you did in steps 6 and 7 under the 2.4 Linux Kernel listed above.

阅读(1070) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~