🎉 MkPFS 0.0.7 is released!
🤖 What's Changed
- Several improvements and fixes related to image packing, unpacking, and verification.
- IMPORTANT: This version fixes a major bug related to compressing game backup folders (methods 3 and 4 below).
- ⚠️ At this time, converting a game backup with
exfat -> ffpfsc(method 1) remains the most stable workflow. - Direct conversion from a game folder may work for some titles, but it is still experimental.
- The conversion methods below are ordered from best to worst.
- If you run into issues, please report them at: https://github.com/PSBrew/MkPFS/issues
- ⚠️ At this time, converting a game backup with
🚀 Quick Start
# Install/Update using pip
python -m pip install -U "mkpfs"
# Creating Images: Option 1: .exfat -> .ffpfsc (Works with ShadowMountPlus) (Maximum compatibility)
python -m mkpfs pack file --verify './BREW1234.exfat' './BREW1234.exfat.ffpfsc'
# Creating Images: Option 2: .ffpkg -> .ffpfsc (Works with ShadowMountPlus)
python -m mkpfs pack file --verify './BREW1234.ffpkg' './BREW1234.ffpkg.ffpfsc'
# Creating Images: Option 3: Game folder wrapped twice into .ffpfsc (two-pass) (Works with ShadowMountPlus)
python -m mkpfs pack folder --verify --no-compress --no-adjust-output-file-extension './BREW1234-app' './pfs_image.dat'
python -m mkpfs pack file --verify './pfs_image.dat' './BREW1234.ffpfsc'
rm './pfs_image.dat'
# Creating Images: Option 4: Game folder without a wrapper (single-pass) (UNSTABLE) (Works with ShadowMountPlus)
python -m mkpfs pack folder --verify './BREW1234-app/' './BREW1234.ffpfsc'
# Extracting Existing Images (Reverse operation)
python -m mkpfs unpack './BREW1234.ffpfs' './BREW1234-extracted/'Note on conversion speed:
- Antivirus scanning can reduce conversion speed, especially during the writing phase or when processing many loose files.
If you plan to convert many titles in bulk and you trust this software in your environment, you may temporarily disable
real-time antivirus protection to speed up the process. If you are unsure, keep antivirus enabled and expect slower conversions.
Notes on stability:
exfat->ffpfscis the most stable solution at this moment.- raw folder compression works, but has limitations for large game backups or if the folder contains too many small files. In that case, use
exfat->ffpfscinstead.
💖 Sponsorship
MkPFS is easier to sustain when users who benefit from it help fund it.
☕ Contributions
Other changes
- Fixed corrupted PFS images on large game folders caused by wrong inode mapping after flat_path_table collisions (#43) @RenanGBarreto
- fix: preflight PFSC temp spool space checks (#34) @Eamo5
- fix: clean PFSC spools after compression failures (#38) @Eamo5
- Skip compression for executables or files that are too small (#33) @RenanGBarreto
- fix(cli): default min-compress-size to resolved block size (#32) @RenanGBarreto
- Several performance improvements (#30) @RenanGBarreto
- Spool-free streaming
pack file(--no-spool) with flat-memory verify/unpack/tree (#19) @rdmrocha
Full Changelog: 0.0.6...0.0.7