Koozali.org: home of the SME Server

Legacy Forums => General Discussion (Legacy) => Topic started by: pmiranda on January 05, 2005, 05:46:14 PM

Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: pmiranda on January 05, 2005, 05:46:14 PM
Hello,

I have been asked to install SME Server 6.0.1-01 on a brand new HP Proliant DL380 G4 with two processors on board.

Unfortunately, the installer can't recognize the disk RAID controller, a Smart Array 6i, so there are no disks to install the software onto.

The supplemental driver disk contains the cciss driver needed, but it's an old version, limited to Smart Array 6i.

The HP site doesn't have cciss drivers for the SME Server kernel, nor the driver source code - and even it had them, I do not know where to find the right kernel sources.

Can anybody help me in solving this problem?

Thanks in advance and happy new year.
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: Franco on January 30, 2005, 12:29:41 AM
Miranda,
Have you solved this problem yet?
I'm having a similar issue here!
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: patrick on January 30, 2005, 09:29:22 AM
http://h18004.www1.hp.com/support/files/server/us/download/20181.html

download the above image,

http://www.ibiblio.org/pub/Linux/distributions/smeserver/contribs/index.php?subdir=ptehvand%2Fcontribs%2FLSIMegaraiddriver&sortby=name

then follow my instructions for LSI drivers - replacing the image with the hp one.

hope that helps

Patrick
Title: SME Server on DL 380 G4 How-To (sort of)
Post by: zlonew on January 31, 2005, 07:42:07 PM
Bad news first - Patrick wrote:
Quote
download the above image,
[...]
then follow my instructions for LSI drivers - replacing the image with the hp one.


I tried, buit didn't work - the installer doesn't find the driver, I guess it's a kernel version mismatch problem.

Good news last - Stuntshell wrote:
Quote
Have you solved this problem yet?
I'm having a similar issue here!


I managed to install SME Server on the DL380G4, and published the procedure that follows as a revised, full fledged How-To. To access it, go to Compaq Proliant DL 380 G4 Installation (http://"http://no.longer.valid/phpwiki/index.php/Compaq%20Proliant%20DL%20380%20G4%20Installation").

The problem is that onboard Smart Array 6i is not recognized by the 2.4.20 kernel used by SME Server, so we have to work out a solution to update its drivers.

Basically, I installed SME Server configured as Server only on a clean PC (a VMware virtual machine, to be nitpicky), followed by the kernel source, the development tools and the cciss driver sources (open source, from SourceForge); then, I compiled the cciss.o kernel module for each kernel involved (the boot, UP and SMP), updated the drvblock.img additional block driver disc with the new boot kernel module, modified the boot.img installation floppy with the missing kickstart file and created a floppy with the UP and SMP cciss.o modules.

Then, I was able to force the installer to ask for additional drivers, load the new cciss.o, install as usual then shell to a command line before rebooting to copy the updated driver on the system and do a bit of needed reconfiguration.


In detail, here's what I did; as root on the new SME Server (the VMware machine):
Code: [Select]
# mkdir -p ~/SME-6.0.1-01-cciss/rpm-devel
# cd ~/SME-6.0.1-01-cciss/rpm-devel


In this directory I downloaded the developer packages (kernel source included) from http://mirror.contribs.org/smeserver/contribs/hpe/devtools-6.01/dev-rpms/.

Then I installed it, overriding the dependency problems:
Code: [Select]
# rpm -Uvh --nodeps *.rpm

Time to get the cciss driver sources, available on SourceForge from the CCISS Project (http://sourceforge.net/projects/cciss/); I copied the sources archive in a specific directory, then inserted its content in the kernel source tree:
Code: [Select]
# mkdir -p ~/SME-6.0.1-01-cciss/cciss
# cd ~/SME-6.0.1-01-cciss/cciss
# cp [...]cciss_2.4.50.tar.gz .

# cd /usr/src/linux-2.4/drivers/block
# mv cciss_cmd.h cciss_cmd.h.original
# mv cciss.c cciss.c.original
# mv cciss.h cciss.h.original
# mv cciss_ioctl.h ccis_ioctl.h.original
# mv cciss_scsi.c cciss_scsi.c.original
# mv cciss_scsi.h cciss_scsi.h.original

# cd /usr/src/linux-2.4/include/linux
# mv cciss_ioctl.h cciss_ioctl.h.original

# cd /usr/src/linux-2.4/Documentation
# mv cciss.txt cciss.txt.original
# mv mkdev.cciss mkdev.cciss.original

# cd /usr/src/linux-2.4
# tar xvzf ~/SME-6.0.1-01-cciss/cciss/cciss_2.4.50.tar.gz

# cp -a Makefile Makefile.original



Compilation time!

The kernel modules must be compiled three times, one for each kernel involved (2.4.20-18-7BOOT, 2.4.20-18-7BOOT, 2.4.20-18-7smp); each time it's necessary to use the right configuration file and to tell make what kernel the modules are to be compiled for.

The configuration file issue is a matter of copying the right file, while the kernel type must be specified editing the Makefile and setting the EXTRAVERSION variable accordingly.

In other words, for the boot kernel:
Code: [Select]
# cd /usr/src/linux-2.4
# cp -a Makefile.original Makefile
cp: overwrite Makefile'? y
# make clean mrproper
# cp configs/kernel-2.4.20-i386-BOOT.config .config
# vi Makefile
(EXTRAVERSION = -18.7BOOT)
# make oldconfig
(or "make menuconfig", then immediately "Exit" and save configuration)
# make dep
# make SUBDIRS=drivers/block modules
# mkdir -p ~/SME-6.0.1-01-cciss/lib/modules/2.4.20-18.7BOOT/kernel/drivers/block
# cp drivers/block/cciss.o ~/SME-6.0.1-01-cciss/lib/modules/2.4.20-18.7BOOT/kernel/drivers/block/


The UP and the SMP kernel module can be built in the same way:
Code: [Select]
# cd /usr/src/linux-2.4
# cp -a Makefile.original Makefile
cp: overwrite Makefile'? y
# make clean mrproper
# cp /boot/config-2.4.20-18.7 .config
# vi Makefile
(EXTRAVERSION = -18.7)
# make oldconfig
(or "make menuconfig", then immediately "Exit" and save configuration)
# make dep
# make SUBDIRS=drivers/block modules
# mkdir -p ~/SME-6.0.1-01-cciss/lib/modules/2.4.20-18.7/kernel/drivers/block
# cp drivers/block/cciss.o ~/SME-6.0.1-01-cciss/lib/modules/2.4.20-18.7/kernel/drivers/block/

and
Code: [Select]
# cd /usr/src/linux-2.4
# cp -a Makefile.original Makefile
cp: overwrite Makefile'? y
# make clean mrproper
# cp /boot/config-2.4.20-18.7smp .config
# vi Makefile
(EXTRAVERSION = -18.7smp)
# make oldconfig
(or "make menuconfig", then immediately "Exit" and save configuration)
# make dep
# make SUBDIRS=drivers/block modules
# mkdir -p ~/SME-6.0.1-01-cciss/lib/modules/2.4.20-18.7smp/kernel/drivers/block
# cp drivers/block/cciss.o ~/SME-6.0.1-01-cciss/lib/modules/2.4.20-18.7smp/kernel/drivers/block/



Let's juggle discs

The additional block device driver disk drvblock.img can now be updated with the new cciss.o boot kernel module:
Code: [Select]
# cd ~/SME-6.0.1-01-cciss
# mkdir -p floppy/files
# mount /dev/cdrom /mnt/cdrom
# cd floppy
# cp /mnt/cdrom/images/drvblock.img .

# mount -o loop -t auto drvblock.img /mnt/floppy
# cp /mnt/floppy/* files/
# umount /mnt/floppy

# cd files
# mv modules.cgz modules.cgz.original
# zcat modules.cgz.original | cpio -iv --make-directories
# cp ~/SME-6.0.1-01-cciss/lib/modules/2.4.20-18.7BOOT/kernel/drivers/block/cciss.o 2.4.20-18.7BOOT/
# find 2.4.20-18.7BOOT | tail +2 > cpio.list
# cpio -o -H crc < cpio.list | gzip -c9 - > modules.cgz


The disc pcitable must be updated, too. Create a patch file diff.patch as follows:
Code: [Select]
3,4c3,11
< 0x0e11 0xb060 "cciss" "Compaq|Smart Array 5300 Controller"
< 0x0e11 0xb178 "cciss" "Compaq|Smart Array 5i/532"
---
> 0x0e11 0x4070 "cciss" "Compaq|Smart Array 5300"
> 0x0e11 0x4080 "cciss" "Compaq|Smart Array 5i"
> 0x0e11 0x4082 "cciss" "Compaq|Smart Array 532"
> 0x0e11 0x4083 "cciss" "Compaq|Smart Array 5312"
> 0x0e11 0x409a "cciss" "Compaq|Smart Array 641"
> 0x0e11 0x409b "cciss" "Compaq|Smart Array 642"
> 0x0e11 0x409c "cciss" "Compaq|Smart Array 6400"
> 0x0e11 0x409d "cciss" "Compaq|Smart Array 6400 EM"
> 0x0e11 0x4091 "cciss" "Compaq|Smart Array 6i"

(fields must be separated by a single TAB character)

Then patch the pcitable file:
Code: [Select]
# cp pcitable pcitable.original
# patch pcitable diff.patch


A new updated image drvblock.img can now be created:
Code: [Select]
# cd ..
# cp drvblock.img drvblock.img.original
# chmod a+rw drvblock.img
# mount -o loop -t auto drvblock.img /mnt/floppy
# cp files/modules.cgz files/pcitable /mnt/floppy
cp: overwrite /mnt/floppy/modules.cgz'? y
cp: overwrite /mnt/floppy/pcitable'? y
# umount /mnt/floppy


As usual, the floppy can be created from the image with the command dd if=drvblock.img of=/dev/fd0 bs=1440k.

It's time to create another image, containing the cciss.o UP and SMP kernel modules:
Code: [Select]
# cd ~/SME-6.0.1-01-cciss
# tar cvzf floppy/cciss.o.tgz lib/modules/2.4.20-18.7/kernel/drivers/block/cciss.o lib/modules/2.4.20-18.7smp/kernel/drivers/block/cciss.o
# cd floppy
# dd if=/dev/zero of=cciss.o.img bs=1440k count=1
1+0 records in
1+0 records out
# losetup /dev/loop7 cciss.o.img
# mke2fs -c /dev/loop7
mke2fs 1.27 (4-Mar-2002)
[...]
Writing superblocks and filesystem accounting information: done
[...]
# losetup -d /dev/loop7
# mount -o loop -t auto cciss.o.img /mnt/floppy
# cp cciss.o.tgz /mnt/floppy/
# umount /mnt/floppy


As usual, the floppy can be created with the command dd if=cciss.o.img of=/dev/fd0 bs=1440k.

The installation CD-ROM has a flaw: the installer doesn't ask for additional devices. I checked it, so it's positive.

This means that the installation must be started from the boot floppy. But the boot floppy is flawed, too: the kickstart file is missing. So, the boot.img must be modified. Insert the SME Server CD-ROM:
Code: [Select]
# mount /mnt/cdrom
# cp /mnt/cdrom/images/boot.img .
# cp boot.img boot.img.original
# mount -o loop -t auto boot.img /mnt/floppy
# cp /mnt/cdrom/images/ks_stub.cfg /mnt/floppy/ks.cfg
# umount /mnt/floppy
# umount /mnt/cdrom


As usual, dd if=boot.img of=/dev/fd0 bs=1440k to create the boot floppy.



Installation time!

Ingredients: the modified boot disc, the updated additional block device driver disc, the cciss.o kernel modules disc, the SME Server CD-ROM, the HP ProLiant DL380G4 - of course :-)

Boot from the floppy, leaving the CD-ROM reader empty: the installer will not find the SME CD and will ask for it; go "Back", and select the (non existent) hard driver as installation media.

Tell the installer you want to configure additional devices, and press F2 to search them on a separate driver disk.

Insert the updated additional block device driver disk, press OK and select the sparkling new cciss driver. The hard disk now is recognized, but it's empty, so the installer will ask for the installation media again. Select "Local CDROM", press OK and insert the SME CD in the drive when the installer will ask for it.

From now on, it's business as usual, until the installation is complete. Instead of rebooting, press CTRL-ALT-F2 to the command line and dismount the driver disc:
Code: [Select]
# umount /tmp/drivers

Then insert the cciss.o modules disc and do:
Code: [Select]
# chroot /mnt/sysimage
# mount -t auto /dev/fd0 /mnt/floppy

# tar xvzf /mnt/floppy/cciss.o.tgz
# /sbin/depmod -a 2.4.20-18.7
# /sbin/depmod -a 2.4.20-18.7smp

# cd /boot
# mv  initrd-2.4.20.18.7.img  initrd-2.4.20.18.7.img.original
# mv  initrd-2.4.20.18.7smp.img  initrd-2.4.20.18.7smp.img.original
# /sbin/mkinitrd  initrd-2.40.20.18.7.img  2.40.20.18.7
# /sbin/mkinitrd  initrd-2.40.20.18.7smp.img  2.40.20.18.7smp
# /sbin/lilo -v
# exit


The system now sees the Smart Array 6i and can boot from it. Press CTRL-ALT-F1 to go back to the installer and press OK to reboot.

During the first boot, the admin console asks for configurations: business as usual, the tg3 net drivers work just fine.

If you can read this line, you are a superhero. Apply for a job as a member of the "Incredibles" team... :-)
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: pmiranda on January 31, 2005, 07:51:17 PM
zlonew it's still me, I forgot my login credential and created another account...

That's what who relies on browser password managers deserves...  :oops:
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: matsk on January 31, 2005, 10:00:42 PM
zlonew could you contribute it as a HowTo ?

/Mats
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: Franco on January 31, 2005, 10:03:56 PM
Thanks for the great How To Miranda, but I still haven't solved my problem, I have the Intel S875WP1-E which comes with the SATA Raid (adptec), I was able to install the system booting from a floppy image someone have posted in this forum (sorry, I don't have the exact link anymore), and using the left SHIFT and accept dd. But as soon as the system boots I get the kernel panic... :oops:
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: pmiranda on February 01, 2005, 08:53:53 AM
Quote from: "matsk"
zlonew could you contribute it as a HowTo ?

More than willing to comply - I only have to figure out how to do it, I am not familiar with tools like wiki and blogs...

Can someone point me in the right direction, just to spare some time?
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: mbachmann on February 01, 2005, 09:28:04 AM
To finish your Howto, goto http://no.longer.valid/phpwiki/index.php/Compaq%20Proliant%20DL%20380%20G4%20Installation and edit it - the edit button is small and in the lower right corner. You must be logged in.
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: pmiranda on February 01, 2005, 09:32:17 AM
Quote from: "stuntshell"
I have the Intel S875WP1-E which comes with the SATA Raid (adptec), I was able to install the system booting from a floppy image someone have posted in this forum (sorry, I don't have the exact link anymore), and using the left SHIFT and accept dd. But as soon as the system boots I get the kernel panic... :oops:

As far as I know, it's normal: the driver on the disk is used by the installer kernel to recognize the controller, BUT the kernel installed on the disk (and consequently its initrd ram disk) still doesn't know anything about it.

If you have access to the kernel module source of the Adaptec SATA Raid you can sort of follow my guidelines and compile the modules for the SME Server 2.4.10-18-7[smp] kernel.

If you have access to the controller modules precompiled  for these specific kernels you can install SME Server with accept dd parameter, then jump to the command shell without rebooting, chroot into /mnt/sysimage and follow the modules package author instructions to install them.

If you do not have access to any of the above resources, I fear you are in it deep... :-(
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: pmiranda on February 01, 2005, 09:36:56 AM
Quote from: "Me Myself :-)"
Thank you, I am going to re-check the installation procedure, then I'll start to work on it.


Installation re-checked, How-To published and available: Compaq Proliant DL 380 G4 Installation (http://"http://no.longer.valid/phpwiki/index.php/Compaq%20Proliant%20DL%20380%20G4%20Installation"). :-)
Title: SME Server 6.0.1-01 on HP ProLiant DL380G4
Post by: mbachmann on February 01, 2005, 10:39:47 AM
We appreciate your work. Thank you.