fails to boot after clean install; memory allocation problem (older Compaq server)

Bug #513528 reported by Tom Louwrier
34
This bug affects 6 people
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: grub2

Hi,

I'm having problems installing Lucid server i386 on an older Compaq server.
This is a Prosignia 300 (Pentium 150, 208MB, both PCI and EISA bus. 2 hdd's and 1 cd, all scsi.
Yes, that is a bit antique but it's always been very reliable for me :-)
Up until now it has been doing fine for years on RedHat Shrike and Lilo, but I thought it was time to try something new with it.

These older Compaqs (Prosignias and Proliants) are known for having a quirky bios. The bios does count 212992 KB at cold boot, but seems to report only 15M or 16M on occasions. I had to boot it with 'append mem=192M' in Lilo with RH.

Install from the Lucid Server CD went easy, after I found out that I had to specify 'memmap=192M@16M' in order for the CD to boot without a kernel panic.
First I set it up with a simple partitioning of / ext4 on sda1 (hd0,1) and swap on sda2 (hd0,5). After rebooting I got
- no grub menu (because only one OS present I learned later)
- error: you need to load the kernel first. press any key to continue
That was it.
Booted from CD again, went into rescue mode and learned a lot about grub.cfg and installing things from the CLI (like in the days when...). That did not fix it.
I changed some memory settings in the bios (booting from floppies for the config utils every time), but no luck. The 'memory hole' option is not there.
Then I messed up dpkg when the CD did a re-install of the base system, so I decided to do a new fresh install.

This time I chose a different setup, with /boot on sda1 (hd0,1) ext3, / on sda3 (hd0,3) ext4 and swap on sda5 (hd0,5). Also I found that the system boots equally well from CD with 'memmap=207M@1M'.
Installation went fine, but I still could not boot. So I downgraded to grub1 (possible because of the separate /boot on ext3), but no joy from that either.

Upgraded it to the latest version of grub2 again, installed in the mbr of sda (hd0) and checked grub.cfg very carefully. No strange things, but still not loading the kernel.

By now I did manage to get into the grub menu, so I could try some more settings easily. Learning every day, eh...
The error 'you need to load the kernel first' appeared to come from trying to load initrd after loading the kernel failed.
Manually changing the boot options gave me another error:
'Booting a command list. Error: cannot allocate real mode pages. Press any key' etc...
So indeed not loading the kernel and thus not initrd either.

Tried different numbers in the memmap argument (192M@16M or 207M@1M), but no luck.
Removed splash and quiet, but no luck.
Removed the 'search' line altogether, but no luck.
Tried linux16, which gave me 'error: too small lower memory (0x9910 > 0x0)' and that is the same error comes up when choosing memtest.

I'm running out of ideas now. This seems to be a bug in the way grub handles memory (detecting, allocating or both) when loading the kernel. Booting from CD works just fine with the memmap line, running kernel 2.6.32-10-generic, so it is quite possible to run this modern software on my older server.
I did not try installing Lilo yet, because I like to use the same setup as I do on my other machines and because I feel grub is the way to go.

I will give it another go tomorrow, and come back to post the output of dmesg (floppy would not mount for me) and the config file produced by the bios config utility. Don't you just love eisa config? :-)
Maybe there is a way of informing grub where and how to find the right memory, but I did not find the documentation for that (yet). The whole memmap thing is something of a hit-and-miss thing for me so far. It's 15 years or more since I was loading modules in high memory by hand using hex in the DOS-days.

This is probably a rare bug or just an incompatibility with a not quite standard bios. Still, I'd like my machine to work with grub and it might very well be a true bug that can also hurt other systems sometime.

If you have any suggestions or things I should do to help find the cause, please let me know.
Keep up the good work.

cheers
Tom

Related branches

Revision history for this message
Tom Louwrier (tom-louwrier) wrote :

system bios config file

Revision history for this message
Stanley Ames (dementedchihuahua) wrote :

Had a similar problem with Ubuntu 9.10 Server. After clean install from disk, the system failed to boot. Went back to disk and used Recovery Mode to check around. Found that the /boot directory was completely empty. No grub, no nothing. Searched around for a bit and found a work around that did the trick to get me back up and booted again.

mount -a
update-grub
grub-install /dev/sda #just installed to my master boot record

Re-booted the system and things ran as normal with everything loading.

Note that I run the Ubuntu server with a minimal Gnome gui installed as a desktop system and NOT as an actual server. I like how snappy it feels. I've only got some other basic packages put on--no bells and whistles, just basic programming stuff and the stuff from Willow Garage: ros.org. I'm not sure if this makes any difference but I thought I would add it.

I still don't what caused this but it is nice to have a work-around.

Stan

Revision history for this message
Tom Louwrier (tom-louwrier) wrote : Re: [Bug 513528] Re: fails to boot after clean install; memory allocation problem (older Compaq server)

Hi Stanley,

I think that you had another problem. There have been cases of
grub-install not finding /boot when it is on a separate partition. This
was fixed recently thoug, so pulling in the latest and greatest of grub2
and associated should solve that.

In my case grub does install right, but fails to load the kernel in
memory (confirmed again yesterday after getting all upgrades but the
kernel which is being held back).

cheers
Tom

Stanley Ames wrote:
> Had a similar problem with Ubuntu 9.10 Server. After clean install from
> disk, the system failed to boot. Went back to disk and used Recovery
> Mode to check around. Found that the /boot directory was completely
> empty. No grub, no nothing. Searched around for a bit and found a work
> around that did the trick to get me back up and booted again.
>
> mount -a
> update-grub
> grub-install /dev/sda #just installed to my master boot record
>
> Re-booted the system and things ran as normal with everything loading.
>
> Note that I run the Ubuntu server with a minimal Gnome gui installed as
> a desktop system and NOT as an actual server. I like how snappy it
> feels. I've only got some other basic packages put on--no bells and
> whistles, just basic programming stuff and the stuff from Willow Garage:
> ros.org. I'm not sure if this makes any difference but I thought I would
> add it.
>
> I still don't what caused this but it is nice to have a work-around.
>
> Stan
>
> ** Attachment added: "system.info"
> http://launchpadlibrarian.net/38848136/system.info
>
>

Revision history for this message
p2 (pete-pinter) wrote :

Okay, really getting discouraged here.

On arguably the world's smallest production server, a Compaq Armada 7730MT (Pentium MMX, 140MB) laptop, a clean install of 9.10 generic fails with similar symptoms as the OP i.e. "You need to load a kernel first".

Getting into the grub menu via the shift key at boot time (v1.97beta4 apparantly), I delete the line:

if [-n ${have_grubenv} ]; then save_env recordfail; fi

... to bypass a different known bug, but immediately get a:

  Booting a command list

error: cannot allocate real mode pages

This machine was happily running 8.04. Serves me right for pushing the envelope lol

Any/all insights welcome and appreciated.

Revision history for this message
Tom Louwrier (tom-louwrier) wrote :

@p2: I know the feeling :-)
These older Compaqs are known for their quircky bioses. In several cases I found that others could get past this problem by changing settings of memory caching or shadowing. I did not find those settings in my bios setup program (this goes by booting from floppy, it's an eisa-slot box. takes hours to try several settings and reboot. and reboot. and reboot.)

See what you can do with those options (if any) in your bios?

cheers
Tom

Changed in grub2 (Ubuntu):
status: New → Confirmed
Revision history for this message
Bu Vo (burkhard-andean-netservice) wrote :

Hi,
same problem here. Setup: old Gericom PIII Laptop with Intel 440Bx Chipset (methink), ATI Rage Lt Pro Grafics and PCMCIA network.

Revision history for this message
p2 (pete-pinter) wrote :

@Tom: So, the last Ubuntu that installed clean on this Compaq Armada 7730MT was 8.04(!?!). All later versions exhibit problems similar to this original bug report.

Installing Ubuntu 8.04 and upgrading through 10.04 took 3 days, but it ran happily enuf. However, *only* kernel 2.6.28-18 booted properly. All subsequent kernels spewed with errors above my pay grade :(

Sadly, I've decided to abandon ongoing efforts in spite of my habit of squeezing blood from the technology turnips.

I've installed a more chronologically compatible Win2k and donated it to a starving student for another few years of service.

Thanks,
/p2

Revision history for this message
Tom Louwrier (tom-louwrier) wrote :

@pete
Nope, the last linux that ran on this machine was RH Shrike, about 6 or
7 years old by now. It booted with LILO, not Grub.
I don't think that the latest kernel(s) are the problem here, since I
can boot from a recent CD well, go into rescue mode and pull in all
sorts of updates. It's the loading of the kernel and initramfs that goes
wrong, so I blame grub for now.

Nice to donate it to a student, shame of the Win tho'. How do you expect
to wean them off M$? ;-)

cheers
Tom

Revision history for this message
David Nicholas (rowerdave) wrote :

Hi, same problem here as well.

Equipment:
- Advent 5365 laptop
- P3 processor

Similar story as above.

Chronology:

8.04 clean install - works fine
10.04-1 clean - fails horribly (error: cannot allocate real mode pages)
10.04-1 update from 8.04 clean - fails horribly (spurious errors, resulting in a kernel 'panic')

Will not however be donating this machine to student!! Keen for a fix...

/D

Revision history for this message
delory Theape (delorytheape) wrote :

Hi Tom,

I think I have the same problem with a Toshiba Tecra A4.
- 2GB RAM
- 250GB HDD (seagate)
- Was happily running Ubuntu 9.x

I have downloaded and verified the installation disks for both 10.04 and 10.10.
I can boot and run both demo versions from the installation disks.
After a clean install to harddrive,
On booting I get the messages;

error: cannot allocate real mode pages
error: you need to load the kernel first
    Failed to boot both default and fallback entries.
Press any key to continue...

I can perform a memory test from the demo/installation disk. This finds no errors.

After installing 10.10, I get a GRUB menu after booting - offering a choice of Ubuntu or memtest86+
When I attempt to launch the memory test (memtest86+) from the GRUB menu (version 1.98+20100804-5ubuntu3),
I get the following error

error: too small lower memory (0x99100 > 0x0).

....sounds like your problem?

Revision history for this message
Tom Louwrier (tom-louwrier) wrote :

Sounds exectly like my issue.
To be honest I have more or less given up on this server since the install of Lucid failed. It's just sitting there.
Still it would be nice to have this fixed, not just for this ancient hardware but for getting a bug out that may harm more serious machines.

cheers
Tom

Revision history for this message
phcoder (phcoder) wrote :

Can anybody at last provide the output of "lsmmap" in GRUB shell as I've already requested on Debian bug?

Revision history for this message
Tom Louwrier (tom-louwrier) wrote :

hi phcoder

I'll try to find some time for that this week.
What debian bug are you referring to? Is this one linked to it yet? When did you ask?

cheers
Tom

Revision history for this message
phcoder (phcoder) wrote :

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588293 bascally this bug forwarded to Debian.

Revision history for this message
Chris Samuel (chris-csamuel) wrote :

On my Toshiba Libretto 70CT Pentium notebook with 32MB of RAM I see this on my lsmmap:

base_addr = 0x100000, length = 0x1f20000, type = 0x1

..and yes, I have this same issue except I'm trying with Debian Squeeze

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package grub2 - 1.99~20110111-1ubuntu1

---------------
grub2 (1.99~20110111-1ubuntu1) natty; urgency=low

  * Resynchronise with Debian. Remaining changes:
    - Adjust for default Ubuntu boot options ("quiet splash").
    - Default to hiding the menu; holding down Shift at boot will show it.
    - Set a monochromatic theme and an aubergine background for Ubuntu.
    - Apply Ubuntu GRUB Legacy changes to legacy update-grub script: title,
      recovery mode, quiet option, tweak how memtest86+ is displayed, and
      use UUIDs where appropriate.
    - Fix backslash-escaping in merge_debconf_into_conf.
    - Remove "GNU/Linux" from default distributor string.
    - Add crashkernel option.
    - Bypass menu unless other OSes are installed or Shift is pressed.
    - Allow Shift to interrupt 'sleep --interruptible'.
    - Reduce visual clutter in normal mode.
    - Remove verbose messages printed before reading configuration.
    - Suppress kernel/initrd progress messages, except in recovery mode.
    - Handle filesystems loop-mounted on file images.
    - Ignore devices loop-mounted from files in Linux grub.d scripts.
    - Show the boot menu if the previous boot failed.
    - Don't generate device.map during grub-install or grub-mkconfig.
    - Adjust upgrade version checks for Ubuntu.
    - Suppress "GRUB loading" message unless Shift is held down.
    - Adjust versions of grub-doc and grub-legacy-doc conflicts.
    - Fix LVM/RAID probing in the absence of /boot/grub/device.map.
    - Look for .mo files in /usr/share/locale-langpack first.
    - Make sure GRUB_TIMEOUT isn't quoted unnecessarily.
    - Build-depend on qemu-kvm rather than qemu-system for grub-pc tests.
    - Use qemu rather than qemu-system-i386.
    - Add a grub-rescue-efi-amd64 package.
    - On Wubi, don't ask for an install device, but just update wubildr
      using the diverted grub-install.
    - Enable lua from grub-extras.
    - Incorporate the bitop library into lua.
    - Add enum_pci function to grub module in lua.
    - Check hardware support before using gfxpayload=keep.
    - Build part_msdos and vfat into EFI boot images.
    - Put second and subsequent Linux menu entries in a submenu.
    - Preferred resolution detection for VBE.
    - Set vt.handoff=7 for smooth handoff to kernel graphical mode.

grub2 (1.99~20110111-1) experimental; urgency=low

  * New Bazaar snapshot.
    - Don't check amount of low memory, as reportedly INT 12h can be broken
      and if low memory is too low we wouldn't have gotten into
      grub_machine_init anyway (closes: #588293, LP: #513528).
    - Submenu default support (LP: #691878).
    - Fix optimisation-dependent grub-mklayout crash (closes: #609584).
  * branch_butter.patch: Don't free an uninitialised pointer if /proc is
    unmounted (LP: #697493).
  * Add a po/LINGUAS file listing the translations we've synced from the TP
    (closes: #609671).
 -- Colin Watson <email address hidden> Tue, 11 Jan 2011 16:39:18 -0600

Changed in grub2 (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.