Provided by: genext2fs_1.5.0-3build2_amd64 bug

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 is created either from scratch, or from an already existing one if  specified  by  the  -x
       option. Then each -d and -D option successively adds a "layer" to the image.

       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 (this can only  occur
              when  the  -D option appears after the options that create the specified files).  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.

       -a, --tarball file[:path]
              Add the given archive (tarball) contents at a particular path (by default the root).  Note: if not
              compiled  with  `libarchive`,  genext2fs  will  use  a  builtin tarball parser with very primitive
              capabilities (e.g. no sparse file support, generally no support other  than  for  modern  GNU  tar
              without fancy options).

       -b, --size-in-blocks blocks
              Size of the image in blocks.

       -B, --block-size bytes
              Size of a filesystem block in bytes.

       -N, --number-of-inodes inodes
              Maximum number of inodes.

       -L, --volume-label name
              Set the volume label for the filesystem.

       -i, --bytes-per-inode ratio
              Used to calculate the maximum number of inodes from the available blocks.

       -m, --reserved-percentage N
              Number of reserved blocks as a percentage of size. Reserving 0 blocks will prevent creation of the
              "lost+found" directory.

       -o, --creator-os name
              Value for creator OS field in superblock.

       -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. See also SOURCE_DATE_EPOCH.

       -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.

ENVIRONMENT

       SOURCE_DATE_EPOCH
              Standardized date for reproducible builds,  see  https://reproducible-builds.org/docs/source-date-
              epoch/ for more information.

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_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:
              f    A regular file
              d    Directory
              c    Character special device file
              b    Block special device file
              p    Fifo (named pipe)
              l    Symbolic link
       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)