1 .\" $NetBSD: makefs.8,v 1.13 2004/02/13 17:56:18 wiz Exp $
3 .\" Copyright (c) 2001-2003 Wasabi Systems, Inc.
4 .\" All rights reserved.
6 .\" Written by Luke Mewburn for Wasabi Systems, Inc.
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\" notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\" notice, this list of conditions and the following disclaimer in the
15 .\" documentation and/or other materials provided with the distribution.
16 .\" 3. All advertising materials mentioning features or use of this software
17 .\" must display the following acknowledgement:
18 .\" This product includes software developed for the NetBSD Project by
19 .\" Wasabi Systems, Inc.
20 .\" 4. The name of Wasabi Systems, Inc. may not be used to endorse
21 .\" or promote products derived from this software without specific prior
22 .\" written permission.
24 .\" THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
25 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
26 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC
28 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 .\" POSSIBILITY OF SUCH DAMAGE.
43 .Nd create a file system image from a directory tree
50 .Op Fl o Ar fs-options
53 .Op Fl d Ar debug-mask
56 .Op Fl B Ar byte-order
59 .Op Fl S Ar sector-size
62 .Op Fl M Ar minimum-size
65 .Op Fl m Ar maximum-size
68 .Op Fl s Ar image-size
71 .Op Fl b Ar free-blocks
74 .Op Fl f Ar free-files
81 .Op Fl N Ar userdb-dir
88 creates a file system image into
90 from the directory tree
92 No special devices or privileges are required to perform this task.
94 The options are as follows:
100 The following file system types are supported:
101 .Bl -tag -width ffs -offset indent
103 BSD fast file system (default).
105 .It Fl o Ar fs-options
106 Set file system specific options.
108 is a comma separated list of options.
109 Valid file system specific options are detailed below.
110 .It Fl d Ar debug-mask
111 Enable various levels of debugging, depending upon which bits are set
115 .It Fl B Ar byte-order
116 Set the byte order of the image to
118 Valid byte orders are
129 Some file systems may have a fixed byte order; in those cases this
130 argument will be ignored.
131 .It Fl S Ar sector-size
132 Set the file system sector size to
135 .It Fl M Ar minimum-size
136 Set the minimum size of the file system image to
138 .It Fl m Ar maximum-size
139 Set the maximum size of the file system image to
141 An error will be raised if the target file system needs to be larger
142 than this to accommodate the provided directory tree.
143 .It Fl s Ar image-size
144 Set the size of the file system image to
146 .It Fl b Ar free-blocks
147 Ensure that a minimum of
149 free blocks exist in the image.
152 suffix may be provided to indicate that
154 indicates a percentage of the calculated image size
155 .It Fl f Ar free-files
156 Ensure that a minimum of
158 free files (inodes) exist in the image.
161 suffix may be provided to indicate that
163 indicates a percentage of the calculated image size
172 If a specfile entry exists in the underlying file system, its permissions and
173 modification time will be used unless specifically overridden by the specfile.
174 An error will be raised if the type of entry in the specfile conflicts
175 with that of an existing entry.
178 (where a specfile entry does not have an entry in the underlying file system)
179 the following occurs:
180 If the specfile entry is marked
182 the specfile entry is ignored.
183 Otherwise, the entry will be created in the image,
184 and it is necessary to specify at least the following parameters
196 (in the case of block or character devices), and
198 (in the case of symbolic links).
201 isn't provided, the current time will be used.
204 isn't provided, the current file flags will be used.
205 Missing regular file entries will be created as zero-length files.
207 Exclude file system nodes not explcitly listed in the specfile.
209 Use the user database text file
211 and group database text file
215 rather than using the results from the system's
219 (and related) library calls.
222 Where sizes are specified, a decimal number of bytes is expected.
223 Two or more numbers may be separated by an
225 to indicate a product.
226 Each number may have one of the following optional suffixes:
227 .Bl -tag -width 3n -offset indent -compact
229 Block; multiply by 512
231 Kilo; multiply by 1024 (1 KB)
233 Mega; multiply by 1048576 (1 MB)
235 Giga; multiply by 1073741824 (1 GB)
237 Tera; multiply by 1099511627776 (1 TB)
239 Word; multiply by the number of bytes in an integer
243 .Ss FFS-specific options
245 images have ffs-specific optional parameters that may be provided.
246 Each of the options consists of a keyword, an equals sign
249 The following keywords are supported:
251 .Bl -tag -width optimization -offset indent -compact
253 Expected average file size
255 Expected number of files per directory
263 Maximum blocks per file in a cylinder group
267 Optimization preference; one of
274 Maximum total number of blocks in a cylinder group
276 UFS version. 1 for FFS (default), 2 for UFS2
288 .Aq lukem@NetBSD.org .