[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Disabling support for some IXP4xx machines



Martin Michlmayr wrote:
> * John Reiser <vendor@BitWagon.com> [2008-08-23 13:16]:
> 
>>Kernels as recent as vmlinuz-2.6.25-2-ixp4xx (1365048 bytes) still use
>>gzip.  Changing to upx/nrv ... would save an additional 10% in size ...
>>Changing to lzma ... would save an additional 20% in size ...

> Is this supported in the mainline kernel?  (The next question is
> whether our kernel build system copes with it.)

It works as a post-processing step that takes the final compressed vmlinux
output of the mainline kernel build process, analyzes the file, finds
the gzip compressed part, decompresses, re-compresses using upx/nrv
or lzma, adds the new decompressor, and writes a new vmlinux file.
This has been operational on i386 since late 2000, seven years ago.
The keys to making it work are good documentation of the execution
environment in which the boot-time decompressor must operate
(including cache flushing, for instance) and a debugging harness
which supports single-stepping.

As recently as kernel 2.6.19, there have been proof-of-concept patches
to replace the gzip portion of the mainline kernel build process.
The patches were not pursued due to inertia.  The additional information
provided by i386 boot protocol 2.08 (compressed part is full ELF image)
reduces the benefits of tighter integration, but not completely.

-- 


Reply to: