Uncompressing broken with commit e7db7b4270

Albin Tonnerre albin.tonnerre at free-electrons.com
Fri Jan 29 10:04:15 EST 2010


On Fri, 29 Jan 2010 15:46 +0100, Uwe Kleine-König wrote :
> On Thu, Jan 28, 2010 at 05:03:49PM +0000, Catalin Marinas wrote:
> > Hi,

> > For whatever reason, with commit e7db7b4270 (arm: add support for
> > LZO-compressed kernels) if the kernel Image goes beyond a certain size
> > it fails to uncompress. Reverting this commit solves the problem.
> > Removing some random kernel features also solves the uncompressing as
> > the kernel image gets smaller.
> With the same commit zImage stopped printing dots during decompression.

> Something that isn't mentioned in the commit log of e7db7b4270 is that
> the decompressing routine for gzip is changed.

> Before lib/inflate.c was included by arch/arm/boot/compressed/misc.c,
> since e7db7b4270 it's lib/decompress_inflate.c.

Indeed, that's why it stopped printing dots.

> Maybe the new implementation needs more stack space?  If so it might
> help to increase the stack size.  (This is defined in the last line of
> arch/arm/boot/compressed/head.S.  If you change the value be sure to
> adapt the value just before the LC1 label in the same file, too.)

If so, the decompressor would exit with an error message stating that it can't
allocate enough memory, so I doubt this is the cause.

However, I have to admit I have no clue as to why Catalin is experiencing this.
Maybe you could check if your kernel is compiled with CONFIG_ALIGNMENT_TRAP, and
try setting it if it's unset, just to make sure it does not try to read
something unaligned?

Anyway... Russell, would you have any hint?
-- 
Albin Tonnerre, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.
http://free-electrons.com



More information about the linux-arm-kernel mailing list