• Home
Name Date Size #Lines LOC

..--

dump/12-May-2024-269216

exfat2img/12-May-2024-1,025872

fsck/12-May-2024-1,9191,597

include/12-May-2024-947613

label/12-May-2024-150117

lib/12-May-2024-2,0981,685

manpages/12-May-2024-338324

mkfs/12-May-2024-1,2701,107

tests/12-May-2024-8265

tune/12-May-2024-157129

.travis.ymlD12-May-20241.5 KiB5444

.travis_get_mainline_kernelD12-May-2024809 4026

BUILD.gnD12-May-20243.5 KiB177152

COPYINGD12-May-202417.7 KiB340281

Makefile.amD12-May-2024484 2820

NEWSD12-May-20244.3 KiB141107

OAT.xmlD12-May-20245.5 KiB8134

README.OpenSourceD12-May-2024438 1211

README.mdD12-May-20244.1 KiB130103

autogen.shD12-May-202442 41

bundle.jsonD12-May-2024761 3333

configure.acD12-May-2024737 3932

README.OpenSource

1[
2    {
3        "Name"                  : "exfatprogs",
4        "License"               : "GPL-2.0-or-later",
5        "License File"          : "COPYING",
6        "Version Number"        : "1.2.0",
7        "Owner"                 : "Namjae Jeon",
8        "Upstream URL"          : "https://github.com/exfatprogs/exfatprogs/archive/refs/tags/1.2.0.tar.gz",
9        "Description"           : "exFAT filesystem userspace utilities."
10    }
11]
12

README.md

1
2## exfatprogs
3As new exfat filesystem is merged into linux-5.7 kernel, exfatprogs is
4created as an official userspace utilities that contain all of the standard
5utilities for creating and fixing and debugging exfat filesystem in linux
6system. The goal of exfatprogs is to provide high performance and quality
7at the level of exfat utilities in windows. And this software is licensed
8under the GNU General Public License Version 2.
9
10## Building exfatprogs
11Install prerequisite packages:
12```
13For Ubuntu:
14    sudo apt-get install autoconf libtool pkg-config
15
16For Fedora, RHEL:
17    sudo yum install autoconf automake libtool
18```
19
20Build steps:
21```
22    cd into the exfatprogs directory:
23    ./autogen.sh
24    ./configure
25    make
26    make install
27```
28
29## Using exfatprogs
30```
31- mkfs.exfat:
32    Build a exfat filesystem on a device or partition(e.g. /dev/hda1, dev/sda1).
33
34Usage example:
35    1. No option(default) : cluster size adjustment as per device size, quick format.
36        mkfs.exfat /dev/sda1
37    2. To change cluster size(KB or MB or Byte) user want
38        mkfs.exfat -c 1048576 /dev/sda1
39        mkfs.exfat -c 1024K /dev/sda1
40        mkfs.exfat -c 1M /dev/sda1
41    3. For full format(zero out)
42        mkfs.exfat -f /dev/sda1
43    4. For set volume label, use -l option with string user want.
44        mkfs.exfat -L "my usb" /dev/sda1
45    5. To change boundary alignment(KB or MB or Byte) user want
46        mkfs.exfat -b 16777216 /dev/sda1
47        mkfs.exfat -b 16384K /dev/sda1
48        mkfs.exfat -b 16M /dev/sda1
49
50- fsck.exfat:
51    Check the consistency of your exfat filesystem and optionally repair a corrupted device formatted by exfat.
52
53Usage example:
54    1. check the consistency.
55        fsck.exfat /dev/sda1
56    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.
57        fsck.exfat -p -s /dev/sda1
58    3. repair a corrupted device in the same way above, but answering yes to all questions.
59        fsck.exfat -y -s /dev/sda1
60
61- tune.exfat:
62    Adjust tunable filesystem parameters on an exFAT filesystem
63
64Usage example:
65    1. print current volume label.
66        tune.exfat -l /dev/sda1
67    2. set new volume label.
68        tune.exfat -L "new label" /dev/sda1
69    3. print current volume serial.
70        tune.exfat -i /dev/sda1
71    4. set new volume serial.
72        tune.exfat -I 0x12345678 /dev/sda1
73
74- exfatlabel:
75    Get or Set volume label or serial
76
77Usage example:
78    1. get current volume label.
79        exfatlabel /dev/sda1
80    2. set new volume label.
81        exfatlabel /dev/sda1 "new label"
82    3. get current volume serial.
83        exfatlabel -i /dev/sda1
84    4. set new volume serial.
85        exfatlabel -i /dev/sda1 0x12345678
86
87- dump.exfat:
88    Show on-disk information
89
90Usage example:
91    dump.exfat /dev/sda1
92
93- exfat2img:
94    Dump metadata of an exFAT filesystem
95
96Usage example:
97    exfat2img -o sda1.dump /dev/sda1
98
99```
100
101## Benchmarks
102
103Some fsck implementations were tested and compared for Samsung 64GB Pro
104microSDXC UHS-I Class 10 which was filled up to 35GB with 9948 directories
105and 16506 files by fsstress.
106
107The difference in the execution time for each testing is very small.
108
109
110| Implementation       | version         | execution time (seconds) |
111|----------------------|-----------------|--------------------------|
112| **exfatprogs fsck**  | 1.0.4           | 11.561                   |
113| Windows fsck         | Windows 10 1809 | 11.449                   |
114| [exfat-fuse fsck]    | 1.3.0           | 68.977                   |
115
116[exfat-fuse fsck]: https://github.com/relan/exfat
117
118## Sending feedback
119If you have any issues, please create [issues][1] or contact to [Namjae Jeon](mailto:linkinjeon@kernel.org) and
120[Hyunchul Lee](mailto:hyc.lee@gmail.com).
121[Contributions][2] are also welcome.
122
123[1]: https://github.com/exfatprogs/exfatprogs/issues
124[2]: https://github.com/exfatprogs/exfatprogs/pulls
125
126## Contributor information
127* Please base your pull requests on the `exfat-next` branch.
128* Make sure you add 'Signed-Off' information to your commits (e.g. `git commit --signoff`).
129* Please check your code contribution using kernel dev-tool script [checkpatch](https://docs.kernel.org/dev-tools/checkpatch.html).
130