Home | History | Annotate | Line # | Download | only in doc
      1  1.1  agc 
      2  1.1  agc -------------------------
      3  1.1  agc Installing the OSD System
      4  1.1  agc -------------------------
      5  1.1  agc 
      6  1.1  agc  1. Build kernel version 2.4 w/ SMP mode disabled and make sure the 
      7  1.1  agc     directory /usr/src/linux points to this build.
      8  1.1  agc  2. Modify initiator.h and initiator.c (as per the README) to point to 
      9  1.1  agc     your intended target.
     10  1.1  agc  3. Run 'make osd' to build all the OSD  executables.  In particular,
     11  1.1  agc     you need uosd, so.o, intel_iscsi.o and osdfs.o.
     12  1.1  agc  4. Run 'make all' to build the remaining executables. 
     13  1.1  agc  5. Select a machine as the target and run "uosd -f" as root on this 
     14  1.1  agc     machine. This will create files and directories in /tmp.
     15  1.1  agc  
     16  1.1  agc ----------------------
     17  1.1  agc Testing the OSD System
     18  1.1  agc ----------------------
     19  1.1  agc 
     20  1.1  agc  6. Run utest to make sure the target is working OK.
     21  1.1  agc  7. Do an "insmod ./so.o" to install the Linux SCSI upper layer driver for OSD.
     22  1.1  agc  8. Do an "insmod ./intel_iscsi.o" to install the kernel mode iSCSI initiator.
     23  1.1  agc  9. Do an "insmod ./osdfs.o" to install the file system.
     24  1.1  agc 10. Make the OSD device with "mknod /dev/so0 b 232 0".
     25  1.1  agc 11. Do a "mount -t osdfs /dev/so0 /mnt" to mount the filesystem.
     26  1.1  agc 12. Go to /mnt and run "echo Hello, World! > foo" to create an object 
     27  1.1  agc     on the OSD.
     28  1.1  agc 13. Do a "cat foo" to read the object. you should see "Hello, world!"
     29  1.1  agc 
     30  1.1  agc From here you should be able to use /mnt as you would any filesystem.
     31  1.1  agc 
     32  1.1  agc --------------------
     33  1.1  agc 2.4.18 Modifications
     34  1.1  agc --------------------
     35  1.1  agc 
     36  1.1  agc include/scsi/scsi.h:143
     37  1.1  agc   #define TYPE_OSD 0x0e
     38  1.1  agc 
     39  1.1  agc drivers/scsi/scsi.h:92:
     40  1.1  agc   #define MAX_SCSI_DEVICE_CODE 15
     41  1.1  agc 
     42  1.1  agc drivers/scsi/scsi.h:354:
     43  1.1  agc   #define MAX_COMMAND_SIZE 256
     44  1.1  agc 
     45  1.1  agc drivers/scsi/scsi.c:145:
     46  1.1  agc   "OSD              ",
     47  1.1  agc 
     48  1.1  agc drivers/scsi/scsi_dma.c:248:
     49  1.1  agc   SDpnt->type == TYPE_DISK || SDpnt->type == TYPE_MOD || SDpnt->type == TYPE_OSD) {
     50  1.1  agc 
     51  1.1  agc drivers/scsi/scsi_scan.c:644:
     52  1.1  agc   case TYPE_OSD:
     53  1.1  agc 
     54  1.1  agc ----------
     55  1.1  agc Hints/Tips
     56  1.1  agc ----------
     57  1.1  agc 
     58  1.1  agc -Field testing on some workstations resulted in compiling errors if highmem support in the kernel as enabled
     59