Go to file
Park Ju Hyung 668e815440 mkfs.f2fs: make the default extensions list much more sensical
Following extensions are removed:
 - divx: deprecated video format and it's usually wrapped with avi
 - asf: deprecated streaming format
 - asx: redirecting file to asf(small)
 - wmx: redirecting file to wma/wmv(small)
 - rm: deprecated media container
 - video: unused
 - wv: unpopular audio format from 1998

The extensions list is limited to 64 and those don't deserve to be
on this space-precious list.

Common prefixes are introduced and are checked with
https://en.wikipedia.org/wiki/List_of_filename_extensions
to avoid treating possible hot files as cold:
 - mp: covers mp3, mp4, mpeg, mpg
 - wm: covers wma, wmb, wmv
 - og: covers oga, ogg, ogm, ogv
 - jp: covers jpg, jpeg, jp2

Following extensions are added:
 - webm: extremely popular free media container format from Google
         VP8/VP9/AV1 and Vorbis/Opus is often wrapped with this container
 - wav: uncompressed audio format, commonly used with voice recorders
 - svg: vector image format commonly used in web
 - webp: free lossy image format commonly used in web
 - jar: Java archive file
 - deb: Debian software package
 - iso: disk image file
 - gz: gzip compressed file, unable to randomly update
 - xz: xz compressed file, unable to randomly update
 - zst: zstd compressed file, unable to randomly update
 - pdf: PDF document
 - pyc: Python bytecode automatically generated when
        executing python to run .py files
 - ttc, ttf: font files
 - cnt: image alias files commonly used in Android apps
 - exo: EXO player's cache files, commonly used in Android's YouTube app
 - odex, vdex: Android RunTime files found in /data/app/*/oat

Total entries on the list changed from 34 to 36.

Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2019-08-20 11:23:51 -07:00
fsck fsck.f2fs: check only max extra_isize 2019-08-20 11:23:51 -07:00
include f2fs-tools: Improve zoned model check 2019-08-20 11:23:51 -07:00
lib f2fs-tools: Allow using host-aware devices as regular devices 2019-08-20 11:23:51 -07:00
m4 mkfs: Initial commit for patch v2 series 2012-11-26 19:45:59 +09:00
man mkfs.f2fs: add root_owner to give uid/gid 2018-08-27 23:49:26 -07:00
mkfs mkfs.f2fs: make the default extensions list much more sensical 2019-08-20 11:23:51 -07:00
scripts script: add simple test script 2016-04-18 21:11:26 -04:00
tools f2fs_io: exit if system(3) is failed 2019-03-26 11:25:11 -07:00
.gitignore f2fs-tools: Add f2fs_io to .gitignore 2019-03-23 19:00:10 +09:00
AUTHORS mkfs: Initial commit for patch v2 series 2012-11-26 19:45:59 +09:00
autogen.sh defrag.f2fs: introduce defragmentation tool 2015-12-11 15:58:50 -08:00
ChangeLog f2fs-tools: add fsck.f2fs and dump.f2fs 2013-07-04 23:15:25 +09:00
configure.ac tools: add f2fs_io 2019-01-03 20:38:34 -08:00
COPYING License tweak: LGPL v2.1 vs LGPL v2 2014-06-12 16:52:59 +09:00
Makefile.am f2fs-tools: add f2fstat to print f2fs's status in sec 2014-01-14 17:48:35 +09:00
README README: revisit README to fix typos and so on 2016-11-14 16:31:38 -08:00
VERSION f2fs-tools: release 1.12.0 2018-11-21 11:39:05 -08:00
VERSIONING doc: add versioning rule 2018-11-21 11:38:23 -08:00

F2FS format utilility
---------------------

To use f2fs filesystem, you should format the storage partition
with this utilility. Otherwise, you cannot mount f2fs.

Before compilation
------------------

You should install the following packages.
 - libuuid-devel or uuid-dev
 - pkg-config
 - autoconf
 - libtool
 - libselinux1-dev

Initial compilation
-------------------

Before compilation initially, autoconf/automake tools should be run.

 # ./autogen.sh

How to compile
--------------

 # ./configure
 # make
 # make install

How to cross-compile (e.g., for ARM)
------------------------------------

 1. Add the below line into mkfs/Makefile.am:
 mkfs_f2fs_LDFLAGS = -all-static

 2. Add the below line into fsck/Makefile.am:
 fsck_f2fs_LDFLAGS = -all-static

 3. then, do:
 # LDFLAGS=--static ./configure \
	--host=arm-none-linux-gnueabi --target=arm-none-linux-gnueabi
 # make

How to run by default
---------------------

 $ mkfs.f2fs -l [LABEL] $DEV

For more mkfs options, see man page.