mkfs(1) [minix man page]
MKFS(1) General Commands Manual MKFS(1) NAME
mkfs - make a file system SYNOPSIS
mkfs [-Ldot] [-i inodes] [-b blocks] special prototype OPTIONS
-L Make a listing on standard output -d Use mod time of mkfs binary for all files -o Use a drive other than 0 or 1 (safety precaution) -t Do not test if file system fits on the medium -1 Make a version 1 file system (for backward compatibility) -i Number of i-nodes (files) -b Filesystem size EXAMPLES
mkfs /dev/fd1 proto # Make a file system on /dev/fd1 mkfs -b 360 /dev/fd1 # Make empty 360 block file system mkfs /dev/fd1 360 # Alternate way to specify the size DESCRIPTION
Mkfs builds a file system and copies specified files to it. The prototype file tells which directories and files to copy to it. If the prototype file cannot be opened, and its name is just a string of digits, an empty file system will be made with the specified number of blocks. A sample prototype file follows. The text following the # sign in the example below is comment. In real prototype files, com- ments are not allowed. boot # boot block file (ignored) 360 63 # blocks and i-nodes d--755 1 1 # root directory bin d--755 2 1 # bin dir: mode (755), uid (2), gid (1) sh ---755 2 1 /user/bin/shell # shell has mode rwxr-xr-x mv -u-755 2 1 /user/bin/mv # u = SETUID bit login -ug755 2 1 /user/bin/login# SETUID and SETGID $ # end of /bin dev d--755 2 1 # special files: tty (char), fd0 (block) tty c--777 2 1 4 0 # uid=2, gid=1, major=4, minor=0 fd0 b--644 2 1 2 0 360 # uid, gid, major, minor, blocks $ # end of /dev user d--755 12 1 # user dir: mode (755), uid (12), gid (1) ast d--755 12 1 # /user/ast $ # /user/ast is empty $ # end of /user $ # end of root directory The first entry on each line (except the first 3 and the $ lines, which terminate directories) is the name the file or directory will get on the new file system. Next comes its mode, with the first character being -dbc for regular files, directories, block special files and character special files, respectively. The next two characters are used to specify the SETUID and SETGID bits, as shown above. The last three characters of the mode are the rwx protection bits. Following the mode are the uid and gid. For special files, the major and minor devices are needed. The size in blocks must also be speci- fied for block special files (the MINIX block size is 1K; this can only be changed by changing BLOCK_SIZE and then recompiling the operat- ing system). The maximum size of a file system is 1 Gb for a version 2 file system, and 64 Mb for a version 1 file system. Alas the 8086 fsck runs out of memory on a V2 file system larger than 128 Mb, so for the 8086 version of MINIX you have to limit yourself to file systems of that size. SEE ALSO
mkproto(1), fsck(1), mount(1). MKFS(1)
Check Out this Related Man Page
GENEXT2FS(8) System Manager's Manual GENEXT2FS(8) NAME
genext2fs - ext2 filesystem generator for embedded systems SYNOPSIS
genext2fs [ options ] [ output-image ] DESCRIPTION
genext2fs generates an ext2 filesystem as a normal (non-root) user. It does not require you to mount the image file to copy files on it, nor does it require that you become the superuser to make device nodes. The filesystem image is created in the file output-image. If not specified, it is sent to stdout. By default, the maximum number of inodes in the filesystem is the minimum number required to accommodate the initial contents. In this way, a minimal filesystem (typically read-only) can be created with minimal free inodes. If required, free inodes can be added by passing the relevant options. The filesystem image size in blocks can be minimised by trial and error. OPTIONS
-x, --starting-image image Use this image as a starting point. -d, --root directory[:path] Add the given directory and contents at a particular path (by default the root). -D, --devtable spec-file[:path] Use spec-file to specify inodes to be added, at the given path (by default the root), including files, directories and special files like devices. If the specified files are already present in the image, their ownership and permission modes will be adjusted accordingly. Furthermore, you can use a single table entry to create many devices with a range of minor numbers (see examples below). All specified inodes receive the mtime of spec-file itself. -b, --size-in-blocks blocks Size of the image in blocks. -N, --number-of-inodes inodes Maximum number of inodes. -i, --bytes-per-inode ratio Used to calculate the maximum number of inodes from the available blocks. -m, --reserved-percentage Number of reserved blocks as a percentage of size. Reserving 0 blocks will prevent creation of the "lost+found" directory. -g, --block-map path Generate a block map file for this path. -e, --fill-value value Fill unallocated blocks with value. -z, --allow-holes Make files with holes. -f, --faketime Use a timestamp of 0 for inode and filesystem creation, instead of the present. Useful for testing. -q, --squash Squash permissions and owners (same as -P -U). -U, --squash-uids Squash ownership of inodes added using the -d option, making them all owned by root:root. -P, --squash-perms Squash permissions of inodes added using the -d option. Analogous to "umask 077". -v, --verbose Print resulting filesystem structure. -V, --version Print genext2fs version. -h, --help Display help. EXAMPLES
genext2fs -b 1440 -d src /dev/fd0 All files in the src directory will be written to /dev/fd0 as a new ext2 filesystem image. You can then mount the floppy as usual. genext2fs -b 1024 -d src -D device_table.txt flashdisk.img This example builds a filesystem from all the files in src, then device nodes are created based on the contents of the file device_ta- ble.txt. Entries in the device table take the form of: <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> where name is the file name and type can be one of: f A regular file d Directory c Character special device file b Block special device file p Fifo (named pipe) uid is the user id for the target file, gid is the group id for the target file. The rest of the entries (major, minor, etc) apply only to device special files. An example device file follows: # name type mode uid gid major minor start inc count /dev d 755 0 0 - - - - - /dev/mem c 640 0 0 1 1 0 0 - /dev/tty c 666 0 0 5 0 0 0 - /dev/tty c 666 0 0 4 0 0 1 6 /dev/loop b 640 0 0 7 0 0 1 2 /dev/hda b 640 0 0 3 0 0 0 - /dev/hda b 640 0 0 3 1 1 1 16 /dev/log s 666 0 0 - - - - - This device table creates the /dev directory, a character device node /dev/mem (major 1, minor 1), and also creates /dev/tty, /dev/tty[0-5], /dev/loop[0-1], /dev/hda, /dev/hda1 to /dev/hda15 and /dev/log socket. SEE ALSO
mkfs(8), genromfs(8), mkisofs(8), mkfs.jffs2(1) AUTHOR
This manual page was written by David Kimdon <dwhedon@debian.org>, for the Debian GNU/Linux system (but may be used by others). Examples provided by Erik Andersen <andersen@codepoet.org>. August 19, 2006 GENEXT2FS(8)