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