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.  Oper-
     ation 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, produc-
	  ing 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 ex-
		 ecutables).

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; otherwise the pre-
     ferred 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