Skip to content

Commit fc2284e

Browse files
committed
Update README
Signed-off-by: Ikey Doherty <[email protected]>
1 parent 5d5bf91 commit fc2284e

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,40 @@ This project began life in the [blsforme](https://github.com/serpent-os/blsforme
44
However as time went on it became clear we needed to extend the capabilities beyond simple topology scanning
55
and superblocks to support the installer and other use cases.
66

7-
This is a WIP project to extend support for more disk configurations whilst providing backend support to the
8-
blsforme project and installers like lichen.
7+
Importantly due to using blsforme in moss, and requiring static linking to avoid soname breakage on updates,
8+
we were unable to leverage `libblkid` due to licensing incompatibilities.
9+
10+
## Goals
11+
12+
Provide safe and sane APIs for dealing with filesystems, block devices and partitioning in Rust. The intent
13+
is to provide a high level API that can be used to build tools like installers, partitioners, and other disk
14+
management tools.
15+
16+
With support, we will also provide the foundations for a Rust implementation of `libblkid`, while also providing
17+
an alternative to `libparted`.
18+
19+
## Support Us
20+
21+
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/J3J511WM9N)
22+
23+
[![GitHub Sponsors](https://img.shields.io/github/sponsors/ikeycode?style=for-the-badge&logo=github&label=Sponsor&link=https%3A%2F%2Fgithub.com%2Fsponsors%2Fikeycode)](https://img.shields.io/github/sponsors/ikeycode?style=for-the-badge&logo=github&label=Sponsor&link=https%3A%2F%2Fgithub.com%2Fsponsors%2Fikeycode)
24+
25+
## Crates
26+
27+
- `disks` - A simplistic enumeration API built atop `sysfs` for discovering block devices and partitions.
28+
- `superblock` - Pure Rust superblock parsing for various filesystems. Version-specific oddities and more filesystems
29+
will be added over time.
30+
31+
Currently we support:
32+
33+
- `luks2` - LUKS2 superblock parsing.
34+
- `ext4` - Ext4 superblock parsing.
35+
- `f2fs` - F2FS superblock parsing.
36+
- `btrfs` - Btrfs superblock parsing.
37+
- `xfs` - XFS superblock parsing.
38+
39+
- `partitioning` - A partitioning API for manipulating partition tables on block devices. This will be built atop
40+
`disks` and `superblock` to provide a high level API for partitioning. Currently focused on `gpt`.
941

1042
## License
1143

0 commit comments

Comments
 (0)