summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md129
1 files changed, 129 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d640c06
--- /dev/null
+++ b/README.md
@@ -0,0 +1,129 @@
+
+## exfatprogs
+As new exfat filesystem is merged into linux-5.7 kernel, exfatprogs is
+created as an official userspace utilities that contain all of the standard
+utilities for creating and fixing and debugging exfat filesystem in linux
+system. The goal of exfatprogs is to provide high performance and quality
+at the level of exfat utilities in windows. And this software is licensed
+under the GNU General Public License Version 2.
+
+## Building exfatprogs
+Install prerequisite packages:
+```
+For Ubuntu:
+ sudo apt-get install autoconf libtool pkg-config
+
+For Fedora, RHEL:
+ sudo yum install autoconf automake libtool
+```
+
+Build steps:
+```
+ cd into the exfatprogs directory:
+ ./autogen.sh
+ ./configure
+ make
+ make install
+```
+
+## Using exfatprogs
+```
+- mkfs.exfat:
+ Build a exfat filesystem on a device or partition(e.g. /dev/hda1, dev/sda1).
+
+Usage example:
+ 1. No option(default) : cluster size adjustment as per device size, quick format.
+ mkfs.exfat /dev/sda1
+ 2. To change cluster size(KB or MB or Byte) user want
+ mkfs.exfat -c 1048576 /dev/sda1
+ mkfs.exfat -c 1024K /dev/sda1
+ mkfs.exfat -c 1M /dev/sda1
+ 3. For full format(zero out)
+ mkfs.exfat -f /dev/sda1
+ 4. For set volume label, use -l option with string user want.
+ mkfs.exfat -L "my usb" /dev/sda1
+ 5. To change boundary alignment(KB or MB or Byte) user want
+ mkfs.exfat -b 16777216 /dev/sda1
+ mkfs.exfat -b 16384K /dev/sda1
+ mkfs.exfat -b 16M /dev/sda1
+
+- fsck.exfat:
+ Check the consistency of your exfat filesystem and optionally repair a corrupted device formatted by exfat.
+
+Usage example:
+ 1. check the consistency.
+ fsck.exfat /dev/sda1
+ 2. repair a corrupted device and create files in /LOST+FOUND, which have clusters allocated but not belonged to any files when reparing the device.
+ fsck.exfat -p -s /dev/sda1
+ 3. repair a corrupted device in the same way above, but answering yes to all questions.
+ fsck.exfat -y -s /dev/sda1
+
+- tune.exfat:
+ Adjust tunable filesystem parameters on an exFAT filesystem
+
+Usage example:
+ 1. print current volume label.
+ tune.exfat -l /dev/sda1
+ 2. set new volume label.
+ tune.exfat -L "new label" /dev/sda1
+ 3. print current volume serial.
+ tune.exfat -i /dev/sda1
+ 4. set new volume serial.
+ tune.exfat -I 0x12345678 /dev/sda1
+
+- exfatlabel:
+ Get or Set volume label or serial
+
+Usage example:
+ 1. get current volume label.
+ exfatlabel /dev/sda1
+ 2. set new volume label.
+ exfatlabel /dev/sda1 "new label"
+ 3. get current volume serial.
+ exfatlabel -i /dev/sda1
+ 4. set new volume serial.
+ exfatlabel -i /dev/sda1 0x12345678
+
+- dump.exfat:
+ Show on-disk information
+
+Usage example:
+ dump.exfat /dev/sda1
+
+- exfat2img:
+ Dump metadata of an exFAT filesystem
+
+Usage example:
+ exfat2img -o sda1.dump /dev/sda1
+
+```
+
+## Benchmarks
+
+Some fsck implementations were tested and compared for Samsung 64GB Pro
+microSDXC UHS-I Class 10 which was filled up to 35GB with 9948 directories
+and 16506 files by fsstress.
+
+The difference in the execution time for each testing is very small.
+
+
+| Implementation | version | execution time (seconds) |
+|----------------------|-----------------|--------------------------|
+| **exfatprogs fsck** | 1.0.4 | 11.561 |
+| Windows fsck | Windows 10 1809 | 11.449 |
+| [exfat-fuse fsck] | 1.3.0 | 68.977 |
+
+[exfat-fuse fsck]: https://github.com/relan/exfat
+
+## Sending feedback
+If you have any issues, please create [issues][1] or contact to [Namjae Jeon](mailto:linkinjeon@kernel.org) and
+[Hyunchul Lee](mailto:hyc.lee@gmail.com).
+[Contributions][2] are also welcome.
+
+[1]: https://github.com/exfatprogs/exfatprogs/issues
+[2]: https://github.com/exfatprogs/exfatprogs/pulls
+
+## Contributor information
+* Please base your pull requests on the `exfat-next` branch.
+* Make sure you add 'Signed-Off' information to your commits (e.g. `git commit --signoff`).
+* Please check your code contribution using kernel dev-tool script [checkpatch](https://docs.kernel.org/dev-tools/checkpatch.html).