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