xref: /freebsd/usr.bin/mkuzip/mkuzip.8 (revision 87569f75a91f298c52a71823c04d41cf53c88889)
1.\" ----------------------------------------------------------------------------
2.\" "THE BEER-WARE LICENSE" (Revision 42):
3.\" <sobomax@FreeBSD.ORG> wrote this file. As long as you retain this notice you
4.\" can do whatever you want with this stuff. If we meet some day, and you think
5.\" this stuff is worth it, you can buy me a beer in return.       Maxim Sobolev
6.\" ----------------------------------------------------------------------------
7.\"
8.\" $FreeBSD$
9.\"
10.Dd September 10, 2004
11.Dt MKUZIP 8
12.Os
13.Sh NAME
14.Nm mkuzip
15.Nd compress disk image for use with
16.Xr geom_uzip 4
17class
18.Sh SYNOPSIS
19.Nm
20.Op Fl v
21.Op Fl o Ar outfile
22.Op Fl s Ar cluster_size
23.Ar infile
24.Sh DESCRIPTION
25The
26.Nm
27utility compresses a disk image file so that the
28.Xr geom_uzip 4
29class will be able to decompress the resulting image at run-time.
30This allows for a significant reduction of size of disk image at
31the expense of some CPU time required to decompress the data each
32time it is read.
33.Nm
34works in two phases:
35.Bl -enum
36.It
37An
38.Ar infile
39image is split into clusters; each cluster is compressed using
40.Xr zlib 3 .
41.It
42The resulting set of compressed clusters along with headers that allow
43locating each individual cluster is written to the output file.
44.El
45.Pp
46The options are:
47.Bl -tag -width indent
48.It Fl o Ar outfile
49Name of the output file
50.Ar outfile .
51The default is to use the input name with the suffix
52.Pa .uzip .
53.It Fl s Ar cluster_size
54Split the image into clusters of
55.Ar cluster_size
56bytes, 16384 bytes by default.
57The
58.Ar cluster_size
59should be a multiple of 512 bytes.
60.It Fl v
61Display verbose messages.
62.El
63.Sh NOTES
64The compression ratio largely depends on the cluster size used.
65.\" The following two sentences are unclear: how can gzip(1) be
66.\" used in a comparable fashion, and wouldn't a gzip-compressed
67.\" image suffer from larger cluster sizes as well?
68For large cluster sizes (16K and higher), typical compression ratios
69are only 1-2% less than those achieved with
70.Xr gzip 1 .
71However, it should be kept in mind that larger cluster
72sizes lead to higher overhead in the
73.Xr geom_uzip 4
74class, as the class has to decompress the whole cluster even if
75only a few bytes from that cluster have to be read.
76.Pp
77.Nm
78inserts a short shell script at the beginning of the generated image,
79which makes it possible to
80.Dq run
81the image just like any other shell script.
82The script tries to load the
83.Xr geom_uzip 4
84class if it is not loaded, configure the image as an
85.Xr md 4
86disk device using
87.Xr mdconfig 8 ,
88and automatically mount it using
89.Xr mount_cd9660 8
90on the mount point provided as the first argument to the script.
91.Sh EXIT STATUS
92.Ex -std
93.Sh SEE ALSO
94.Xr gzip 1 ,
95.Xr zlib 3 ,
96.Xr geom 4 ,
97.Xr geom_uzip 4 ,
98.Xr md 4 ,
99.Xr mdconfig 8 ,
100.Xr mount_cd9660 8
101.Sh AUTHORS
102.An Maxim Sobolev Aq sobomax@FreeBSD.org
103