:man| Alphabetical   Categories   About us 
 
KGZIP (8) | System administration commands and daemons | Unix Manual Pages | :man

NAME

kgzip - compress a kernel

CONTENTS

Synopsis
Description
Notes
Files
Exit Status
See Also
Authors
Bugs

SYNOPSIS

kgzip [-cv] [-f format] [-l loader] [-o output] file

DESCRIPTION

The kgzip utility compresses a kernel or some other bootable binary. Operation is in two phases as follows:
  1. 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.
  2. 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:

-c Omit the link phase.
-v Display object file information.
-f format
Use format as the output format, where format is 'aout' or 'elf'. The default format is ELF.
-l loader
Link loader as the loader.
-o output
Name the output file output. The default is to use the input name with the suffix '.o' (for relocatables) or '.kgz' (for executables).

NOTES

Global variables equivalent to the following are defined in the output:
struct kgz_hdr {
char ident[4]; /* identification: "KGZ" */
uint32_t dload;/* decoded image load address */
uint32_t dsize;/* decoded image size */
uint32_t isize;/* image size in memory */
uint32_t entry;/* entry point */
uint32_t nsize;/* encoded image size */
} kgz;


uint8_t kgz_ndata[]; /* encoded data */

The encoded data is simply gzip(1) output: a header (with no optional fields); compressed data; and 32-bit CRC and size values.

FILES

/usr/lib/kgzldr.o
The default loader

EXIT STATUS


.Ex -std

SEE ALSO

gzip(1), ld(1), a.out(5), elf(5), boot(8), loader(8)

AUTHORS

BUGS

loader(8) gzip(1)

 
Created by Blin Media, 2008-2013