All Projects → namjaejeon → exfatprogs

namjaejeon / exfatprogs

Licence: GPL-2.0 license
exFAT filesystem userspace utilities

Programming Languages

c
50402 projects - #5 most used programming language
Roff
2310 projects

Projects that are alternatives of or similar to exfatprogs

Just
A library of dependency-free JavaScript functions that do just do one thing.
Stars: ✭ 3,837 (+14657.69%)
Mutual labels:  utils
XinFramework
Android 快速开发框架 总结以往开发结合三方项目 不断更新
Stars: ✭ 21 (-19.23%)
Mutual labels:  utils
Comet
iOS 项目的 Swift 基础库,提供常用组件、便利方法等。支持 Swift 3.x、Swift 4.x,iOS 8.0+
Stars: ✭ 49 (+88.46%)
Mutual labels:  utils
dt-utils
前端常用工具函数
Stars: ✭ 23 (-11.54%)
Mutual labels:  utils
PowerUp
⚡ Decompilation Tools and High Productivity Utilities ⚡
Stars: ✭ 1,526 (+5769.23%)
Mutual labels:  utils
GoGPUtils
Enhance productivity and avoid to reinvent the wheel every time that you start a Go project
Stars: ✭ 29 (+11.54%)
Mutual labels:  utils
Flutter commonapp
打造一款通用的AppUI结构,包括登录、注册等通用 UI 界面及各工具类和公共部分。
Stars: ✭ 227 (+773.08%)
Mutual labels:  utils
snapdragon-util
Utilities for the snapdragon parser/compiler.
Stars: ✭ 17 (-34.62%)
Mutual labels:  utils
fileutils
Golang file system utils such as copy files and directories
Stars: ✭ 19 (-26.92%)
Mutual labels:  utils
mUtils
JavaScript常用方法
Stars: ✭ 59 (+126.92%)
Mutual labels:  utils
lancet
A comprehensive, efficient, and reusable util function library of go.
Stars: ✭ 2,228 (+8469.23%)
Mutual labels:  utils
fat ecto
Query mechanism for Ecto
Stars: ✭ 20 (-23.08%)
Mutual labels:  utils
ramdu
Small utils set built around Ramda
Stars: ✭ 18 (-30.77%)
Mutual labels:  utils
Pandora
潘多拉的魔盒了解一下。
Stars: ✭ 248 (+853.85%)
Mutual labels:  utils
utils
Common utils used by PSR-15 middlewares
Stars: ✭ 47 (+80.77%)
Mutual labels:  utils
Prosemirror Utils
⚒ Utils library for ProseMirror
Stars: ✭ 241 (+826.92%)
Mutual labels:  utils
relay-helpers
Helpers to simplify and enhance Relay (https://facebook.github.io/relay/)
Stars: ✭ 19 (-26.92%)
Mutual labels:  utils
perl-scripts
A nice collection of day-to-day Perl scripts.
Stars: ✭ 92 (+253.85%)
Mutual labels:  utils
deep utils
An open-source toolkit which is full of handy functions, including the most used models and utilities for deep-learning practitioners!
Stars: ✭ 73 (+180.77%)
Mutual labels:  utils
wx-tool
微信小程序工具类
Stars: ✭ 31 (+19.23%)
Mutual labels:  utils

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 and fix.(preparing)

- 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

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

Sending feedback

If you have any issues, please create issues or contact to Namjae Jeon and Hyunchul Lee. Contributions are also welcome.

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].