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