Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help