Home Homebrew Rilasciato MkPFS v0.0.4: tool per compressione PFS PFSC, gestione dump, homebrew,...

[Scena PS5] Rilasciato MkPFS v0.0.4: tool per compressione PFS PFSC, gestione dump, homebrew, FPKG e riduzione spazio SSD fino al 60%

296
0

La gestione dello spazio di archiviazione è sempre stato uno dei problemi più fastidiosi e concreti su console PlayStation 5 jailbroken. Tra dump di giochi, homebrew e immagini PFS, è facile ritrovarsi con SSD e USB saturi in pochissimo tempo.

In questo contesto nasce MkPFS, sviluppato da PSBrew, uno strumento che sta rapidamente diventando un punto di riferimento per chi lavora seriamente con il filesystem PlayStation.

MkPFS è un tool da riga di comando affiancato da una libreria Python pensata per creare, comprimere, verificare, ispezionare ed estrarre immagini PFS.

Supporta diversi formati come .ffpfs, .ffpfsc (versione compressa), .pfs e .exfat, ed è progettato per adattarsi sia allo sviluppo homebrew sia ai workflow più complessi legati a FPKG e PKG.

L’obiettivo è rendere la gestione dei contenuti molto più flessibile e soprattutto molto più efficiente rispetto ai metodi tradizionali.

Il vero punto di svolta di MkPFS è la compressione PFSC, che rappresenta la sua caratteristica più importante. In molti casi permette di ridurre le dimensioni dei file dal 40% fino al 60%, mantenendo prestazioni praticamente invariate.

Questo perché il kernel PS5 è in grado di leggere nativamente il formato PFSC, garantendo quindi un caricamento rapido anche in presenza di compressione.

Un esempio concreto mostra come un homebrew da circa 6.5 GB possa essere ridotto a circa 3.4–3.5 GB, con un risparmio enorme in termini di spazio. La compressione può essere applicata sia a intere cartelle di progetto sia a singoli file immagine, rendendo il processo estremamente flessibile.

Dal punto di vista funzionale, MkPFS offre una serie di comandi pensati per coprire l’intero ciclo di vita di un’immagine PFS, è possibile creare pacchetti da cartelle tramite il comando pack folder oppure incapsulare singoli file con pack file, entrambi con supporto alla compressione e alla verifica automatica.

Gli strumenti inspect e tree permettono invece di analizzare la struttura interna delle immagini, mentre verify controlla l’integrità dei dati e unpack consente di estrarre il contenuto in modo completo.

Il tool supporta inoltre scenari avanzati con crittografia, firma e ottimizzazioni, risultando compatibile sia con PS4 che PS5.

Uno dei punti di forza più apprezzati è la sua integrazione nei flussi di lavoro automatizzati. MkPFS si adatta perfettamente a script e pipeline di sviluppo, rendendolo ideale per chi gestisce grandi quantità di dump o prepara contenuti da distribuire in formato FPKG.

Anche la compatibilità con sistemi come ShadowMountPlus e MicroMount lo rende particolarmente versatile in ambienti reali di utilizzo.

Caratteristiche

  • Crea e gestisci immagini disco PFS per flussi di lavoro orientati PlayStation.
  • Verifica la struttura, gli hash dei payload, la coerenza del layout e la corrispondenza con l’albero dei file sorgente.
  • Ispeziona rapidamente il contenuto delle immagini tramite una vista ad albero, invece di dover esplorare strutture raw complesse.
  • Lavora con estensioni di immagini comuni come .ffpfs e .ffpfsc.
  • Utilizza le immagini generate con strumenti come MicroMount e ShadowMountPlus.
  • Costruisci il filesystem PFS interno utilizzato nei workflow PKG o FPKG.
  • Utilizza lo stesso flusso di lavoro principale sia dalla CLI che dalla libreria Python.
  • Esplora una knowledge base integrata e basata su sorgenti per attività di ricerca su PFS e PKG.

Avvio rapido

bash

# Install using pip
pip install mkpfs

# Convert an .exfat or .ffpkg file into a PFSC compressed image .ffpfsc
mkpfs pack file --compress --verify ./GAME1234.exfat ./GAME1234.ffpfsc

# Convert a homebrew folder into a PFS image with compression and verification
mkpfs pack folder --compress --verify ./GAME1234-app ./GAME1234.ffpfs

# Inspect the generated image
mkpfs inspect ./GAME1234.ffpfs

# Unpack the image back into a folder
mkpfs unpack ./GAME1234.ffpfs ./GAME1234-extracted/

Statistiche di compressione

Utilizzando la compressione di MkPFS, è possibile ridurre i file di gioco del 40–60%, diminuendo in modo significativo le dimensioni delle immagini. Il kernel PlayStation è già in grado di leggere nativamente i file nel formato PFSC con un impatto minimo sulle prestazioni.

I valori riportati di seguito sono stati misurati su un titolo homebrew reale che in origine occupava 6.5 GB di file di gioco:

FormatoDescrizioneDimensioneSpazio risparmiato
.exfatImmagine di gioco non compressa (exFAT).~6.5 GBRiferimento
.ffpkgImmagine di gioco non compressa (UFS).~6.5 GBRiferimento
.exfat.ffpfscWrapper compresso PFSC sopra immagine exFAT.~3.4 GB-47%
.ffpkg.ffpfscWrapper compresso PFSC sopra immagine UFS.~3.4 GB-47%
.ffpfsCartella sorgente convertita direttamente in immagine PFSC.~3.5 GB-46%

Sia il wrapping del singolo file (pack file) sia il packing basato su cartelle (pack folder) producono immagini compresse di dimensioni equivalenti, offrendo così la massima flessibilità senza compromettere l’efficienza.

Installazione

Esecuzione da una copia locale del repository

Installazione da PyPI

bash

pip install mkpfs
mkpfs -h
bash

uv sync --group dev
uv run mkpfs -h

Installazione come strumento locale

bash

uv tool install .
mkpfs -h

Creazione dei pacchetti distributivi

bash

uv build
uv run --frozen twine check dist/*

Riferimento comandi

MkPFS mantiene un’interfaccia dei comandi focalizzata sul ciclo di vita delle immagini. La CLI supporta attualmente i comandi pack, verify, inspect, tree e unpack.

CLI principale

mkpfs [-h] {pack,verify,inspect,tree,unpack} ...

ParametroDescrizione
-h, --helpMostra la guida principale e termina l’esecuzione.
packCrea un’immagine PFS partendo da una cartella o da un singolo file.
verifyVerifica la struttura dell’immagine e i checksum dei contenuti.
inspectAnalizza i metadati dell’immagine e ne mostra un riepilogo di integrità.
treeVisualizza la struttura ad albero dell’immagine.
unpackEstrae i file da un’immagine in una directory di destinazione.

pack

mkpfs pack [-h] {folder,file} …

Utilizzare pack folder per creare un’immagine partendo da una struttura di directory, oppure pack file per trattare un singolo file come un albero virtuale composto da un solo elemento.

pack folder

bash

mkpfs pack folder [-h] [--adjust-output-file-extension | --no-adjust-output-file-extension]
                  [--compress | --no-compress] [--threshold-gain THRESHOLD_GAIN]
                  [--block-size BLOCK_SIZE] [--version {PS4,PS5}] [--inode-bits {32,64}]
                  [--case-sensitive | --case-insensitive] [--cpu-count CPU_COUNT]
                  [--compression-level COMPRESSION_LEVEL]
                  [--max-compressed-ratio MAX_COMPRESSED_RATIO]
                  [--min-compress-size MIN_COMPRESS_SIZE]
                  [--skip-executable-compression] [--signed] [--encrypted]
                  [--ekpfs-key EKPFS_KEY] [--require-game-files] [--verbose]
                  [--dry-run] [--verify] source_dir image_file

Esempi:

bash

mkpfs pack folder ./input ./game.ffpfs
mkpfs pack folder ./input ./game.ffpfs --encrypted
mkpfs pack folder ./input ./game.ffpfs --require-game-files --verify

Esempio di PowerShell con compressione PFSC ottimizzata:

bash

python -m mkpfs pack folder c:\game_folder d:\game.ffpfs `
  --compress `
  --skip-executable-compression `
  --compression-level 9 `
  --max-compressed-ratio 95 `
  --min-compress-size 65536

Changelog

  • Corretto un piccolo problema con gli argomenti della CLI per il comando pack by @RenanGBarreto in #7

Download: Source code MkPFS v0.0.4

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: PS5

Vedi altri prodotti PS5

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

Ultimo aggiornamento 2026-06-16 / Link di affiliazione / Immagini da Amazon Product Advertising API

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui
Captcha verification failed!
Punteggio utente captcha non riuscito. Ci contatti per favore!

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.