The Linux SCSI Target Wiki
The Downloads page contains the references to all free download repositories.
RTS OS provides a comprehensive, integrated single-node storage operating system based on LIO. RTS OS comes in form of an ISO that can be booted natively and/or in virtual machines (KVM, VMware ESX, etc.).
targetcli is the general management platform for LIO. It is available under dual licensing:
- The targetcli Community Edition is released under the GNU Affero General Public License (AGPLv3), and the corresponding source code is available from our public git repository at risingtidesystems.com/git. The Community Edition supports configuring the Target only. Everyone is welcome to contribute to the Community Edition.
- The RTSadmin Enterprise Edition is released under the commercial RTS license, and allows the management of complex full storage systems.
targetcli was initially released in May 2011, and it supports all fabric modules, currently including iSCSI, Fibre Channel, FCoE, InfiniBand, IBM vSCSI and tcm_loop, see also Target. It is is based on a modular, extensible architecture, with plug-in modules for additional functionality.
LIO 4 (released Linux tip-of-tree kernels)
This tree tracks the Linux kernel tree and follows the upstream linux kernel release schedule. It for kernel developers who are interested in contributing to the upstream LIO code, and are comfortable running and debugging bleeding edge kernel code. It involves building a complete running Linux kernel and associated modules, and expects the user to have experience with configuring, building and installing kernels.
The target-pending.git is now setup using a work-flow similar to KVM  using the following branch structure:
- ) master: contains latest target rc-fixes for the current release
- ) for-next: contains developmental patches for next merge window
- ) for-next-merge: contains new fabric drivers for next merge window
- ) queue: contains untested patches (usually) headed into for-next*
- ) auto-next: combination of current master + for-next* (rebased often)
If you're a developer, usually developing against 'for-next' is okay. If 'for-next' is unstable for you or you need a new upstream API, work against 'auto-next', but let the maintainers know that when posting your patch.
If you're working on a fix for the current cycle, work against upstream or 'master' (they should be equivalent most of the time).
If you're a submaintainer, post git pull requests against 'for-next' or 'master', according to your merge target.
Here are some brief instructions for checking out the tree:
# Clone the full git tree git clone git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending.git target-pending.git # Change dir cd target-pending.git/ # Show available remote branches git branch -vr
LIO 3 backports (Linux kernels ≥2.6.18)
lio-core-backports.git is for users who are interested in running LIO kernel code on a existing unmodified kernel environment, and therefore need "out-of-tree" Linux sources (available from Datera, Inc.).
This tree allows building the LIO kernel modules and packages on many popular distributions, and any kernel back to v2.6.18. It includes Target+iSCSI v3.1, and the Backports HOWTO on installing, configuring and building backport targets for older trees.
There are two key parts to it:
- LIO 3 source in a git tree (lio-core-2.6.git, which tracks linux-2.6.git, Linus' development tree for the next offical release for the kernel.org project). LIO 3 for stable kernel.org releases (v2.6.x.y) is made available after Linus tags his first stable release of v2.6.x, and then (after a short break) begins the next development cycle (v2.6.x+1-rc1).
- lio-utils 3 userspace tools.
The Backports HOWTO describes how to build, install and run LIO 3 and its tools.