jgfs
is a simple filesystem, written from scratch to imitate the overall
design of FAT16
while excluding all of the DOS
legacy nonsense that normally
comes with a FAT
filesystem. Its primary intended purpose is for use with the
justix
operating system project.
jgfs
is no longer being actively developed, as jgfs2
is now the preferred
filesystem of the justix
operating system. The filesystem code itself is
mostly stable, but hasn't been tested on a large scale.
This project uses Avery Pennarun's implementation of D. J. Bernstein's redo
build system. For more information, see djb's redo page and apenwarr's
redo implementation.
To build libjgfs
, the FUSE
program, and associated utilities, install redo
and simply run redo all
. To clean the project directory, run redo clean
.
To build individual targets, run one of the following:
redo lib
: build thelibjgfs
library,bin/libjgfs.a
redo fuse
: build theFUSE
program,bin/jgfs
redo mkfs
: build themkfs
utility,bin/mkjgfs
redo fsck
: build thefsck
utility,bin/jgfsck
Make a new jgfs
filesystem on a device or file:
bin/mkjgfs <device>
Mount the filesystem using FUSE
:
bin/jgfs <device> <mountpoint>
bin
: contains thelibjgfs
library and utility binaries after a builddoc
: documentation related to the filesystem's developmentlib
: source code forlibjgfs
src
: source code forjgfs
utilities and theFUSE
programtest
: various scripts used for testing the filesystem
This project is licensed under the terms of the simplified (2-clause) BSD
license. For more information, see the LICENSE
file contained in the project's
root directory.