[SLE] HOWTO: Installing SuSE 9.1 on a DPT/Adaptec RAID Controller
From: L. Mark Stone (LMStone_at_RNoME.com)
Date: 08/18/04
- Previous message: Danny Sauer: "Re: [SLE] Fail to install from hard-disk"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
To: "Suse-Linux-E" <suse-linux-e@suse.com> Date: Wed, 18 Aug 2004 15:42:21 -0400
Greetings from Maine, USA...
Many on this list have reported difficulties installing SuSE 9.1 on SCSI
drives connected to DPT and Adaptec SCSI RAID controllers. SuSE's
policy is not to provide installation support for these devices.
After a good deal of testing, I have a solution that works for me and my
DPT 2865U3 controller. This solution should also work for derivative
controllers like the Adaptec 2100S. Please test with a non-production
system before you risk your production data!
If the SuSE crew are listening, this situation could be easily fixed for
SuSE 9.2 (and presumably SLES9). (See note below.)
::History::
In SuSE 8.2 and earlier, these controllers were accessed via the dpt_i2o
module.
In SuSE 9.0 the dpt_i2o module was partially broken, although you could
still install the operating system under certain configurations.
In SuSE 9.1 it was impossible to install using these controllers, even
using the aacraid module, the presumed replacement for dpt_i2o.
::Solution Overview::
The trick is to access these drives using the i2o subsystem exclusively,
and forego any SCSI emulation provided by the dpt_i2o, aacraid, or
i2o_scsi modules. By loading ONLY the i2o_core and i2o_block modules,
SuSE Linux 9.1 can access drives connected to these controllers
seamlessly, as /dev/i2o/hda, etc. See
http://i2o.shadowconnect.com/faq.php for more info on i2o.
::9.1 Installation Problem::
I tried to do a manual install of 9.1, selecting the i2o_block module
from the list of SCSI modules (this also loads the i2o_core and
i2o_config modules). But, when the system goes through its first
reboot during the installation process, the system hung with a kernel
panic.
Adding "insmod=i2o_core insmod=i2o_block" to the boot parameters line
when grub loaded did not help.
The reason for the kernel panic is that the SuSE installer did not add
i2o_core and i2o_block to the INITRD_MODULES line
in /etc/sysconfig/kernel (thanks to Carlos Robinson for suggesting
this). So, when the installer ran mkinitrd, the boot ramdisk was
created without these modules. Grub loads fine, but then the initial
ramdisk can't find the real root partition (or any other for that
matter...) and you are stuck.
::9.1 Installation Solution::
To fix this partially installed system, I needed a way to:
1. Edit /etc/sysconfig/kernel, and;
2. Run mkinitrd.
**********************************************************************************************
* NOTE TO SuSE: If you edited the installation
* scripts so that the i2o modules were indeed added
* to /etc/sysconfig/kernel during the installation process (assuming
* a manual install in which the user selected these modules), then
* this family of controllers would likely work just fine.
**********************************************************************************************
How to fix the initrd?
I first tried booting the rescue system, but the i2o modules are
unavailable to the rescue system.
At the end of the day, I wound up installing an IDE drive in the box,
configuring the system BIOS to boot from the IDE drive, and then
installing a vanilla 9.1 system on the IDE drive. I did this with the
installation half finished on the SCSI drives connected to the DPT
controller, and with the DPT controller and SCSI drives still installed
in the box.
Next, from the IDE system I opened a terminal session as root and ran
the following commands:
# modprobe i2o_core
# modprobe i2o_block
# mkdir /mnt/temp
# mount /dev/i2o/hda3 /mnt/temp
# mount /dev/i2o/hda1 /mnt/temp/boot
(Note: The above two commands should be tailored to your specific
partitioning scheme. I configured my hardware RAID array with separate
partitions for /boot, /, swap and /home.)
At this point you can use your favorite editor (as root) to add the i2o
modules to the INITRD_MODULES line in /mnt/temp/etc/sysconfig/kernel.
On my system, the edited line looks like this:
INITRD_MODULES="reiserfs i2o_core i2o_block"
Now, go back to the root terminal session and run:
# chroot /mnt/temp /bin/bash
# mkinitrd
mkinitrd generated an error about not being able to find subdirectories
in the sys tree. This error appears benign.
Now it's time to reboot, and configure the BIOS to completely hide the
IDE drive from the system or just physically remove the IDE drive from
the box (and change the BIOS back to the way it was when you started
the 9.1 installation on the SCSI drive(s)).
As the machine now attempts to boot the partially installed system on
the SCSI drives attached to the DPT controller, initrd will load the
i2o drivers and the 9.1 installation should continue normally -- at
least it did for me.
Many thanks to Carlos Robinson, Phillip Lemon and Leendert Meyer for
their help with this.
I would be interested in hearing from others with this family of
controllers if this solution works for you. Or, if you have a more
elegant way editing the /etc/sysconfig/kernel file and running
mkinitrd.
With best regards,
Mark
-- ___________________________________________________ A Message From... L. Mark Stone Reliable Networks of Maine, LLC 477 Congress Street Portland, ME 04101 (207) 772-5678 -- Check the headers for your unsubscription address For additional commands send e-mail to suse-linux-e-help@suse.com Also check the archives at http://lists.suse.com Please read the FAQs: suse-linux-e-faq@suse.com
- Previous message: Danny Sauer: "Re: [SLE] Fail to install from hard-disk"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|