Man Linux: Main Page and Category List

NAME

       mkfs.jffs2 - Create a JFFS2 file system image from directory

SYNOPSIS

       mkfs.jffs2   [   -p,--pad[=SIZE]   ]   [  -r,-d,--root  directory  ]  [
       -s,--pagesize=SIZE ] [ -e,--eraseblock=SIZE ] [ -c,--cleanmarker=SIZE ]
       [  -n,--no-cleanmarkers  ]  [  -o,--output image.jffs2 ] [ -l,--little-
       endian ] [ -b,--big-endian ] [ -D,--devtable=FILE ] [ -f,--faketime ] [
       -q,--squash ] [ -U,--squash-uids ] [ -P,--squash-perms ] [ --with-xattr
       ] [ --with-selinux ] [ --with-posix-acl ] [  -m,--compression-mode=MODE
       ]  [  -x,--disable-compressor=NAME  ] [ -X,--enable-compressor=NAME ] [
       -y,--compressor-priority=PRIORITY:NAME ] [  -L,--list-compressors  ]  [
       -t,--test-compression ] [ -h,--help ] [ -v,--verbose ] [ -V,--version ]
       [ -i,--incremental image.jffs2 ]

DESCRIPTION

       The program mkfs.jffs2 creates a JFFS2 (Second Journalling  Flash  File
       System)  file  system  image and writes the resulting image to the file
       specified by the -o option or by default to the standard output, unless
       the  standard output is a terminal device in which case mkfs.jffs2 will
       abort.

       The file system image  is  created  using  the  files  and  directories
       contained  in  the  directory specified by the option -r or the present
       directory, if the -r option is not specified.

       Each block of the files to be placed into the  file  system  image  are
       compressed  using  one  of  the  avaiable  compressors depending on the
       selected compression mode.

       File systems are created with the same endianness as the  host,  unless
       the  -b  or  -l  options  are specified.  JFFS2 driver in the 2.4 Linux
       kernel only supported images having the same endianness as the CPU.  As
       of 2.5.48, the kernel can be changed with a #define to accept images of
       the non-native endianness. Full bi-endian support in the kernel is  not
       planned.

       It  is  unlikely that JFFS2 images are useful except in conjuction with
       the MTD (Memory Technology Device) drivers in the Linux  kernel,  since
       the JFFS2 file system driver in the kernel requires MTD devices.

OPTIONS

       Options  that  take  SIZE  arguments can be specified as either decimal
       (e.g., 65536), octal (0200000), or hexidecimal (0x1000).

       -p, --pad[=SIZE]
              Pad output to SIZE bytes with 0xFF.  If SIZE is  not  specified,
              the output is padded to the end of the final erase block.

       -r, -d, --root=DIR
              Build  file  system  from  directory  DIR.   The  default is the
              current directory.

       -s, --pagesize=SIZE
              Use page size SIZE.  The default is 4 KiB.   This  size  is  the
              maximum size of a data node.

       -e, --eraseblock=SIZE
              Use erase block size SIZE.  The default is 64 KiB.  If you use a
              erase block size different than the  erase  block  size  of  the
              target  MTD device, JFFS2 may not perform optimally. If the SIZE
              specified is below 4096, the units are assumed to be KiB.

       -c, --cleanmarker=SIZE
              Write 'CLEANMARKER' nodes with the size  specified.  It  is  not
              normally appropriate to specify a size other than the default 12
              bytes.

       -n, --no-cleanmarkers
              Do not write 'CLEANMARKER' nodes to the beginning of each  erase
              block.  This  option can be useful for creating JFFS2 images for
              use on NAND flash, and for creating images which are to be  used
              on a variety of hardware with differing eraseblock sizes.

       -o, --output=FILE
              Write JFFS2 image to file FILE.  Default is the standard output.

       -l, --little-endian
              Create a little-endian JFFS2 image.  Default is to make an image
              with the same endianness as the host.

       -b, --big-endian
              Create  a  big-endian  JFFS2 image.  Default is to make an image
              with the same endianness as the host.

       -D, --devtable=FILE
              Use the named FILE as a device table file, for including devices
              and changing permissions in the created image when the user does
              not have appropriate permissions to  create  them  on  the  file
              system used as source.

       -f, --faketime
              Change all file timestamps to '0' for regression testing.

       -q, --squash
              Squash permissions and owners, making all files be owned by root
              and removing write permission for 'group' and 'other'.

       -U, --squash-uids
              Squash owners making all files be owned by root.

       -P, --squash-perms
              Squash permissions, removing write permission  for  'group'  and
              'other'.

       --with-xattr
              Enables xattr, stuff all xattr entries into jffs2 image file.

       --with-selinux
              Enables  xattr, stuff only SELinux Labels into jffs2 image file.

       --with-posix-acl
              Enable xattr, stuff only POSIX  ACL  entries  into  jffs2  image
              file.

       -m, --compression-mode=MODE
              Set  the  default compression mode. The default mode is priority
              which tries the compressors in a predefinied order  and  chooses
              the  first successful one. The alternatives are: none (mkfs will
              not compress) and size (mkfs will try all compressor and chooses
              the one which have the smallest result).

       -x, --disable-compressor=NAME
              Disable  a  compressor.  Use  -L to see the list of the avaiable
              compressors and their default states.

       -X, --enable-compressor=NAME
              Enable a compressor. Use -L to see  the  list  of  the  avaiable
              compressors and their default states.

       -y, --compressor-priority=PRIORITY:NAME
              Set  the priority of a compressor. Use -L to see the list of the
              avaiable compressors and their default priority.  Priorities are
              used by priority compression mode.

       -L, --list-compressors
              Show the list of the avaiable compressors and their states.

       -t, --test-compression
              Call  decompress  after  every compress - and compare the result
              with the original data -, and some other check.

       -h, --help
              Display help text.

       -v, --verbose
              Verbose operation.

       -V, --version
              Display version information.

       -i, --incremental=FILE
              Generate an appendage image for FILE.  If  FILE  is  written  to
              flash and flash is appended with the output, then it seems as if
              it was one thing.

LIMITATIONS

       The format and grammar of the device table file does not  allow  it  to
       create  symbolic  links when the symbolic links are not already present
       in the root working directory.

       However, symbolic links may be specified in the device table file using
       the l type for the purposes of setting their permissions and ownership.

BUGS

       JFFS2 limits device major and minor  numbers  to  8  bits  each.   Some
       consider this a bug.

       mkfs.jffs2  does  not properly handle hard links in the input directory
       structure.  Currently, hard linked files will be expanded  to  multiple
       identical files in the output image.

AUTHORS

       David Woodhouse
       Manual page written by David Schleef <ds@schleef.org>

SEE ALSO

       mkfs(8), mkfs.jffs(1), fakeroot(1)