diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man8/makefs.8 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man8/makefs.8')
| -rw-r--r-- | static/netbsd/man8/makefs.8 | 648 |
1 files changed, 648 insertions, 0 deletions
diff --git a/static/netbsd/man8/makefs.8 b/static/netbsd/man8/makefs.8 new file mode 100644 index 00000000..f3f7d30e --- /dev/null +++ b/static/netbsd/man8/makefs.8 @@ -0,0 +1,648 @@ +.\" $NetBSD: makefs.8,v 1.75 2026/03/10 20:17:01 andvar Exp $ +.\" +.\" Copyright (c) 2001-2003 Wasabi Systems, Inc. +.\" All rights reserved. +.\" +.\" Written by Luke Mewburn for Wasabi Systems, Inc. +.\" +.\" 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed for the NetBSD Project by +.\" Wasabi Systems, Inc. +.\" 4. The name of Wasabi Systems, Inc. may not be used to endorse +.\" or promote products derived from this software without specific prior +.\" written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC +.\" 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. +.\" +.Dd January 10, 2026 +.Dt MAKEFS 8 +.Os +.Sh NAME +.Nm makefs +.Nd create a file system image from a directory tree +.Sh SYNOPSIS +.Nm +.Op Fl LrxZ +.Op Fl B Ar endian +.Op Fl b Ar free-blocks +.Op Fl d Ar debug-mask +.Op Fl F Ar mtree-specfile +.Op Fl f Ar free-files +.Op Fl M Ar minimum-size +.Op Fl m Ar maximum-size +.Op Fl N Ar userdb-dir +.Op Fl O Ar offset +.Op Fl o Ar fs-options +.Op Fl S Ar sector-size +.Op Fl s Ar image-size +.Op Fl T Ar timestamp +.Op Fl t Ar fs-type +.Ar image-file +.Ar directory +.Op Ar extra-directory ... +.Sh DESCRIPTION +The utility +.Nm +creates a file system image into +.Ar image-file +from the directory tree +.Ar directory . +If any optional directory trees are passed in the +.Ar extra-directory +arguments, then the directory tree of each argument will be merged +into the +.Ar directory +first before creating +.Ar image-file . +No special devices or privileges are required to perform this task. +.Pp +The options are as follows: +.Bl -tag -width flag +.It Fl B Ar endian +Set the byte order of the image to +.Ar endian . +Valid byte orders are +.Ql 4321 , +.Ql big , +or +.Ql be +for big endian, and +.Ql 1234 , +.Ql little , +or +.Ql le +for little endian. +Some file systems may have a fixed byte order; in those cases this +argument will be ignored. +.It Fl b Ar free-blocks +Ensure that a minimum of +.Ar free-blocks +free blocks exist in the image. +An optional +.Ql % +suffix may be provided to indicate that +.Ar free-blocks +indicates a percentage of the calculated image size. +.It Fl d Ar debug-mask | comma-separated-debug-option +Enable various levels of debugging, depending upon which bits are +set in +.Ar debug-mask . +The mask can also be set by specifying a comma separated list of debugging +options. +These are: +.Bl -tag -width X -offset indent -compact +.It Ar debug_time +Print the time it takes to perform each step. +.It Ar debug_walk_dir +Print each directory as it gets processed. +.It Ar debug_walk_dir_node +Print each file as it gets processed. +.It Ar debug_walk_dir_linkcheck +Print file information for files that have a link count > 1. +.It Ar debug_dump_fsnodes +Dump information about the filesystem nodes. +.It Ar debug_dump_fsnodes_verbose +Enable more detail if +.Dv debug_dump_fsnodes +is enabled. +.It Ar debug_fs_parse_opts +Print debugging information about specific filesystem option parsing. +.It Ar debug_fs_makefs +Print nodes as they are created and enable buffer consistency checks. +.It Ar debug_fs_validate +Enable file-system specific validation (ffs only). +.It Ar debug_fs_create_image +Print image file creation stats (ffs only). +.It Ar debug_fs_size_dir +Print directory size information (ffs only). +.It Ar debug_fs_size_dir_node +Print directory size information per node (ffs only). +.It Ar debug_fs_size_dir_add_dirent +Print directory size information as entries are added (ffs only). +.It Ar debug_fs_populate +Print information at each directory population pass (ffs only). +.It Ar debug_fs_populate_dirbuf +Dump the directory buffer (ffs only). +.It Ar debug_fs_populate_node +Print information about each file during directory population (ffs only). +.It Ar debug_fs_write_file +Print buffer information when writing files (ffs only). +.It Ar debug_fs_write_file_block +Print block information when writing files (ffs only). +.It Ar debug_fs_make_dirbuf +Print directory buffer information (ffs only). +.It Ar debug_fs_write_inode +Print inode information (ffs only). +.It Ar debug_buf_bread +Print block buffer information (ffs only). +.It Ar debug_buf_bwrite +Print block write information (ffs only). +.It Ar debug_buf_getblk +Print block allocation information (ffs only). +.It Ar debug_apply_specfile +Print information about each directory in the specfile. +.It Ar debug_apply_specentry +Print information about each entry in the specfile. +.It Ar debug_apply_speconly +Debug the +.Fl x +special file exclusion. +.El +.It Fl F Ar mtree-specfile +Use +.Ar mtree-specfile +as an +.Xr mtree 8 +.Sq specfile +specification. +.Pp +If a specfile entry exists in the underlying file system, its +permissions and modification time will be used unless specifically +overridden by the specfile. +An error will be raised if the type of entry in the specfile +conflicts with that of an existing entry. +.Pp +In the opposite case (where a specfile entry does not have an entry +in the underlying file system) the following occurs: +If the specfile entry is marked +.Sy optional , +the specfile entry is ignored. +Otherwise, the entry will be created in the image, and it is +necessary to specify at least the following parameters in the +specfile: +.Sy type , +.Sy mode , +.Sy gname , +or +.Sy gid , +and +.Sy uname +or +.Sy uid , +.Sy device +(in the case of block or character devices), and +.Sy link +(in the case of symbolic links). +If +.Sy time +isn't provided, the current time will be used. +If +.Sy flags +isn't provided, the current file flags will be used. +Missing regular file entries will be created as zero-length files. +.It Fl f Ar free-files +Ensure that a minimum of +.Ar free-files +free files (inodes) exist in the image. +An optional +.Ql % +suffix may be provided to indicate that +.Ar free-files +indicates a percentage of the calculated image size. +.It Fl L +All symbolic links are followed. +.It Fl M Ar minimum-size +Set the minimum size of the file system image to +.Ar minimum-size . +.It Fl m Ar maximum-size +Set the maximum size of the file system image to +.Ar maximum-size . +An error will be raised if the target file system needs to be larger +than this to accommodate the provided directory tree. +.It Fl N Ar userdb-dir +Use the user database text file +.Pa master.passwd +and group database text file +.Pa group +from +.Ar userdb-dir , +rather than using the results from the system's +.Xr getpwnam 3 +and +.Xr getgrnam 3 +(and related) library calls. +.It Fl O Ar offset +Instead of creating the file system at the beginning of the file, start +at offset. +Valid only for +.Sy ffs +and +.Sy msdos . +.It Fl o Ar fs-options +Set file system specific options. +.Ar fs-options +is a comma separated list of options. +Valid file system specific options are detailed below. +.It Fl r +When merging multiple directories replace duplicate files with the last found. +.It Fl S Ar sector-size +Set the file system sector size to +.Ar sector-size . +Defaults to 512 for most file systems, but is 2048 for +.Sy cd9660 +and +.Sy udf +for CD/DVD/BD optical media types. +.It Fl s Ar image-size +Set the size of the file system image to +.Ar image-size . +This is equivalent of setting both the minimum +.Fl ( M ) +and the maximum +.Fl ( m ) +sizes to +.Ar image-size . +For +.Sy ffs +and +.Sy msdos +the +.Ar offset +is not included on that size. +.It Fl T Ar timestamp +Specify a timestamp to be set for all file system files and directories +created so that repeatable builds are possible. +The +.Ar timestamp +can be a +.Pa pathname , +where the timestamps are derived from that file, a parseable date +for +.Xr parsedate 3 +(this option is not yet available in the tools build), or an integer +value interpreted as the number of seconds from the Epoch. +Note that timestamps specified in an +.Xr mtree 5 +spec file, override the default timestamp. +When this option is enabled, file systems that regularly use +.Xr localtime 3 +to convert times to the native format (such as udf and cd9660), use +.Xr gmtime 3 +instead with the specified timestamps so that they are immune to +timezone changes and get consistent timestamps. +.It Fl t Ar fs-type +Create an +.Ar fs-type +file system image. +The following file system types are supported: +.Bl -tag -width cd9660 -offset indent +.It Sy cd9660 +ISO 9660 file system. +.It Sy chfs +Chip flash file system. +.It Sy ffs +BSD fast file system (default). +.It Sy msdos +FAT12, FAT16, or FAT32 file system. +.It Sy udf +ISO/Ecma UDF file system. +.It Sy v7fs +7th Edition(V7) file system. +.El +.It Fl x +Exclude file system nodes not explicitly listed in the specfile. +Repeating this flag causes +.Nm +to print a warning for each missing system nodes and exit with an error code +if there are any missing. +.It Fl Z +Create a sparse file for +.Sy ffs . +This is useful for virtual machine images. +.El +.Pp +Where sizes are specified, a decimal number of bytes is expected. +Two or more numbers may be separated by an +.Sq x +to indicate a product. +Each number may have one of the following optional suffixes: +.Bl -tag -width 3n -offset indent -compact +.It b +Block; multiply by 512 +.It k +Kibi; multiply by 1024 (1 KiB) +.It m +Mebi; multiply by 1048576 (1 MiB) +.It g +Gibi; multiply by 1073741824 (1 GiB) +.It t +Tebi; multiply by 1099511627776 (1 TiB) +.It w +Word; multiply by the number of bytes in an integer +.El +.\" +.\" +.Ss FFS-specific options +.Sy ffs +images have ffs-specific optional parameters that may be provided. +Each of the options consists of a keyword, an equal sign +.Pq Ql = , +and a value. +The following keywords are supported: +.Pp +.Bl -tag -width optimization -offset indent -compact +.It Sy avgfilesize +Expected average file size. +.It Sy avgfpdir +Expected number of files per directory. +.It Sy bsize +Block size. +.It Sy density +Bytes per inode. +.It Sy extattr +UFS2 with extended attributes. +.It Sy extent +Maximum extent size. +.It Sy fsize +Fragment size. +.It Sy label +Label name of the image. +.It Sy maxbpcg +Maximum total number of blocks in a cylinder group. +.It Sy maxbpg +Maximum blocks per file in a cylinder group. +.It Sy minfree +Minimum % free. +.It Sy optimization +Optimization preference; one of +.Ql space +or +.Ql time . +.It Sy version +File system format version, compatible with the +.Fl O +option of +.Xr newfs 8 . +0 for FFSv1 with the old level 1 format. +1 for FFSv1 (default, level 4), and +2 for FFSv2 (UFS2). +.El +.Ss CD9660-specific options +.Sy cd9660 +images have ISO9660-specific optional parameters that may be +provided. +The arguments consist of a keyword and, optionally, an equal sign +.Pq Ql = , +and a value. +The following keywords are supported: +.Pp +.Bl -tag -width omit-trailing-period -offset indent -compact +.It Sy allow-deep-trees +Allow the directory structure to exceed the maximum specified in +the spec. +.\" .It Sy allow-illegal-chars +.\" Unknown +.\" .It Sy allow-lowercase +.\" Unknown +.It Sy allow-max-name +Allow 37 instead of 33 characters for filenames by omitting the +version ID. +.It Sy allow-multidot +Allow multiple dots in a filename. +.It Sy applicationid +Application ID of the image. +.It Sy archimedes +Use the +.Ql ARCHIMEDES +extension to encode +.Tn RISC OS +metadata. +.It Sy boot-load-segment +Set load segment for the boot image. +.It Sy bootimage +Filename of a boot image in the format +.Dq sysid;filename , +where +.Dq sysid +is one of +.Ql efi , +.Ql i386 , +.Ql mac68k , +.Ql macppc , +or +.Ql powerpc . +.It Sy chrp-boot +Write an MBR partition table to the image to allow older CHRP hardware to +boot. +.It Sy generic-bootimage +Load a generic boot image into the first 32K of the cd9660 image. +.It Sy hard-disk-boot +Boot image is a hard disk image. +.It Sy keep-bad-images +Don't throw away images whose write was aborted due to an error. +For debugging purposes. +.It Sy label +Label name of the image. +.It Sy no-boot +Boot image is not bootable. +.It Sy no-emul-boot +Boot image is a +.Dq no emulation +ElTorito image. +.It Sy no-trailing-padding +Do not pad the image (apparently Linux needs the padding). +.\" .It Sy omit-trailing-period +.\" Unknown +.It Sy platformid +Set platform ID of section header entry of the boot image. +.It Sy preparer +Preparer ID of the image. +.It Sy publisher +Publisher ID of the image. +.It Sy rockridge +Use RockRidge extensions (for longer filenames, etc.). +.It Sy volumeid +Volume set identifier of the image. +.El +.Ss CHFS-specific options +.Sy chfs +images have chfs-specific optional parameters that may be provided. +Each of the options consists of a keyword, an equal sign +.Pq Ql = , +and a value. +The following keywords are supported: +.Pp +.Bl -tag -width optimization -offset indent -compact +.It Sy pagesize +Pagesize. +.It Sy erasesize +Erase block size of the media. +.It Sy mediatype +Type of the media. +NOR: 0 or NAND: 1. +.El +.Ss msdos-specific options +.Sy msdos +images have MS-DOS-specific optional parameters that may be +provided. +The arguments consist of a keyword, an equal sign +.Pq Ql = , +and a value. +The following keywords are supported (see +.Xr newfs_msdos 8 +for more details): +.Pp +.Bl -tag -width omit-trailing-period -offset indent -compact +.It Cm backup_sector +Location of the backup boot sector. +.It Cm block_size +Block size. +.It Cm bootstrap +Bootstrap file. +.It Cm bytes_per_sector +Bytes per sector. +.It Cm create_size +Create file size. +.It Cm directory_entries +Directory entries. +.It Cm drive_heads +Drive heads. +.It Cm fat_type +FAT type (12, 16, or 32). +.It Cm floppy +Preset drive parameters for standard format floppy disks +(160, 180, 320, 360, 640, 720, 1200, 1232, 1440, or 2880). +.It Cm hidden_sectors +Hidden sectors. +.It Cm info_sector +Location of the info sector. +.It Cm media_descriptor +Media descriptor. +.It Cm num_FAT +Number of FATs. +.It Cm OEM_string +OEM string. +.It Cm offset +Offset in device. +.It Cm reserved_sectors +Reserved sectors. +.It Cm sectors_per_cluster +Sectors per cluster. +.It Cm sectors_per_fat +Sectors per FAT. +.It Cm sectors_per_track +Sectors per track. +.It Cm size +File System size. +.It Cm volume_id +Volume ID. +.It Cm volume_label +Volume Label. +.El +.Ss V7FS-specific options +The following keywords are supported: +.Pp +.Bl -tag -width optimization -offset indent -compact +.It Sy pdp +PDP endian. +.It Sy progress +Display a progress meter for the file system construction and file +population. +.El +.Ss UDF-specific options +.Nm +supports besides writing to image files also direct formatting of disc +partitions and optical media. +Optical media will auto configure settings. +The following udf-specific optional parameters may be provided. +Each of the options consists of a keyword, an equal sign +.Pq Ql = , +and a value. +The following keywords are supported: +.Pp +.Bl -tag -width optimization -offset indent -compact +.It Sy disctype +This can have the following values: +.Bl -tag -width cdromXdvdromXbdromXXX -compact +.It Sy cdrom , Sy dvdrom , Sy bdrom +create a read-only fs +.It Sy dvdram , Sy bdre , Sy disk +create a rewritable fs without sparing for defective sectors +.It Sy cdr , Sy dvdr , Sy bdr +create a rewritable fs on once recordable media using a VAT +.It Sy cdrw , Sy dvdrw +create a rewritable fs with sparing for defective sectors +.El +The sectorsize is set for the selected media and the default maximum disc size +is assumed unless overridden. +For CD-ROM, DVD-ROM and BD-ROM images, the disc +size is the minimum size needed. +Note that the size estimator can +under-estimate in some cases; specify extra free blocks if encountering this. +.It Sy loglabel +Set the logical volume label of the disc to the specified argument. +.It Sy discid +Set the physical volume label of the disc to the specified argument. +Prepend the physical volume label with a volumeset label separated +with a ':' if wanted. +For strict conformance and interchange, don't set the volumeset label +manually unless it has an unique hex number in the first 8 character +positions. +.It Sy minver +Set the minimum UDF version to be used. +Choose UDF version numbers from 0x102, 0x150, 0x200, 0x201, and 0x250. +Version 0x260 is currently not supported +in +.Nm . +.It Sy maxver +Set the maximum UDF version to be used. +Choose UDF version numbers from 0x102, 0x150, 0x200, 0x201, and 0x250. +Version 0x260 is currently not supported +in +.Nm . +.It Sy metaperc +Set the minimum amount of free metadata space. +This is only applicable on UDF 0x250 on rewritable media. +.It Sy checksurface +Check the surface of non error-free rewritable media for remapping. +Note this is a destructive test and can take quite a while! +.It Sy forceformat +Force formatting on non-empty recordable media. +.El +.Sh SEE ALSO +.Xr strsuftoll 3 , +.Xr installboot 8 , +.Xr mtree 8 , +.Xr newfs 8 +.Sh HISTORY +The +.Nm +utility appeared in +.Nx 1.6 . +.Sh AUTHORS +.An Luke Mewburn +.Aq lukem@NetBSD.org +(original program), +.An Daniel Watt , +.An Walter Deignan , +.An Ryan Gabrys , +.An Alan Perez-Rathke , +.An Ram Vedam +(cd9660 support), +.An UCHIYAMA Yasushi +(v7fs support), +.An Tamas Toth +(chfs support), +.An Christos Zoulas +(msdos support), +.An Reinoud Zandijk +(udf support). |
