Re: Installing Zerosheel on Dell PowerEdge R200

Home Page Forums Network Management ZeroShell ZeroShell and Dell Re: Installing Zerosheel on Dell PowerEdge R200

#51781

on
Member

Hi,

My box for ZeroShell is a Dell R200, with RAID controller SAS6, using MPT driver. Disks are configured in RAID 1 (mirror).

ZeroShell cannot install out of the box; here are the steps I had to perform before I could get it running. As usual, this comes with no guaranty, all I can say is that it worked for me.

1) I prepared a USB key as described in http://www.zeroshell.net/eng/forum/viewtopic.php?t=2971

2) I also got ps_initrd.sh script (http://www.nigilist.ru/nit/ps_initrd.sh/)

3) I boot ZeroShell from the USB key. At this stage the USB is seen as drive /dev/sda and the hard disk as /dev/sdb

4) I partitionned my hard disk; size if up to your tastes, my partitions look like:

root@cs root> fdisk -l

Disk /dev/sda: 145.9 GB, 145999527936 bytes
255 heads, 63 sectors/track, 17750 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 1306 10485760 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 1306 7833 52428800 83 Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3 7833 17751 79662080 83 Linux
Partition 3 does not end on cylinder boundary.

5) I made the file systems on the 3 partitions of the hard disk:

mkfs.ext2 -I 128 /dev/sdb1
mkfs.ext2 /dev/sdb2
mkfs.ext2 /dev/sdb3

Note the -I for the first partition, this is important for grub in a future step.

6) I copied the contents of the USB key to the hard disk:

mount /dev/sdb1 /mnt
cd /boot
tar cf - --one-file-system . | (cd /mnt; tar xfBp -)
umount /mnt
mount /dev/sdb2 /mnt
cd /cdrom
tar cf - --one-file-system . | (cd /mnt; tar xfBp -)
umount /mnt
mount /dev/sdb3 /mnt
cd /DB
tar cf - --one-file-system . | (cd /mnt; tar xfBp -)
umount /mnt

7) I installed grub to run from the hard disk:

mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot
grub-install --recheck --no-floppy --root-directory=/mnt /dev/sdb
umount /mnt/boot

8) I copied the kernel modules needed by RAID:

mount /dev/sdb1 /mnt
cd /mnt
ps_initrd.sh initrd.gz open
cd initrd.gz-image
cd lib
mkdir mpt
cd mpt
mkdir deps chipsets
cd deps
cp /cdrom/modules/2.6.25.20/kernel/drivers/message/fusion/mptbase.ko .
cp /cdrom/modules/2.6.25.20/kernel/drivers/message/fusion/mptscsih.ko .
cp /cdrom/modules/2.6.25.20/kernel/drivers/scsi/scsi_transport_sas.ko .
cd ../chipsets
cp /cdrom/modules/2.6.25.20/kernel/drivers/message/fusion/mptbase.ko .
cp /mnt/initrd.gz-image

9) I edited /mnt/initrd.gz-image/linuxrc to load the modules:

  for M in  /lib/usb/deps/* /lib/sata/deps/* ; do
/sbin/insmod $M 2>/dev/null
done

# load mpt RAID dependencies in right order
/sbin/insmod /lib/mpt/deps/scsi_transport_sas.ko
/sbin/insmod /lib/mpt/deps/mptbase.ko
/sbin/insmod /lib/mpt/deps/mptscsih.ko

for M in /lib/usb/host/* /lib/sata/chipsets/* /lib/mpt/chipsets/* ; do
/sbin/insmod $M 2>/dev/null
done

Note that there is a modification in the second for loop.
I also changed so that the first partition is mounted read-write. I change the line:

echo "/dev/${CDROM}1 /boot ext2 ro 1 2" >> /cdrom/etc/fstab

to be:

echo "/dev/${CDROM}1 /boot ext2 defaults 1 2" >> /cdrom/etc/fstab

11) I closed /mnt/initrd.gz:

cd /mnt
ps_initrd.sh initrd.gz close
cd /
umount /mnt

12) From the it should boot from the hard disk.