.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH GENEXT2FS 8 "August 19, 2006"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
genext2fs \- ext2 filesystem generator for embedded systems
.SH SYNOPSIS
.B genext2fs
.RI "[ options ] [ output\-image ]"
.SH DESCRIPTION
\fBgenext2fs\fP 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 \fIoutput-image\fP. 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.
.SH OPTIONS
.TP
.BI "\-x, \-\-starting\-image image"
Use this image as a starting point.
.TP
.BI "\-d, \-\-root directory[:path]"
Add the given directory and contents at a particular path (by default
the root).
.TP
.BI "\-D, \-\-devtable spec\-file[:path]"
Use \fBspec-file\fP 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 \fBspec-file\fP itself.
.TP
.BI "\-b, \-\-size\-in\-blocks blocks"
Size of the image in blocks.
.TP
.BI "\-N, \-\-number\-of\-inodes inodes"
Maximum number of inodes.
.TP
.BI "\-i, \-\-bytes\-per\-inode ratio"
Used to calculate the maximum number of inodes from the available blocks.
.TP
.BI "\-m, \-\-reserved\-percentage"
Number of reserved blocks as a percentage of size. Reserving 0 blocks will prevent creation of the "lost+found" directory.
.TP
.BI "\-g, \-\-block\-map path"
Generate a block map file for this path.
.TP
.BI "\-e, \-\-fill\-value value"
Fill unallocated blocks with value.
.TP
.BI "\-z, \-\-allow\-holes"
Make files with holes.
.TP
.BI "\-f, \-\-faketime"
Use a timestamp of 0 for inode and filesystem creation, instead of the present. Useful for testing.
.TP
.BI "\-q, \-\-squash"
Squash permissions and owners (same as -P -U).
.TP
.BI "\-U, \-\-squash\-uids"
Squash ownership of inodes added using the -d option, making them all
owned by root:root.
.TP
.BI "\-P, \-\-squash\-perms"
Squash permissions of inodes added using the -d option. Analogous to
"umask 077".
.TP
.BI "\-v, \-\-verbose"
Print resulting filesystem structure.
.TP
.BI "\-V, \-\-version"
Print genext2fs version.
.TP
.BI "\-h, \-\-help"
Display help.
.SH EXAMPLES

.EX
.B
genext2fs -b 1440 -d src /dev/fd0
.EE

All files in the 
.I src
directory will be written to
.B /dev/fd0
as a new ext2 filesystem image. You can then mount the floppy as
usual.

.EX
.B
genext2fs -b 1024 -d src -D device_table.txt flashdisk.img
.EE

This example builds a filesystem from all the files in 
.I src,
then device nodes are created based on the contents of the file
.I device_table.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: 
.RS
.nf
f	A regular file
d	Directory
c	Character special device file
b	Block special device file
p	Fifo (named pipe)
.fi
.RE
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:

.RS
.nf
# 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	-	-	-	-	-
.fi
.RE

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.

.SH SEE ALSO
.BR mkfs(8),
.BR genromfs(8),
.BR mkisofs(8),
.BR mkfs.jffs2(1)
.br
.SH 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>.
