Introduction
-------------
Linux target framework (tgt) aims to simplify various SCSI target
driver (iSCSI, Fibre Channel, SRP, etc) creation and maintenance.

Tgt consists of kernel modules, user-space daemon, and user-space
tools. Some target drivers uses all of them and some use only
user-space daemon and tools (i.e. they completely runs in user space).

Currently, tgt supports three target drivers:

- IBM VIO server (ibmvstgt)
- iSCSI
- Xen vscsifront/back

Note that tgt is under active development. Don't play with important
data.


Preparation
-------------
The iSCSI target driver can works with any recent kernel versions (the
oldest version that I confirmed is 2.6.18).

host:~/tgt/usr$ make KERNELSRC=<kernel-src-directory> ISCSI=1

If you want IBM VIO target driver, get kernel version 2.6.20, rebuild
the kernel, and reboot with the new kernel. Note you need to enable
SCSI_TGT, SCSI_SRP, and SCSI_IBMVSCSIS kernel options.

host:~/tgt/usr$ make KERNELSRC=<kernel-src-directory> IBMVIO=1

Make sure that everything is built successfully.

Now you can run tgt. Target drivers have their own ways for
configuration. So find an appropriate documentation in the doc
directory.


Developer Notes
-------------
The central resource for tgt development is the mailing list
(stgt-devel@lists.berlios.de).

Before submitting patches, please read (in short, follow Linux kernel
development rules):

http://lxr.linux.no/source/Documentation/CodingStyle
http://lxr.linux.no/source/Documentation/SubmittingPatches

The commits to the subversion repository go to the stgt-svn mailing
list (stgt-svn@lists.berlios.de).
