ae4bdfbd36
(following entries are not updated by this commit: crunchgen.1 groff.1 grohtml.1 grolj4.1 grops.1 grotty.1 pic.1 troff.1 groff_font.5 magic.5 groff_mm.7 re_format.7 disklabel.8)
130 lines
4 KiB
Groff
130 lines
4 KiB
Groff
.\" Copyright (c) 1999 Global Technology Associates, Inc.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
|
|
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
|
.\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
|
.\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
|
.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/usr.sbin/kgzip/kgzip.8,v 1.3.2.1 2000/12/08 15:28:23 ru Exp %
|
|
.\" jpman %Id: kgzip.8,v 1.3 1999/08/28 13:18:13 horikawa Stab %
|
|
.\"
|
|
.Dd July 19, 1999
|
|
.Dt KGZIP 8
|
|
.Os FreeBSD
|
|
.Sh 名前
|
|
.Nm kgzip
|
|
.Nd カーネルを圧縮する
|
|
.Sh 書式
|
|
.Nm
|
|
.Op Fl cv
|
|
.Op Fl l Ar loader
|
|
.Op Fl o Ar output
|
|
.Ar file
|
|
.Sh 解説
|
|
.Nm
|
|
ユーティリテイは、カーネルその他のブート可能バイナリを圧縮します。この
|
|
動作は次の 2 つのフェーズからなります。
|
|
.Bl -enum
|
|
.It
|
|
実行可能ファイルのロードイメージは、
|
|
.Sq text
|
|
セグメントと
|
|
.Sq data
|
|
セグメント以外のすべてを省略して作成されます。
|
|
このイメージを
|
|
.Xr gzip 1
|
|
を用いて圧縮し、
|
|
再配置可能なオブジェクト形式として出力します。
|
|
.It
|
|
出力されるオブジェクトファイルは、特殊な自立ローダとともにリンクされ、
|
|
第 2 レベルもしくは第 3 レベルのブートストラッププログラムによるブートに
|
|
適した実行ファイルが生成されます。
|
|
.El
|
|
.Pp
|
|
サポートする入力ファイルは ELF 形式と ZMAGIC 付きの a.out 形式です。
|
|
出力の形式は常に ELF です。32 ビットオブジェクトのみがサポートされています。
|
|
.Pp
|
|
.Ar file
|
|
オペランドが
|
|
.Sq .o
|
|
接尾子を持つ場合、入力はリンクフェーズにあると見なされ、最初のフェーズは
|
|
省略されます。
|
|
.Pp
|
|
オプションは次のとおりです。
|
|
.Bl -tag -width Fl
|
|
.It Fl c
|
|
リンクフェーズを省略します。
|
|
.It Fl v
|
|
オブジェクトファイル情報を表示します。
|
|
.It Fl l Ar loader
|
|
.Ar loader
|
|
をローダとしてリンクします。
|
|
.It Fl o Ar output
|
|
出力ファイルの名前を
|
|
.Ar output
|
|
とします。
|
|
デフォルトの名前は、(再配置可能形式については) 入力ファイル名の接尾子を
|
|
.Sq .o
|
|
にしたものです。または、(実行可能形式については) 入力ファイルの接尾子を
|
|
.Sq .kgz
|
|
にしたものです。
|
|
.El
|
|
.Sh 注
|
|
以下と等価な大域変数が出力の中で定義されます。
|
|
.Bd -literal
|
|
struct kgz_hdr {
|
|
char ident[4]; /* 識別子: "KGZ" */
|
|
uint32_t dload; /* デコードされたイメージのロードアドレス */
|
|
uint32_t dsize; /* デコードされたイメージの大きさ */
|
|
uint32_t isize; /* メモリ中のイメージの大きさ */
|
|
uint32_t entry; /* エントリポイント */
|
|
uint32_t nsize; /* エンコードされたイメージの大きさ */
|
|
} kgz;
|
|
|
|
uint8_t kgz_ndata[]; /* エンコードされたデータ */
|
|
.Ed
|
|
.Pp
|
|
エンコードされたデータは、単に
|
|
.Xr gzip 1
|
|
の出力です。ヘッダ (オプションフィールドは一切持ちません)、圧縮された
|
|
データ、32 ビットの CRC とサイズの値を持ちます。
|
|
.Sh 関連ファイル
|
|
.Bl -tag -width /usr/lib/kgzldr.o -compact
|
|
.It Pa /usr/lib/kgzldr.o
|
|
デフォルトのローダ。
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr gzip 1 ,
|
|
.Xr ld 1 ,
|
|
.Xr elf 5 ,
|
|
.Xr a.out 5 ,
|
|
.Xr boot 8 ,
|
|
.Xr loader 8
|
|
.Sh 診断
|
|
成功すれば終了ステータスは 0 となり、エラーが発生すれば >0 となります。
|
|
.Sh 作者
|
|
.An Robert Nordier Aq rnordier@FreeBSD.org
|
|
.Sh バグ
|
|
シンボル情報は失われていますので、カーネルの圧縮にこのユーティリティを
|
|
使う利点は、
|
|
.Xr loader 8
|
|
が使用できない状況に限られます。それ以外の場合、単に
|
|
.Xr gzip 1
|
|
を使ってカーネルを圧縮する方が望ましいでしょう。
|