FWIIW, i've been booting allyesconfig bzImages for a long time (with
only minimal amount of drivers disabled - mostly old ISA ones that
assume the presence of the real hardware), and they boot and work fine
on both 32-bit and 64-bit typical whitebox PCs. That means huge bzImages
that decompresses into a ~41 MB kernel image. I'd expect that to be a
rather severe test of the decompressor.
payload_offset and payload_length in arch/x86/boot/head.S
seems to be used by bootloader to seat the bzImage. or just use size
of bzImage
long term, should add one field after payload_length like
payload_unzip_length to make bootloader or kexec what buffer size
needed.