Re: initrd_size inflation breaks initramfs

From: dann frazier <dannf_at_hp.com>
Date: 2005-11-29 03:24:33
On Mon, 2005-11-28 at 08:15 -0800, Jesse Barnes wrote:
> On Sunday, November 27, 2005 10:23 pm, dann frazier wrote:
> > hey,
> >   I've been trying to track down why initramfs seems to be broken on
> > ia64 when passed using the initrd= flag.  This appears to be due to an
> > inflated ia64_boot_param->initrd_size.  In my case, initrd_size got
> > set to 1957888 (which happens to be a multiple of 4K), when my
> > initramfs file is actually 1957415 bytes.
> >
> > unpack_to_rootfs() expects gunzip() to succeed until it has reached
> > the initrd_size.  Since it thinks the image is larger than it actually
> > is, it runs off the end of the initrd and the initramfs footprinting
> > fails. I can get unpack_to_rootfs to succeed by hardcoding my
> > initrd_size.
> >
> > My guess is that this is a bug in elilo.
> >
> > initrd.c has:
> >         /* round up to get required number of pages (4KB) */
> >         initrd->pgcnt = pgcnt = EFI_SIZE_TO_PAGES(size);
> >
> > initrd->pgcnt is later used to calculate the initrd_size boot param,
> > but it is now (size % 4096) bytes too big.
> 
> I thought this bug was fixed?  I remember Erik J. and I seeing the same 
> thing, and iirc we corrected elilo and sent the patch upstream.  Or is 
> this a different problem maybe?

I'm seeing this with Debian's 3.4-9 - 3.4 appears to be the latest
release here:
  ftp://ftp.hpl.hp.com/pub/linux-ia64/

But it appears to be > 2 years old.


-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Tue Nov 29 03:25:13 2005

This archive was generated by hypermail 2.1.8 : 2005-11-29 03:25:30 EST