This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Warning: This is WORK IN PROGRESS! ====== ==== Introduction ==== This howto is similar to [[sanboot:debian_lenny_iscsi|how to get iSCSI working with Debian Etch]]. It is important to note two differences from that howto: * The [[http://git.kernel.org/?p=linux/kernel/git/mnc/open-iscsi.git;a=tree;f=utils/fwparam_ibft;h=c5a9e5e47f71d7de12cb0b4f07b89e31406bd95b;hb=054ada67a9eba729cb7b0f96c218877f8a2b933c|fwparam_ibft]] utility used in the initrd scripts in the Debian Etch solution does not exist anymore. Its functionality has changed slightly, and it has been merged into the other tool called ''iscsistart''. Both utilites are/were part of the [[http://www.open-iscsi.org/|Open-iSCSI]] software. * While the iSCSI + Etch guide told you to compile the open-iscsi tools from source, Lenny actually has a package called ''open-iscsi'' in its repository that you can install and use. Simply say <code bash>aptitude install open-iscsi</code> to have it installed, and follow [[http://wiki.debian.org/iSCSI/open-iscsi|its documentation]]. ==== Doing iSCSI the lenny way ==== Install open-iscsi <code bash>aptitude isntall open-iscsi</code> touch the indicatorfile, which is queried to determine whether the iscsi tools and scripts are to be copied into the new initrd <code bash>touch /etc/iscsi/iscsi.initramfs</code> Rebuild your initrd. <code bash>update-initramfs -u</code> ==== Lenny doesnt fetch from iBFT ==== Now if Open-iSCSI is in the repositories then why did I bother to write this howto? Good question! The answer is simply that you don't get the same result with the iSCSI + Etch howto as you get when instlling open-iscsi from the lenny repositories. While the "etch solution" fetches iscsi parameters from the [[iBFT]], the "built-in lenny solution" fetches the parameters from configuration file(s) under ''/etc/'' in the initramfs image itself. While this simple distinction might seem innocent enough, it really isn't. In many cases it is impracticalt to create a new initrd or root image to change the iscsi parameters. Luckily, for most people there is a more elegant way to get the parameters. The latest lenny kernel (as of 4. November 2009) has an [[iBFT]] function compiled in that makes fetching the iSCSI parameters from [[iBFT]] really easy. From your initrd script, simply traverse the directory <pre>/sys/firmware/ibft</pre> The files in there contain all the ibft information you could ever want. <code bash> TODO: post an initrd hook/script that does exactly that </code> ==== XEN Troubles ==== There is a catch though. The /sys/firmware/ibft directory is empty if you boot with a xen kernel. This is due to a bug that makes the kernel unable to map memory below 1mb correctly. http://wiki.debian.org/DebianKernelCustomCompilation ==== Solutions to XEN + iSCSI + Lenny + iBFT ==== There are 3 solutions to the problem of aquiering iSCSI data from the iBFT with a lenny XEN kernel in initrd: * Patch the kernel or use an alternate kernel to fix the iBFT + XEN problem. This patch looks promising: http://patchwork.kernel.org/patch/50838/ * Use an utility that get hold of the iBFT data without depending on ''/sys/firmware/ibft''. One way to do that is to fetch an older version of the Open-iSCSI sourcecode from here: http://www.open-iscsi.org/bits/ and compiling the old fwparam_ibft tool that is mentioned in the etch howto. This tool seemingly gets its iBFT data directly from memory without asking the kernel first. * Fall back to the default behaviour in Lenny, namely to read the settings from configurations in ''/etc/''.


QR Code
QR Code sanboot:debian_lenny_iscsi (generated for current page)