The kgzip utility compresses a kernel or some other bootable binary. Operation is in two phases as follows:
- A load image of the executable file is built which omits all but the 'text' and 'data' segments. This image is compressed using gzip(1) and output as data in relocatable object format.
- The object file is linked with a special self-hosting loader, producing an executable suitable for booting with either the second- or third-level bootstraps.
Supported object formats are 32-bit ELF and a.out ZMAGIC.
If the file operand has a '.o' suffix, input is assumed to be for the link phase, and the first phase is omitted.
The options are: