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
.ffpfse.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
# 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:
| Formato | Descrizione | Dimensione | Spazio risparmiato |
|---|---|---|---|
.exfat | Immagine di gioco non compressa (exFAT). | ~6.5 GB | Riferimento |
.ffpkg | Immagine di gioco non compressa (UFS). | ~6.5 GB | Riferimento |
.exfat.ffpfsc | Wrapper compresso PFSC sopra immagine exFAT. | ~3.4 GB | -47% |
.ffpkg.ffpfsc | Wrapper compresso PFSC sopra immagine UFS. | ~3.4 GB | -47% |
.ffpfs | Cartella 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
pip install mkpfs
mkpfs -h
uv sync --group dev
uv run mkpfs -h
Installazione come strumento locale
uv tool install .
mkpfs -h
Creazione dei pacchetti distributivi
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} ...
| Parametro | Descrizione |
|---|---|
-h, --help | Mostra la guida principale e termina l’esecuzione. |
pack | Crea un’immagine PFS partendo da una cartella o da un singolo file. |
verify | Verifica la struttura dell’immagine e i checksum dei contenuti. |
inspect | Analizza i metadati dell’immagine e ne mostra un riepilogo di integrità. |
tree | Visualizza la struttura ad albero dell’immagine. |
unpack | Estrae 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
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:
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:
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
@RenanGBarretoin #7
Download: Source code MkPFS v0.0.4
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: PS5
Vedi altri prodotti PS5
Ultimo aggiornamento 2026-06-16 / Link di affiliazione / Immagini da Amazon Product Advertising API





