github PSBrew/MkPFS 0.0.7

3 hours ago

🎉 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

🚀 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->ffpfsc is 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->ffpfsc instead.

💖 Sponsorship

MkPFS is easier to sustain when users who benefit from it help fund it.

GitHub Sponsors

☕ 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

Don't miss a new MkPFS release

NewReleases is sending notifications on new releases.