Stages TWRP's GUI engine and standalone tooling as PawletOS-owned modules instead of a bootable/recovery fork, per the plugin-architecture finding in NOTES-ota-recovery-ab.md: stock recovery_main.cpp already dlopen()s librecovery_ui_ext.so and dlsym()s make_device() from it at runtime, so the UI layer doesn't require touching stock bootable/recovery at all. Confirmed via source grep that recovery.cpp/install.cpp have zero references into the partition manager/backup engine/GUI code and vice versa. recovery_ui/: TWRP's gui/, minuitwrp/, libpixelflinger/ (copied verbatim, GPL-3.0), plus a new device/ providing PawletTwrpUI (a ScreenRecoveryUI subclass) and make_device() — written from scratch against stock's RecoveryUI/ScreenRecoveryUI virtual-method contract, since TWRP's own fork never ships a make_device() (every real TWRP device provides its own, and no reference device tree was available to copy from). Top-level Android.bp defines librecovery_ui_pawlet_twrp, the module TARGET_RECOVERY_UI_LIB should point at. gui/Android.bp and minuitwrp/Android.bp had their include_dirs rewritten for the new paths. recovery_toolkit/: partition manager, backup engine (tar/digest/adbbu/apex), filesystem/format support (exfat/dosfstools/gpt/fuse/mtp/crypto), scripting (openrecoveryscript/orscmd/twrpinstall), shared helpers. Source only, no Android.bp yet for any of it. Known gap blocking recovery_ui from actually linking: gui/'s libguitwrp depends on libaosprecovery, built from recovery_toolkit/helpers/twrp.cpp via a Go Soong plugin (libaosprecovery_defaults.go) not yet ported. Neither repo has been build-tested — no local AOSP build environment available in this workspace. See each directory's README.md for a precise done/not-done breakdown.
84 lines
2.2 KiB
Markdown
84 lines
2.2 KiB
Markdown
About
|
|
-----
|
|
|
|
This project aims to provide a full-featured [exFAT][1] file system implementation for Unix-like systems. It consists of a [FUSE][2] module (fuse-exfat) and a set of utilities (exfat-utils).
|
|
|
|
Supported operating systems:
|
|
|
|
* GNU/Linux
|
|
* Mac OS X 10.5 or later
|
|
* FreeBSD
|
|
|
|
Most GNU/Linux distributions already have fuse-exfat and exfat-utils in their repositories, so you can just install and use them. The next chapter describes how to compile them from source.
|
|
|
|
Compiling
|
|
---------
|
|
|
|
To build this project on GNU/Linux you need to install the following packages:
|
|
|
|
* [git][4]
|
|
* [autoconf][5]
|
|
* [automake][6]
|
|
* [pkg-config][7]
|
|
* fuse-devel (or libfuse-dev)
|
|
* [gcc][8]
|
|
* [make][9]
|
|
|
|
On Mac OS X:
|
|
|
|
* autoconf
|
|
* automake
|
|
* pkg-config
|
|
* [OSXFUSE][10]
|
|
* [Xcode][11] (legacy versions include autotools but their versions are too old)
|
|
|
|
On OpenBSD:
|
|
|
|
* git
|
|
* autoconf (set AUTOCONF_VERSION environment variable)
|
|
* automake (set AUTOMAKE_VERSION environment variable)
|
|
|
|
Get the source code, change directory and compile:
|
|
|
|
git clone https://github.com/relan/exfat.git
|
|
cd exfat
|
|
autoreconf --install
|
|
./configure
|
|
make
|
|
|
|
Then install driver and utilities (from root):
|
|
|
|
make install
|
|
|
|
You can remove them using this command (from root):
|
|
|
|
make uninstall
|
|
|
|
Mounting
|
|
--------
|
|
|
|
Modern GNU/Linux distributions (with [util-linux][12] 2.18 or later) will mount exFAT volumes automatically. Anyway, you can mount manually (from root):
|
|
|
|
mount.exfat-fuse /dev/spec /mnt/exfat
|
|
|
|
where /dev/spec is the [device file][13], /mnt/exfat is a mountpoint.
|
|
|
|
Feedback
|
|
--------
|
|
|
|
If you have any questions, issues, suggestions, bug reports, etc. please create an [issue][3]. Pull requests are also welcome!
|
|
|
|
[1]: https://en.wikipedia.org/wiki/ExFAT
|
|
[2]: https://en.wikipedia.org/wiki/Filesystem_in_Userspace
|
|
[3]: https://github.com/relan/exfat/issues
|
|
[4]: https://www.git-scm.com/
|
|
[5]: https://www.gnu.org/software/autoconf/
|
|
[6]: https://www.gnu.org/software/automake/
|
|
[7]: http://www.freedesktop.org/wiki/Software/pkg-config/
|
|
[8]: https://gcc.gnu.org/
|
|
[9]: https://www.gnu.org/software/make/
|
|
[10]: https://osxfuse.github.io/
|
|
[11]: https://en.wikipedia.org/wiki/Xcode
|
|
[12]: https://www.kernel.org/pub/linux/utils/util-linux/
|
|
[13]: https://en.wikipedia.org/wiki/Device_file
|