xref: /freebsd/usr.bin/mkuzip/mkuzip.8 (revision f0a75d274af375d15b97b830966b99a02b7db911)
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 March 17, 2006
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.
33The
34.Nm
35utility
36works in two phases:
37.Bl -enum
38.It
39An
40.Ar infile
41image is split into clusters; each cluster is compressed using
42.Xr zlib 3 .
43.It
44The resulting set of compressed clusters along with headers that allow
45locating each individual cluster is written to the output file.
46.El
47.Pp
48The options are:
49.Bl -tag -width indent
50.It Fl o Ar outfile
51Name of the output file
52.Ar outfile .
53The default is to use the input name with the suffix
54.Pa .uzip .
55.It Fl s Ar cluster_size
56Split the image into clusters of
57.Ar cluster_size
58bytes, 16384 bytes by default.
59The
60.Ar cluster_size
61should be a multiple of 512 bytes.
62.It Fl v
63Display verbose messages.
64.El
65.Sh NOTES
66The compression ratio largely depends on the cluster size used.
67.\" The following two sentences are unclear: how can gzip(1) be
68.\" used in a comparable fashion, and wouldn't a gzip-compressed
69.\" image suffer from larger cluster sizes as well?
70For large cluster sizes (16K and higher), typical compression ratios
71are only 1-2% less than those achieved with
72.Xr gzip 1 .
73However, it should be kept in mind that larger cluster
74sizes lead to higher overhead in the
75.Xr geom_uzip 4
76class, as the class has to decompress the whole cluster even if
77only a few bytes from that cluster have to be read.
78.Pp
79The
80.Nm
81utility
82inserts a short shell script at the beginning of the generated image,
83which makes it possible to
84.Dq run
85the image just like any other shell script.
86The script tries to load the
87.Xr geom_uzip 4
88class if it is not loaded, configure the image as an
89.Xr md 4
90disk device using
91.Xr mdconfig 8 ,
92and automatically mount it using
93.Xr mount_cd9660 8
94on the mount point provided as the first argument to the script.
95.Sh EXIT STATUS
96.Ex -std
97.Sh SEE ALSO
98.Xr gzip 1 ,
99.Xr zlib 3 ,
100.Xr geom 4 ,
101.Xr geom_uzip 4 ,
102.Xr md 4 ,
103.Xr mdconfig 8 ,
104.Xr mount_cd9660 8
105.Sh AUTHORS
106.An Maxim Sobolev Aq sobomax@FreeBSD.org
107