Download QLogic Fibre Channel HBA Driver Source Code
- apt-get install build-essential
- apt-get install kernel-package
- make sure that can find linux-source tarball (ex: linux-source-2.6.24.tar.bz2) in path: /usr/src
- extract and decompress linux-source tarball (ex: tar -xvjf linux-source-2.6.24.tar.bz2)
- change directory to /lib/modules/{kernel version} (ex: cd /lib/modules/`uname -r`)
- create a link to linux-headers path with the name build. (ex: ln -s /usr/src/`uname -r` build)
- create a link to linux-source path with the name build. (ex: ln -s /usr/src/linux-source-2.6.24 source)
Modify The Driver Source Code
- change to your home directory
- wget ftp://ftp.qlogic.com/outgoing/linux/beta/8.x/qla2xxx-src-v8.02.21.tar.gz
- extract and decompress source code tarball file (ex: tar -xvzf qla2xxx-src-v8.02.21.tar.gz)
Get ready to build Driver
- edit file extras/build.sh at first line "#!/bin/sh" to "#!/bin/bash"
in Ubuntu Linux the default "sh" had been symbolic linking to "dash", there are some functions can't be executable in build.sh scrip.- edit file qla_def.h, remark line 33 ~ 35.
- edit file qla_isr.c,. replace "SA_INTERRUPT|SA_SHIRQ" with "IRQF_DISABLED|IRQF_SHARED" at line 2100.
- edit file qla_os.c, add "struct" in front of "kmem_cache *srb_cachep;" at line 40.
- remove ones of NULL at line 5723 in file qla_os.c
- replace "pci_module_init" with "pci_register_driver" at line 5759 in file qla_os.c
Now You Can Install this Driver, If Everything is O Kay.
- change user to root.
- execute "extras/build.sh" in qla2xxx-8.02.21 directory.
Reboot System to Test New Initial Ramdisk and Pray It Can Work..... just kindling ^_^
- execute "extras/build.sh install" to install Driver.
- execute "update-initramfs -v -u -k `uname -r`" to update initramfs image.
2 則留言:
hi,
我照著您的方法修改
但在 lenny/2.6.26 kernel 上有另外的問題
主要是在 scsi_cmd 所以
請問有試過嘛?
或是任何意見 謝謝
能把你有問題的訊息show給我看一下嗎?我覺得應該不會有問題才對啊!
張貼留言