public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* initrd_size inflation breaks initramfs
@ 2005-11-28  6:23 dann frazier
  2005-11-28  9:44 ` Andreas Schwab
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: dann frazier @ 2005-11-28  6:23 UTC (permalink / raw)
  To: linux-ia64

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.
-- 
dann frazier <dannf@hp.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2005-11-28 16:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-28  6:23 initrd_size inflation breaks initramfs dann frazier
2005-11-28  9:44 ` Andreas Schwab
2005-11-28 15:57 ` dann frazier
2005-11-28 16:15 ` Jesse Barnes
2005-11-28 16:24 ` dann frazier
2005-11-28 16:27 ` Matthew Wilcox
2005-11-28 16:28 ` dann frazier
2005-11-28 16:45 ` Brett Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox