Subject: better compression: 1.0MB for defconfig-minimal kernel

From: John Reiser <[email-masked]>
Date: Wed, 02 May 2007 08:49:45 -0700

upx --lzma compresses much tighter than gzip.
A user-mode test jig succesfully handles the 2.6.21.1 kernel
configured with defconfig-minimal in 1,018,237 bytes total,
in contrast to the 1,390,765 bytes of vmlinux.bin.gz (and the .gz
does not include 34,795 bytes for compiled arch/powerpc/boot/*.c.)
However, I cannot figure out how to get a real bootable kernel
that uses compression.  I'd like to test it on an Apple PowerMac G4
that now runs Fedora Core 6.  The FC6 kernel calls itself "vmlinuz"
but does _not_ use any compression; I double-checked by rebuilding
from the .src.rpm.

A plain "make" in a kernel.org-2.6.21.1 tree gives a vmlinux that is
not compressed.  A "make zImage" produces arch/powerpc/boot/uImage
[with no thanks to the *undocumented* mkimage] that uses gzip,
but does not use any code from arch/powerpc/boot/*.c; so where is
the decompression code?

linux/Documentation/powerpc/*.txt does not shed light on these issues.
Please point me at a description of the flow of control for
building and booting a compressed Linux kernel for powerpc.  Thank you.

--