bug-grub
[Top][All Lists]
Advanced

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

RE: grub can't read large initrd on flash hdc1


From: Skahan, Vince
Subject: RE: grub can't read large initrd on flash hdc1
Date: Thu, 7 Jul 2005 16:05:42 -0700

yet more info:

If I install the same software, with the same procedure,
onto the disk, yet partition the flask disk differently,
it boots just fine.

On a 2GB flash partitioned as follows, it's bad:
  hdc1 = 500 MB, hdc2 = 1000 MB, hdc3 = 500 MB

On the same flash partitioned as follows, it's fine:
  hdc1 = 1500 MB, hdc2 = 250 MB, hdc3 = 250 MB

Seems somehow geometry/position dependent more and more,
with the smaller hdc1 (which contains the /boot/grub tree)
the problem exists.

I took a little peek with dumpe2fs, looks like mke2fs
calculated a 1k block size with the smaller partition,
since there are very few (under 100) files on this partition,
would manually setting the block size increase grub's
read performance on the initrd perhaps ?

-- address@hidden -- Cabin Network --
             connexion by Boeing sm
           www.connexionbyboeing.com



-----Original Message-----
From: Skahan, Vince 
Sent: Tuesday, July 05, 2005 6:44 PM
To: address@hidden
Subject: RE: grub can't read large initrd on flash hdc1



More info - it's actually not hanging infinitely,
the read of the initrd completes in 25+ minutes
(not about one minute) and the o/s does eventually 
boot.

I've tried to compress the initrd with gzip to lower
the compute needs to uncompress (was using gzip -9)
to no avail.

Anybody have any suggestion ?  Would formatting the
partition with a different block size or different
number of inodes help ?

The current formatting is "mke2fs -vm0" on a 500MB
partition on flash.

Again, boots fine from hdc3, on a spinning disk, and
via PXEboot, so there's something related to a large
initrd on flash disk.

I also see on the grub wiki that grub2 has known 
limitations saying "Large files do not work on ext2,
this can be tested with loopback and a hd image",
I'm willing to try grub2 as a test if needed, how
big is too big an initrd for grub2 (or grub legacy)?

-- address@hidden -- Cabin Network --
             connexion by Boeing sm
           www.connexionbyboeing.com



-----Original Message-----
From: Skahan, Vince 
Sent: Wednesday, June 29, 2005 8:10 AM
To: address@hidden
Subject: grub can't read large initrd on flash hdc1



I have a ramdisk-based o/s based on a stripped down redhat9
which I built into a initrd image that runs in a 384MB ramdisk.

I've identified the problem down to the point that I can see that
grub is not completing the grub_read( ) of the initrd, if the initrd
is located on (hd0,0) which is hdc1 on this system.  Location in
the sources is stage2/boot.c

The disk is a 2GB Sandisk flash disk, on a PCI Pentium-M
single board computer, although the problem exists when I install
it the same way on multiple models of flash disk, from
multiple manufacturers, as well we trying the flash on different
manufacturer cards.

Seems like there's something about the initrd that grub can't handle,
when it's in certain physical places on the flash. 

Compressed size of the initrd is 138MB or so.  Used to work,
is it possible that something 'in' the initrd is causing the problem ?
I thought grub just tried to determine the location and size of the
file.

Any ideas ?  I'm willing to patch disk_io.c to see exactly where in
grub_read( ) the read isn't completing, or pretty much anything else
needed to figure out how to fix it.

The same image boots fine:
 - on hdc2 or hdc2 on flash
 - on a spinning disk
 - over the network via pxeboot

I've also tried a number of redhat-modified grubs from redhat9,
fc1, fc2, fc3, fc4 as well as a unmodified grub-0.97 from the
original sources.  Same behavior on all.

Reporting here since I can duplicate the problem on unmodified
grub 0.97 - any pointers/help greatly appreciated...

-- address@hidden -- Cabin Network --
             connexion by Boeing sm
           www.connexionbyboeing.com




_______________________________________________
Bug-grub mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bug-grub


_______________________________________________
Bug-grub mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/bug-grub




reply via email to

[Prev in Thread] Current Thread [Next in Thread]