Bug 36940

Summary: Kernel panic during install on Proliant 5000- unable to mount root
Product: [Retired] Red Hat Linux Reporter: Petr Kubecka <pkubecka>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: bennet.deliduka, bgembusia, billyz, dshapin, john_zaloudek, linux, marius.andreiana, max, vincent.louviaux, wrnash
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-09-30 15:38:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 38406, 39864    
Attachments:
Description Flags
Correct "mem=" string PLEASE! none

Description Petr Kubecka 2001-04-20 23:27:01 UTC
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. 

Reproducible: Always
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 
16MB)
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- 
select country\keyboard.

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. 
(Fresh installation)

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).

Comment 1 Brent Fox 2001-04-21 00:01:25 UTC
Changing component to the kernel.

Comment 2 Arjan van de Ven 2001-04-21 08:57:24 UTC
Can you tell how much memory the kernel detects ?

Comment 3 Petr Kubecka 2001-04-21 09:08:14 UTC
Kernel detects only 16 MB, it must be forced on lilo prompt to recognize the 
full 320MB.

Comment 4 Arjan van de Ven 2001-04-21 09:15:30 UTC
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
look ?

Comment 5 Petr Kubecka 2001-04-21 09:23:05 UTC
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.

Comment 6 Petr Kubecka 2001-04-23 22:47:40 UTC
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.

Comment 7 Petr Kubecka 2001-05-03 23:32:02 UTC
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:

From: redhat-install-list-admin
[redhat-install-list-admin]On Behalf Of Paul Whelan
Sent: 03 May 2001 09:41
To: 'redhat-install-list'
Subject: Kernel panic after booting from RH 7.1 install floppy


Hi all,

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
detects 16Mb. 

If anyone can help me out with this I would be very grateful.

cheers
Paul Whelan


Comment 8 Need Real Name 2001-05-11 00:36:44 UTC
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?

Comment 9 Arjan van de Ven 2001-05-11 08:01:36 UTC
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


Comment 10 Arjan van de Ven 2001-05-11 08:08:47 UTC
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.


Comment 11 Petr Kubecka 2001-05-15 14:23:23 UTC
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 
stable.


Comment 12 Need Real Name 2001-05-19 13:13:12 UTC
I tried the parameters as well and just after formatting the disks partitions, 
it crashes with an error complaining it cant find the pmd (?).


Comment 13 Arjan van de Ven 2001-05-19 13:20:02 UTC
Eh woops... that is supposed to be 
linux mem=exactmap mem=0x4000000@0x100000


Comment 14 Need Real Name 2001-05-19 15:02:03 UTC
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.

Comment 15 Petr Kubecka 2001-05-19 23:57:47 UTC
Success!
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 
RAM)

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.

Comment 16 Need Real Name 2001-05-20 01:58:49 UTC
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.



Comment 17 Need Real Name 2001-05-29 19:58:57 UTC
Created attachment 19915 [details]
Correct "mem=" string PLEASE!

Comment 18 Need Real Name 2001-05-30 14:27:05 UTC
Hello,
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?



Comment 19 Arjan van de Ven 2001-05-30 14:41:34 UTC
"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.


Comment 20 Need Real Name 2001-05-30 17:44:39 UTC
Hello,
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
     ftp://ftp.redhat.com/pub/redhat/linux/rawhide/i386/RedHat/RPMS. 
     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.
     http://www.yolinux.com/TUTORIALS/LinuxTutorialKernelRpmInstall.html
     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" 
           with    "image=/boot/vmlinuz-2.4.3-7smp"
         - replace "initrd=/boot/initrd-2.4.2-2smp.img" 
           with    "initrd=/boot/initrd-2.4.3-7smp.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. 



Comment 21 Petr Kubecka 2001-05-30 21:24:00 UTC
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 
MB.
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.

Notes:
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).

Comment 22 Need Real Name 2001-05-30 21:27:53 UTC
Ooops,

In Step 3 above I really used:
  "/sbin/mkinitrd /boot/initrd.2.4.3-7smp.img 2.4.3-7smp"

Comment 23 Need Real Name 2001-05-31 00:27:29 UTC
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.
Regards
P



Comment 24 Need Real Name 2001-06-04 20:27:02 UTC
Thanks for the great explainations ! 
On my 512MB Proliant 5000, I used the kernel upgrade and /etc/lilo.conf update 
using "mem=512M." 
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.

Comment 25 Niels Kristian Jensen 2001-06-12 07:26:05 UTC
Success report!

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)


Comment 26 Need Real Name 2001-12-27 07:39:50 UTC
Redhat 7.2 does not like the "exactmap" usage of the "mem" parameter. Use the 
following instead:

Install: linux mem=256M
Lilo:    append="mem=256M"

Works like a champ on a Proliant 5000!

Comment 27 William R. Nash 2002-11-30 19:31:43 UTC
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.
Bill nash
wrnash


Comment 28 Fido_linux 2002-12-26 15:47:39 UTC
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

Comment 29 Alan Cox 2003-06-06 12:02:35 UTC
*** Bug 38406 has been marked as a duplicate of this bug. ***

Comment 30 Alan Cox 2003-06-06 12:07:14 UTC
*** Bug 38716 has been marked as a duplicate of this bug. ***

Comment 31 Alan Cox 2003-06-06 12:32:50 UTC
*** Bug 40393 has been marked as a duplicate of this bug. ***

Comment 32 Alan Cox 2003-06-06 14:35:34 UTC
*** Bug 48773 has been marked as a duplicate of this bug. ***

Comment 33 Alan Cox 2003-06-09 17:19:00 UTC
*** Bug 37693 has been marked as a duplicate of this bug. ***

Comment 34 Max E 2004-02-17 22:45:16 UTC
*** Bug 115668 has been marked as a duplicate of this bug. ***

Comment 35 Marius Andreiana 2004-09-27 15:43:36 UTC
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)

Comment 36 Max E 2004-09-28 00:21:05 UTC
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.

Comment 37 Marius Andreiana 2004-09-28 06:05:01 UTC
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.

Comment 38 Bugzilla owner 2004-09-30 15:38:57 UTC
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
persists.

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/


Comment 39 Peter E. Popovich 2004-11-27 18:17:08 UTC
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