内核版本:3.2.26.32
SCST版本:2.2.0
参考:iscsi-scst/doc/iscsi-scst-howto.txt
http://www.360doc.com/content/14/1128/13/5711743_428728702.shtml
http://blog.youkuaiyun.com/menogen/article/details/12195075
http://www.cnblogs.com/QJohnson/RecentComments.html
问题1:
cd /usr/src/kernels/linux-2.6.32
patch -p1 < $HOME/scst/iscsi-scst/kernel/patches/put_page_callback-2.6.32.patch
patch -p1 < $HOME/scst/scst/kernel/scst_exec_req_fifo-2.6.32.patch
打完补丁之后,编译内核一直报错
included file 'linux/mm.h' is not exported
解决办法
可能是patch包的问题,补丁位置打错了
include/linux/net.h 中修改#include <linux/mm.h>的所在位置,应该是在63行
问题2:iscsi-scst编译不通过
不用make_proc 出现warning,scst_sysfs_get_sysfs_ops等 undefined, 最终 modprobe iscsi-scst 出错
用make_proc kernel/config.c 编译出错
解决办法
修改Makefile文件
将其中的scst改为对应版本,我是改成scst2.2.0
cp ../scst-2.2.0/src/Module.symvers kernel/ (需要将scst的此文件拷到kernel底下,编译有依赖关系)
问题3:所有的都安装好了,也没有报错,但是/etc/init.d/iscsi-scst文件不存在
直接运行iscsi-scstd服务就启动了,不需要通过 启动iscsi-scst : /etc/init.d/iscsi-scst start
配置好iscsi-scst.conf文件,添加和映射设备,在发起端就可以连接了