[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problems with initrd and boot modules



I am trying to install debian 2.2r4 onto an old compaq proliant 4500
with a Compaq Smart2/E raid array.  During the install, I'm able to
insert a DOS floppy containing /boot/cpqarray.o, configure the proper
module paramater (eisa=0x5000), and complete the install up to the part
where it reboots.  I'm not able to boot the system that gets installed.
The kernel complains that it can't find the root device.

I was able to get it to work by modifying the initrd image that gets built
by the boot system.  Please see below for the tinkering that enabled my
machine to finally boot.  What's interesting to note is that cpqarray.o
got installed into the initrd, but no where does it seem to get loaded,
nor could I find anywhere that specified the module paramater that
I needed.

My questions are:

1) Is this the correct forum to identify this kind of problem?  If not, can
   you kindly direct me where I should go?

2) Did I do something wrong during initial setup that prevented creating
   a functioning initrd?

3) Is my modified initrd what *should* have been created by the install?
   Or is there a different/better way to accomplish this?

I appreciate any tips/pointers/chastisements/flames you can offer.  Ok,
maybe not the flames.

Cheers,
- Mark


MY TINKERING THAT FINALLY WORKED
--------------------------------

Here's what I did to finally get the Compaq Proliant to boot after the
Debian 2.2r4 install.  WARNING: I don't know how initrd's are *supposed*
to work.  I just took a stab at it, and it seems to have worked.

I copied the installed /target/boot/initrd.debinstall to another machine,
then did:

1) gunzip < initrd.debinstall > /tmp/foobar
2) mount -o loop /tmp/foobar /mnt
3) vi /mnt/linuxrc 

The linuxrc that was supplied was:

	#!/bin/sh
	/bin/mount -t proc proc /proc
	echo 0x7202 > /proc/sys/kernel/real-root-dev
	/bin/umount /proc

I changed it to:

	#!/bin/sh
	/sbin/insmod /lib/modules/cpqarray.o eisa=0x5000
	/bin/mount -t proc proc /proc
	echo 0x4802 > /proc/sys/kernel/real-root-dev
	/bin/umount /proc

Basically, I loaded the module, with the module paramater that I needed.
I also changed the real-root-dev.  The device major number of my root
device is 72 decimal, not hex.  The hex equiv is 0x48.

4) umount /mnt
5) gzip < /tmp/foobar > initrd.debinstall

I then copied the modified initrd.debinstall back to the installed machine
(I put it in /target/boot/initrd.debinstall) and did:

6) chroot /target /bin/bash
7) lilo

After doing all of this, I was able to boot.



Reply to: