Red Hat Bugzilla – Bug 36940
Kernel panic during install on Proliant 5000- unable to mount root
Last modified: 2008-08-01 12:22:51 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
7.1 installer fails to mount RAMDISK on Proliant 5000 and the installation
crashes. When no mem= option is passed to kernel, the installation
proceeds behind the crash point but then fails with "not enough memory"
due to 16MB RAM detected by default on Compaq machine.
Steps to Reproduce:
1.Make a boot floppy, either bootnet.img or boot.img, also loadlin from DOS
2. at LILO prompt type: expert linux mem=320m (the installer detects only
3. Proceed to crash...
Actual Results: System crashes with Kernel panic. See messages below:
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0
VFS: Cannot open root device "" or 8:41
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root FS on 8:41
I have no device on 8:41 (sdc?)
Expected Results: I should end up in the initial configuration screen-
The same machine is happily running Guinness and there were no hick-ups
during the installation. Also all hardware\drivers are fully functional.
The trouble started when I tried to re-install the computer with Seawolf.
I tried to specify root=/dev/ram @ boot with no success.
Ramdisk init is OK earlier on the screen:
RAMDISK driver initialized: 16 RAM disks of 4608K size 1024 blocksize
Hardware: Proliant 5000, 4xPPro@200MHz, 320MB RAM, Smart-2/P controller,
4x4GB SCSI RAID 5 HW, Embedded SCSI NCR58xx, DAT 24 on ID 3, embedded
video disabled- instead Permedia-2 PCI accelerator, AWE64 on ISA, USR int
modem on ISA, TLAN NIC on PCI, IDE CD-ROM on AWE64 IDE (IDE3).
Changing component to the kernel.
Can you tell how much memory the kernel detects ?
Kernel detects only 16 MB, it must be forced on lilo prompt to recognize the
That's a problem where the BIOS lies to Linux.
For a proliant 2500 I had to change the bios setting from NT to solaris to make
it work :) Some newer compaq bioses even have a linux setting; could you have a
Yep, I have the latest firmware in all HW components; the E16 System ROM (1999)
allows settings Unix\Linux, I tried also Unixware 7.0 but no luck. There is a
good choice of Unix operating systems including Solaris, etc.
Update: the installation fails whenever I specify more than 16MB RAM, i.e.
linux mem=16M works fine, but linux mem=17M fails with the above kernel panic.
Unfortunately 16MB is not enough to proceed with the installation, even when
installing from a local hard disk image. It detects hardware OK from the
driver's floppy but then hangs when running Anaconda - not enough memory or
simply at message- detecting USB mouse.... there is none there.
I have got the same bug confirmed on another Compaq hardware, I propose that
the priority is changed to HIGH.
A copy from the Red Hat Install list follows:
[mailto:email@example.com]On Behalf Of Paul Whelan
Sent: 03 May 2001 09:41
Subject: Kernel panic after booting from RH 7.1 install floppy
I'm having a problem upgrading from RH 7.0 to 7.1. I boot the install floppy
that I wrote using dd (I have also tried rawrite and also other floppies,
and I don't have a bootable CD-ROM on this machine), request a text mode
install, and after a little while get a message saying that I don't have
enough memory to perform the install and my system reboots. So when the boot
prompt next comes up I try specifying linux text mem=64m (i have also tried
linux expert mem=64m, text mem=64m, expert mem=64m), I get no indication
that I have entered anything wrongly, and all the normal boot messages
appear, which are followed by :
VFS: Cannot open root device "" or 08:41
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on 08:41
The machine is a Compaq Prosignia 300 P90 with 64Mb. It has an onboard SCSI
controller (NCR53C810) handling a 2.0Gb Seagate ST32430N hard drive and a
Compaq CR-503BCQ CD-ROM, as well as a PCI SCSI controller (NCR53C825) which
handles 2 x 4.1Gb Compaq ST15150W hard drives. The floppy disk definately
works ok as I booted the system off the boot disk I created as part of the
RedHat 7.0 install process. Some extra information I have found, the system
itself detects all 64mb as it self-tests as part of its power-up sequence,
but if I don't add an append="mem=64m" statement to my lilo.conf Linux only
If anyone can help me out with this I would be very grateful.
OK... I have a Compaq 2500 with 160M, dual processor and I have the same
problem. I installed RH 7.0 with no problem... Is the end in sight? Any
progress with fixing this problem?
For the installer, typing:
linux mem=exactmap mem=0x4000000@0
(the @ is not a typo)
would be the same as "mem=64M" was on 7.0
change the "4" into an "8" if you have, say, 128Mb
I forgot to mention that the above parameter is also to be entered in the
"optional parameters" dialog in the installer, or as "append" line in lilo.conf.
I tried the above parameters on two Proliant's 5000. I could get past the
failure point however the installation failed later for various reasons: Kernel
panics, red screens, idle tasks killed, note enough space on /boot, etc- all
nonsense. They were completely random and varied also with bootdisks
(standalone or net installation). As we have 320MB, we used mem=0x14000000@0
mem=exactmap, but even less memory mem=0x4000000 did not help.
In the meantime we tried the latest Suse release 7.1 on the same hardware and
the installation went without a glitch, the new kernel in their release is rock
I tried the parameters as well and just after formatting the disks partitions,
it crashes with an error complaining it cant find the pmd (?).
Eh woops... that is supposed to be
linux mem=exactmap mem=0x4000000@0x100000
OK, installing using "linux mem=exactmap mem=0x4000000@0x100000" worked like a
charm... installs cleanly... but now the challenge is to get the installed os
to understand that there is 160M of ram available..
I have tried adding "linux mem=exactmap mem=0x4000000@0x100000" to
the /etc/lilo.conf (yes, I remember to run lilo afterwards to commit the
changes)... that just hangs the machine after it has uncompressed linux and
trys to boot it.
I tried replacing it with the famous "mem=160M". Better then before, doesn't
hang the machine but it still only sees 16M.
So what I am doing wrong.
However not that simple. With the suggested parameters I could not get the SMP
kernel to boot up after the installation. Finaly the below worked for me (320MB
mem=exactmap mem=0x9f000@0 mem=0x13f00000@0x100000
7.1 kernel detected ISA PnP USR modem and IDE-CDROM on SB AWE64, something that
had to be configured manually on 7.0.
Since I can't find any documentation on mem=extactmap. Can someone give me a
hint for the parameters required for a 160M Compaq Proliant. Should it be:
mem=exactmap mem=0x9f000@0 mem=0x9F80000@0x100000.
Created attachment 19915 [details]
Correct "mem=" string PLEASE!
I have multiple Proliant 5000 servers that are affected by this bug. Why does
RH 6.2 recognizes all memory fine, but not 7.1? I was looking forward to RH 7.1
for drivers to utilize array controllers - which seem to work fine, though
memory is not recognized. WHAT A GOOF !!
So far I have been super pleased with RH, but now the support I PURCHASED
expects me to be a math-wiz in order to just install the product !! What do I
need to know to get RH 7.1 working? I need this information!
It seems from the entries on this bug that this version will work for Proliant
5000, but the one person who accomplished this did so without RH help, and the
specific question concerning a "mem=" string is still unanswered. WHY?
"Why does RH 6.2 recognizes all memory fine, but not 7.1?":
Red Hat 7.1 trusts the bios on how much memory it says it has. Compaq made a
buggy bios that lies and says "I have 16Mbyte of RAM".
"What do I need to know to get RH 7.1 working? I need this information!"
To get it installed just use
"mem=exactmap mem=0x9f000@0 mem=mem=0x300000@0x100000"
this assumes 64Mb of ram and is enough to get your system working.
(even if you have more, this will work)
The download kernel-2.4.3-7 from rawhide as we have a partial workaround for
this bug in that. With that kernel you can use the oldstyle "mem=xxM" again.
In case there are any others who may benefit from a slower explaination for
this, here is what I did:
1. get kernel-2.4.3-7 from
I chose the "kernel-smp-2.4.3-7.i686.rpm" (multi-processor) kernel for my
purpose. If you do not choose the smp kernel, for you system you will have
to leave-out "smp" from each example given below.
Remember, ftp will save the file to whatever directory you have open when
you begin the ftp prompt.
2. This link is pretty good (I think) for kernel upgrade instructions. I
suggest you take look.
I used "rpm -ivh kernel-smp-2.4.3-7.i686.rpm" to install the kernel
update. This is the only package I installed.
3. After rpm has finished, I ran
"/sbin/mkinitrd /boot/initrd.2.4.3-7smp 2.4.3-7smp"
4. I did not edit /etc/modules.conf
5. Edit lilo.conf to replace the following:
- replace "image=/boot/vmlinuz-2.4.2-2smp"
- replace "initrd=/boot/initrd-2.4.2-2smp.img"
6. To update /etc/lilo.conf with your systems memory, you can now use
"append="mem=xxxM"" where "xxx" is your systems RAM in MB.
7. Run "/sbin/lilo -v" to update /etc/lilo.conf.
I was all set to reboot after this.
After reading today's comments I decided to put together detailed instructions
on how to set the memory on Proliant 5000 if you do not want to get a new
kernel. I strongly believe that this is pretty universal for any Compaq server
that does not report the memory correctly.
1. Write down your total installed memory (for example 320MB). This value is
displayed when the system boots up (in Kilobytes)- in my case it is 327680
KBytes. You need to divide this number by 1024 to arrive to your memory size in
2. Substract 1 MB from the total. This 1 MB resides in low memory region (in
the first MB), 640 kBytes or less is used, the remaining 384kBytes is wasted.
In my scenario you arrive to 319MB.
3. Convert the value to hex. (0x13F00000)
4. Proliant 5000 maps 2 regions - one in low memory, the second one in memory
space above 1MB. When kernel starts to boot:
BIOS-88 9F000@0 (usable).............reports 636kBytes starting from address 0.
BIOS-88 F00000@100000 (usable).......reports 15MBytes above 1 MByte(should
report 319 MBytes)
5. Specify at boot the linux= line as per above comments. Do not forget to add
it to lilo parameters for consequent boots.
A. I installed Creative's Graphic Blaster Exxtreme in Proliant to speed up
XServer instead of built in GL-5434. It may influence memory mapping in the low
region if you use a different graphics card. You can get A0000@0 (usable).
B. To obtain the BIOS-88 listing you need to boot successfully. Try to boot
without any parameters and at the first prompt (do you have a driver disk?) hit
Shift+ Page Up till you scroll to the BIOS lines.
C. This process should work for all Compaq servers, if you succeed do not be
shy to add more comments to this bug.
D. I am puzzled about some suggestions above. If you have total 64 MBytes of
memory how can you have 64MBytes above 1 MB? Is the memory space below 1MB
going to be empty? Nope. There is 1MB@0 and 63MB@1MB (the first one is
obviously less, only 640KBytes or so).
In Step 3 above I really used:
"/sbin/mkinitrd /boot/initrd.2.4.3-7smp.img 2.4.3-7smp"
OK... I will try to give you the clearest explanation I can. RedHat 7.1 only
appears to automatically recognize 16MB... in two parts. The first megabyte is
detected at 0x9f000. The second segment is located at 0x10000. But the
problem is that the os only sees 15Mb at the second location. You can confirm
the memory location is the /var/log/messages file at the top (hint, look for
BIOS provided physical ram map).
So what is the answer?
In my situation, I have 160Mb installed in my machine.
I subtracted the 1Mb, i.e. remaining memory is 159Mb. I multiplied the value
159 x 1024 x 1024. I then converted it into hex (hint Windows calculator is
great at this in scientific mode). I then use this value for the second memory
segment. My lilo.conf has the append command:
append mem=exactmap mem=0x9000@0 mem=0x9f000000@0x1000000
You can use this for the install and also in the lilo.conf file.
I hope this helps.
Thanks for the great explainations !
On my 512MB Proliant 5000, I used the kernel upgrade and /etc/lilo.conf update
On my 256MB Proliant 5000 I used "mem=exactmap mem=0x9f000@0 mem=
0xff00000@0x100000" for installation and as update to /etc/lilo.conf.
Both are working fine - except for apparent incompatability with XFree86-4.0.3
and Cirrus Logic GD54xx. (Bug 33095)
Tomorrow I will get up on the other side of the bed.
Compaq Proliant 1500 servers, with and without Smart-2/P RAID controllers
(cpqarray driver) can install Redhat 7.1 smoothly from a HTTP source with the
following parameter line:
linux mem=exactmap mem=640K@0 mem=127M@1M
(This example is for a 128MB computer, I've tested on 256MB and 96MB too)
Redhat 7.2 does not like the "exactmap" usage of the "mem" parameter. Use the
Install: linux mem=256M
Works like a champ on a Proliant 5000!
ok i'm trying to install redhat 8.0 on a compaq proliant 2500R i have the same
memory problem was reported i tried the following lines still it locks up
linux append=exactmap mem=0x9000@0 mem=0x1B800000 i have 458752 for memory is
there a way i can install 8.0 i can get 7.1 installed fine.
linux text mem=exactmap mem=0x9000@0 mem=0x1FF00000@0x1000000
the above string worked perfectly for me
I am runneing a proliant 5000 w. 4x 200 ppro, 512 mb ram, 4x9.1 disk
*** Bug 38406 has been marked as a duplicate of this bug. ***
*** Bug 38716 has been marked as a duplicate of this bug. ***
*** Bug 40393 has been marked as a duplicate of this bug. ***
*** Bug 48773 has been marked as a duplicate of this bug. ***
*** Bug 37693 has been marked as a duplicate of this bug. ***
*** Bug 115668 has been marked as a duplicate of this bug. ***
Kernel 2.6.5 (FC2) doesn't work at all on proliant 2500. It gives
booting kernel then remains like that (waited 2 min). Kernel 2.4.x
works (installed FC1)
The general syntax when dealing with the Proliant 2500 is to type the
following in on the install grub screen
linux mem=exactmap mem=640K@0 mem=xxxM@1M
xxx is your memory. If you have a 512MB of memory, generally, take
off 640K, which will leave you 511MB. I then use a fudge factor when
calculating the memory - call it 10MB, so typically the xxxM should
be 500M. FC2 doesn't give much feedback i.e. it boots in no-verbose
mode. There should be an option which shows you what is occuring;
you will probably find a kernel panic.
The trouble is that the architecture of the Compaq Proliant servers
is different, and you have to specify the memory i.e. it cannot be
auto-detected. FYI - I have a Proliant 2500 with RH Enterprise 3
running on it; it works a treat with the SMP kernel.
Thanks Max, I've used the mem=exact params for this server, both on
2.4.x and 2.6.x kernels. You're right, I can't tell why 2.6.x doesn't
boot as it's not verbose.
Thanks for the bug report. However, Red Hat no longer maintains this version of
the product. Please upgrade to the latest version and open a new bug if the problem
The Fedora Legacy project (http://fedoralegacy.org/) maintains some older releases,
and if you believe this bug is interesting to them, please report the problem in
the bug tracker at: http://bugzilla.fedora.us/
Comments 35-37 on this bug report refer to an issue that's the subject
of a duplicate WONTFIX bug, bug 124312.
The workaround is to use the same syntax, but use "memmap=" instead of
"mem=". see also http://www.thisishull.net/showthread.php?t=1128