UP

Debian Sarge and iSCSI

I did not find any 'start' information regarding Debian Sarge and iSCSI. AFAIK iSCSI packages are available in unstable and testing, but at least for open-iscsi they require a young kernel, younger than the one currently used in Sarge. So open-iscsi was no choice for me in Sarge.

SuSE Linux Enterprise 9 SP3 uses an older kernel (2.6.5) than in stable Debian (2.6.8) and SLES9 SP3 uses linux-iscsi. With this hint i decided to use linux-iscsi for myself in Debian Sarge also.

I had a lot of package choices on the linux-iscsi homepage. I have downloaded the "linux-iscsi-4.0.1.10" package, since from the README its the last release, which works with a 2.6.8.1 kernel. I did not think much about "2.6.8.1", i was just hoping, the Debian Kernel will be fine with its "2.6.8-xx" label.

Hope it might be useful for someone.

Installation for x86 (not x86_64)


# installation requirements for x86 platform
apt-get install build-essential kernel-headers-`uname -r` libsysfs-dev udev

# unpack
cd /usr/src
tar xvzf linux-iscsi-4.0.1.10.tgz
cd linux-iscsi-4.0.1.10

# compile and install
make
make install

# check and edit /etc/iscsi.conf and /etc/initiatorname.iscsi
cat /etc/initiatorname.iscsi
InitiatorName=iqn.1987-05.com.cisco:01.7abc3abcf333

cat /etc/iscsi.conf
DiscoveryAddress=10.10.10.100
TargetName=iqn.2000-01.de.ecopatz.iscsi.storage01
	

Installation for x86_64 kernel, in a pure 64bit installation

Should work like above. The only difference might be, that the gcc-3.4 is used instead of gcc-3.3.

Installation for x86_64 kernel, in a not pure 64bit installation

If you have (for example) an Athlon 64 3200+, in Debian Sarge you have the choice to install an x86_64 kernel. This is called "a not pure 64bit installation", because the rest of the system remains 32bit. Whatever it means (not clear for me), the consequence of this is, that you can not not just compile modules for the x86_64 kernel. You need to have a pure 64bit environment for that.

# In the 32bit-Environment
apt-get install cdebootstrap libsysfs-dev udev vim

# install the pure64 environment into /mnt/pure64 (other mirrors available)
mkdir -p /mnt/pure64
cdebootstrap --arch amd64 sarge /mnt/pure64/ http://ftp.de.debian.org/debian-amd64/debian/

# copy some files into the pure 64bit installation
cd /etc; cp resolv.conf hostname fstab /mnt/pure64/etc/
cp /etc/network/interfaces /mnt/pure64/etc/network/interface

# remove everything, except /proc
vim /mnt/pure64/etc/fstab

# add the pure64 apt-sources (other mirrors are available)
echo "deb http://ftp.de.debian.org/debian-amd64/debian/ sarge main contrib" >>/mnt/pure64/etc/apt/sources.list
echo "deb-src http://ftp.de.debian.org/debian-amd64/debian/ sarge main contrib" >>/mnt/pure64/etc/apt/sources.list
echo "deb http://security.debian.org/ stable/updates main contrib" >>/mnt/pure64/etc/apt/sources.list

# copy the iscsi package
cp linux-iscsi-4.0.1.10.tgz /mnt/pure64/usr/src

# now chroot into the pure64 environment
cd /mnt/pure64; chroot .

# do a basic configuration of the 64bit environment
base-config

# install the required libraries for iscsi compilation
apt-get install build-essential kernel-headers-`uname -r` libsysfs-dev udev gcc-3.4

# x86_64 kernel has compiled with gcc-3.4, so do i in the rude way
cd /usr/bin; rm gcc; ln -s gcc-3.4 gcc

# unpack the iscsi package
cd /usr/src; tar xvzf linux-iscsi-4.0.1.10.tgz

# compile
cd linux-iscsi-4.0.1.10
make

# change back to 32bit environment
exit

# go to the compiled package from the pure64 environment
cd /mnt/pure64/usr/src/linux-iscsi-4.0.1.10

# "make install" will fail because of some preconditions in the Makefile, 
# call install.sh directly instead
export ROOT=/; misc/scripts/install.sh;

# check and edit /etc/iscsi.conf and /etc/initiatorname.iscsi
cat /etc/initiatorname.iscsi
InitiatorName=iqn.1987-05.com.cisco:01.7abc3abcf333

cat /etc/iscsi.conf
DiscoveryAddress=10.10.10.100
TargetName=iqn.2000-01.de.ecopatz.iscsi.storage01
	

Further Links

  1. Linux-iSCSI Project
  2. Open-iSCSI
  3. Debian on AMD64
  4. pkg-iscsi (debian packages)

Changes

  • Fix: 'chroot' is not a separate package (28.09.2006)
  • ftp2.de.debian.org used as example does not deliver debian-64 anymore (28.09.2006)
Last Modified: Thu Sep 28 18:44:59 CEST 2006, Feedback: public@ecopatz.de