- 論壇徽章:
- 0
|
我的RHEL5 RDAC 安裝經(jīng)歷
硬件x4200,Linux內(nèi)核版本2.6.21.3,內(nèi)存4G
第一次在sun網(wǎng)站上下了linuxrdac-09.01.B2.31的源碼包,出現(xiàn)以下錯誤:
/linuxrdac-09.01.B2.31/mpp_linux_sys_headers/MPP_Sysdep.h:48:26: 錯誤:linux/config.h:沒有那個文件或目錄
/linuxrdac-09.01.B2.31/mpp_linux_sys_headers/MPP_Sysdep.h:79:31: 錯誤:scsi/scsi_request.h:沒有那個文件或目錄
操作:
在/usr/src/linux-2.6.21.3/linux-2.6.21.3/include/linux 目錄下
#touch config.h
注:/usr/src/linux-2.6.21.3/linux-2.6.21.3/是我的系統(tǒng)Linux內(nèi)核源碼目錄
在/usr/src/linux-2.6.21.3/linux-2.6.21.3/include/scsi 目錄下
#vi scsi_request.h (錄入一下內(nèi)容)
#ifndef _SCSI_SCSI_REQUEST_H
#define _SCSI_SCSI_REQUEST_H
#include
struct request;
struct scsi_cmnd;
struct scsi_device;
struct Scsi_Host;
/*
* This is essentially a slimmed down version of Scsi_Cmnd. The point of
* having this is that requests that are injected into the queue as result
* of things like ioctls and character devices shouldn't be using a
* Scsi_Cmnd until such a time that the command is actually at the head
* of the queue and being sent to the driver.
*/
struct scsi_request {
int sr_magic;
int sr_result; /* Status code from lower level driver */
unsigned char sr_sense_buffer[SCSI_SENSE_BUFFERSIZE]; /* obtained by REQUEST SENSE
* when CHECK CONDITION is
* received on original command
* (auto-sense) */
struct Scsi_Host *sr_host;
struct scsi_device *sr_device;
struct scsi_cmnd *sr_command;
struct request *sr_request; /* A copy of the command we areworking on */
unsigned sr_bufflen; /* Size of data buffer */
void *sr_buffer; /* Data buffer */
int sr_allowed;
enum dma_data_direction sr_data_direction;
unsigned char sr_cmd_len;
unsigned char sr_cmnd[MAX_COMMAND_SIZE];
void (*sr_done) (struct scsi_cmnd *); /* Mid-level done function */
int sr_timeout_per_command;
unsigned short sr_use_sg; /* Number of pieces of scatter-gather */
unsigned short sr_sglist_len; /* size of malloc'd scatter-gather list */
unsigned sr_underflow; /* Return error if less thanthis amount is transferred */
void *upper_private_data; /* reserved for owner (usually upperevel driver) of this request */
};
extern struct scsi_request *scsi_allocate_request(struct scsi_device *, int);
extern void scsi_release_request(struct scsi_request *);
extern void scsi_do_req(struct scsi_request *, const void *cmnd,
void *buffer, unsigned bufflen,
void (*done) (struct scsi_cmnd *),
int timeout, int retries);
/*struct scsi_mode_data {
__u32 length;
__u16 block_descriptor_length;
__u8 medium_type;
__u8 device_specific;
__u8 header_length;
__u8 longlba:1;
};*/
extern int __scsi_mode_sense(struct scsi_request *SRpnt, int dbd,
int modepage, unsigned char *buffer, int len,
int timeout, int retries,
struct scsi_mode_data *data);
#endif /* _SCSI_SCSI_REQUEST_H */
繼續(xù)
#make clean
#make
報以下錯誤
/linuxrdac-09.01.B2.31/MPP_hba.c: 在函數(shù) ‘mpp_AnalyseFailoverError’ 中:
/linuxrdac-09.01.B2.31/MPP_hba.c:920: 錯誤:賦值運算中的左值無效
暈,源碼級錯誤,我可無法解決,長久等待
一日,突然發(fā)現(xiàn)有新的源碼包
軟件包下載地址:
http://lsi.com/rdac/rdac-LINUX-09.02.C5.13-source.tar.gz
決定下來試試
#make clean
#make
#make install
然后編輯/boot/grub/grub.conf,添加如下內(nèi)容
title Red Hat Linux (2.6.21.3) with MPP support
root (hd0,5)
kernel /vmlinuz-2.6.21.3 ro root=LABEL=RH9
initrd /mpp-2.6.21.3.img
重啟系統(tǒng)
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/12040/showart_1404312.html |
|