Skip to content

[FEATURE] FPKG Output Support (Folder / .exfat / .ffpfsc β†’ FPKG)Β #129

Description

@RDX-Sci01

πŸ“¦ Feature Request: FPKG Output Support (Folder / .exfat / .ffpfsc β†’ FPKG)

First of all β€” MkPFS is an excellent tool. The cross-platform Python approach, the clean CLI design, the compression statistics, the batch command, the --deep unpack β€” it's clear a lot of thought went into making this practical and composable. Thank you for building and maintaining it! πŸ™

Summary

Would you consider adding FPKG output as a target format? Concretely:

  • Folder β†’ FPKG
  • .exfat β†’ FPKG
  • .ffpfsc β†’ FPKG

Motivation

Right now MkPFS handles the inner PFS layer of the PS5 package pipeline beautifully β€” folder scanning, exFAT wrapping, PFSC compression, verification. But to get to an installable FPKG on a debug PS5, users still need a separate tool for the outer PKG wrapper (FIH header, outer PFS, passcode, signing).

Adding FPKG output would let MkPFS cover the full pipeline end-to-end in a single command, which would be especially valuable for Linux users who currently have no native FPKG builder (the main alternative, PSVIETHOA FPKG Builder, targets macOS and Windows only).

What this would involve

The FPKG outer wrapper requires:

  • A FIH (debug) header with param.json metadata (title ID, content ID, version, app type, SDK version, passcode)
  • An outer PFS image containing the inner PFS / exFAT payload
  • PLAINTEXT_NOAUTH signing (for debug FPKGs β€” signed byte 0x00, no AES-XTS on the outer layer)
  • Optional Native AES-XTS encryption for the outer layer
  • PlayGo chunk map generation (automatic, 1–64 chunks)

MkPFS already has the hard part (the inner PFS). The outer wrapper is well-documented in the community (PSDevWiki PKG files, LibOrbisPkg, LibProsperoPkg β€” already in your Related Projects index).

Proposed CLI shape (just a suggestion)

# Folder β†’ FPKG in one pass
mkpfs pack fpkg ./PPSA12345-app ./PPSA12345.pkg

# .exfat β†’ FPKG
mkpfs pack fpkg ./PPSA12345.exfat ./PPSA12345.pkg

# .ffpfsc β†’ FPKG
mkpfs pack fpkg ./PPSA12345.ffpfsc ./PPSA12345.pkg

Notes

  • The resulting FPKG would be a debug package (FIH image) β€” installable only on a PS5 with debug mode enabled, same as existing tools.
  • This would make MkPFS the only cross-platform (Windows / macOS / Linux) FPKG builder, which is a meaningful gap in the current tooling landscape.

Happy to help test if you decide to explore this. Thanks again for the great work! πŸ™Œ

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions