iSCSI boot initialization program for Linux
		              version 1.*

    The program iscsi-init may be helpful if you intend to boot your linux  system
from or install on iSCSI LUN using Open-iSCSI software initiator. It can be called
either from INITRD or in kickstart pre-install scripts to help with initialization
and  attaching  iSCSI boot LUN.  The program is mostly designed  to work with iBFT
(iSCSI boot firmware table).  However, it also can be used on hardware  which does
not support iSCSI boot and iBFT.  In this case the program  will obtain  interface
configuration and target info using DHCP. It uses DHCP option "root-path"  (option
17)  compliant with RFC4173 to obtain target parameters  (target name, IP address,
port, and etc).  If  iBFT is available,  using  this program  will  help to  avoid
hardcoded IP's in INITRD, and, therefore,  make boot image transferable in case of
IP changes.  It also creates static routing  entries to targets  to enforce  iSCSI
traffic  via  specified  in iBFT interfaces.  This  can  be  helpful  in multipath
configurations with two or more iSCSI sessions to the same target and dm-multipath
on top.

The following is exactly what iscsi-init does in case of two boot scenarios.

  iBFT is available:
    - configures network interfaces using parameters in iBFT;
    - creates static routing entries to the target IP's if in different subnets;
    - calls "iscsistart" to establish iSCSI sessions with the target.

  iBFT is not available:
    - obtains interface and target configuration via DHCP;
    - configures network interfaces;
    - creates static routing entries to the target IP's if in different subnets;
    - calls "iscsistart" to establish iSCSI sessions with the target.

The following example is a fragment of INITRD "init" which demonstrates usage of
iscsi-init in RHEL5 initial RAM disk:
--
echo "Loading network drivers"
insmod /lib/bnx2.ko
echo "Reading iBFT, bringing up iSCSI interfaces, attaching to iSCSI storage"
iscsi-init
echo "Waiting for driver initialization"
stabilized --hash --interval 250 /proc/scsi/scsi
mkblkdevs
--
			Licensing

    This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY;  without even the implied warranty of MERCHANTABILITY or  FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

---------------------------------------------------
Igor Feoktistov