-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
48 lines (40 loc) · 1.64 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
APFS
============
Apple File System(APFS) is a successor filesystem of hfsplus
and was introduced by Apple Inc. It is widely used in many apple devices.
This implementation only supports mount inreadonly mode for now.
WARN: The implementation of APFS is written by my interests.
It's dangerous, unstable and bugous.
It's been tested roughly in limited environments.
It may crash your kernel even in readonly mode.
So use it at your risks.
Requirements:
1) Kernel version >=v5.15
2) LZFSE out of tree module https://github.com/Damenly/lzfse
INSTALL:
1) git clone https://github.com/Damenly/apfs /usr/src/apfs-0.1
2) dkms add -m apfs -v 0.1
3) dkms build -m apfs -v 0.1
4) dkms install -m apfs -v 0.1
5) modprobe apfs
Supported mount options:
1) subvolid=
mount -t apfs -o subvolid=4 /dev/vdc3 /mnt
2) xid=
mount -t apfs -o subvolid=4,xid=132 /dev/vdc3 /mnt
Features implemented:
1) mount in readonly mode
2) buffer read uncompressed files
3) compressed files read(LZVN, LZFSE and ZLIB)
4) Snapshot mount
Features unimplemented:
1) Sealed Volumes (Not in to-do list, becase it breaks the basic node structure, useless in linux?)
2) Volume group support (Not in to-do list, becase it breaks the apfs inode structure, useless in linux?)
3) Encrytions
Acknowledgments:
1) https://github.com/torvalds/linux/tree/master/fs/btrfs
Most codes are copied from linux/fs/btrfs, and reuses its
skeleton e.g. extent_buffer, btree operations and buffer read paths.
2) https://developer.apple.com/support/downloads/Apple-File-System-Reference.pdf
3) https://github.com/linux-apfs/linux-apfs-rw
4) https://github.com/sgan81/apfs-fuse