FreeBSD Manual Pages
KGZIP(8) System Manager's Manual KGZIP(8) NAME kgzip -- compress a kernel 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, pro- ducing 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 in- put 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 The kgzip utility exits 0 on success, and >0 if an error occurs. SEE ALSO gzip(1), ld(1), a.out(5), elf(5), boot(8), loader(8) AUTHORS Robert Nordier <rnordier@FreeBSD.org>. BUGS As symbols are lost, the usefulness of this utility for compressing kernels is limited to situations where loader(8) cannot be used; other- wise the preferred method of compressing a kernel is simply to gzip(1) it. FreeBSD 9.3 July 19, 1999 KGZIP(8)
NAME | SYNOPSIS | DESCRIPTION | NOTES | FILES | EXIT STATUS | SEE ALSO | AUTHORS | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=kgzip&sektion=8&manpath=FreeBSD+9.3-RELEASE>