home | help
MAKEFS(8)		     System Manager's Manual		       MAKEFS(8)

NAME
     makefs -- create a file system image from a directory tree

SYNOPSIS
     makefs [-x] [-B byte-order] [-b free-blocks] [-d debug-mask] [-F specfile]
	    [-f free-files] [-M minimum-size] [-m maximum-size] [-N userdb-dir]
	    [-o fs-options] [-S sector-size] [-s image-size] [-t fs-type]
	    image-file directory

DESCRIPTION
     The utility makefs creates a file system image into image-file from the di-
     rectory  tree  directory.	No special devices or privileges are required to
     perform this task.

     The options are as follows:

     -B byte-order
	   Set the byte order of the image to byte-order.  Valid byte orders are
	   `4321', `big', or `be' for big endian, and `1234', `little', or  `le'
	   for little endian.  Some file systems may have a fixed byte order; in
	   those cases this argument will be ignored.

     -b free-blocks
	   Ensure  that a minimum of free-blocks free blocks exist in the image.
	   An optional `%' suffix may be provided to indicate  that  free-blocks
	   indicates a percentage of the calculated image size.

     -d debug-mask
	   Enable various levels of debugging, depending upon which bits are set
	   in debug-mask.  XXX: document these

     -F specfile
	   Use specfile as an mtree(8) `specfile' specification.

	   If a specfile entry exists in the underlying file system, its permis-
	   sions and modification time will be used unless specifically overrid-
	   den by the specfile.  An error will be raised if the type of entry in
	   the specfile conflicts with that of an existing entry.

	   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 optional, the specfile entry is ignored.  Otherwise,
	   the entry will be created in the image, and it is necessary to  spec-
	   ify	at  least  the following parameters in the specfile: type, mode,
	   gname, or gid, and uname or uid, and link (in the  case  of	symbolic
	   links).   If  time isn't provided, the current time will be used.  If
	   flags isn't provided, the current file flags will be  used.	 Missing
	   regular file entries will be created as zero-length files.

     -f free-files
	   Ensure  that a minimum of free-files free files (inodes) exist in the
	   image.  An optional `%' suffix  may	be  provided  to  indicate  that
	   free-files indicates a percentage of the calculated image size.

     -M minimum-size
	   Set the minimum size of the file system image to minimum-size.

     -m maximum-size
	   Set	the  maximum  size of the file system image to maximum-size.  An
	   error will be raised if the target file system  needs  to  be  larger
	   than this to accommodate the provided directory tree.

     -N dbdir
	   Use the user database text file master.passwd and group database text
	   file  group	from  dbdir, rather than using the results from the sys-
	   tem's getpwnam(3) and getgrnam(3) (and related) library calls.

     -o fs-options
	   Set file system specific options.  fs-options is  a	comma  separated
	   list of options.  Valid file system specific options are detailed be-
	   low.

     -S sector-size
	   Set the file system sector size to sector-size.  Defaults to 512.

     -s image-size
	   Set the size of the file system image to image-size.

     -t fs-type
	   Create an fs-type file system image.  The following file system types
	   are supported:

		 ffs	 BSD fast file system (default).

		 cd9660  ISO 9660 file system.

     -x    Exclude file system nodes not explicitly listed in the specfile.

     Where  sizes  are specified, a decimal number of bytes is expected.  Two or
     more numbers may be separated by an "x" to indicate a product.  Each number
     may have one of the following optional suffixes:
	   b	Block; multiply by 512
	   k	Kibi; multiply by 1024 (1 KiB)
	   m	Mebi; multiply by 1048576 (1 MiB)
	   g	Gibi; multiply by 1073741824 (1 GiB)
	   t	Tebi; multiply by 1099511627776 (1 TiB)
	   w	Word; multiply by the number of bytes in an integer

   FFS-specific options
     ffs images have ffs-specific optional  parameters	that  may  be  provided.
     Each  of  the  options  consists  of  a keyword, an equal sign (`='), and a
     value.  The following keywords are supported:

	   avgfilesize	 Expected average file size.
	   avgfpdir	 Expected number of files per directory.
	   bsize	 Block size.
	   density	 Bytes per inode.
	   fsize	 Fragment size.
	   maxbpg	 Maximum blocks per file in a cylinder group.
	   minfree	 Minimum % free.
	   optimization  Optimization preference; one of `space' or `time'.
	   extent	 Maximum extent size.
	   maxbpcg	 Maximum total number of blocks in a cylinder group.
	   version	 UFS version.  1 for FFS (default), 2 for UFS2.

   CD9660-specific options
     cd9660 images have ISO9660-specific optional parameters that  may	be  pro-
     vided.   The  arguments consist of a keyword and, optionally, an equal sign
     (`='), and a value.  The following keywords are supported:

	   allow-deep-trees	 Allow the directory  structure  to  exceed  the
				 maximum specified in the spec.
	   allow-max-name	 Allow 37 instead of 33 characters for filenames
				 by omitting the version id.
	   allow-multidot	 Allow multiple dots in a filename.
	   applicationid	 Application ID of the image.
	   archimedes		 Use  the  `ARCHIMEDES' extension to encode RISC
				 OS metadata.
	   chrp-boot		 Write an MBR partition table to  the  image  to
				 allow older CHRP hardware to boot.
	   boot-load-segment	 Set load segment for the boot image.
	   bootimage		 Filename   of	 a  boot  image  in  the  format
				 "sysid;filename",  where  "sysid"  is	one   of
				 `i386', `mac68k', `macppc', or `powerpc'.
	   generic-bootimage	 Load a generic boot image into the first 32K of
				 the cd9660 image.
	   hard-disk-boot	 Boot image is a hard disk image.
	   keep-bad-images	 Don't throw away images whose write was aborted
				 due to an error.  For debugging purposes.
	   label		 Label name of the image.
	   no-boot		 Boot image is not bootable.
	   no-emul-boot 	 Boot image is a "no emulation" ElTorito image.
	   no-trailing-padding	 Do  not  pad  the image (apparently Linux needs
				 the padding).
	   preparer		 Preparer ID of the image.
	   publisher		 Publisher ID of the image.
	   rockridge		 Use RockRidge extensions (for longer filenames,
				 etc.).
	   volumeid		 Volume set identifier of the image.

SEE ALSO
     mtree(8), newfs(8)

HISTORY
     The makefs utility appeared in NetBSD 1.6.

AUTHORS
     Luke Mewburn <lukem@NetBSD.org> (original program)
     Daniel Watt,
     Walter Deignan,
     Ryan Gabrys,
     Alan Perez-Rathke,
     Ram Vedam (cd9660 support)

FreeBSD 8.3			January 10, 2009		       MAKEFS(8)

home | help