Skip to content

Repository files navigation

Fiano

Build Version Size

A maintained fork of Fiano that provides prebuilt multi-platform binaries and additional features for modifying UEFI firmware.

Features ✨

  • Provides prebuilt Fiano binaries
  • Includes utk for modifying UEFI firmware images
  • Supports inspecting firmware contents in table or JSON format
  • Supports extracting and rebuilding firmware images
  • Supports inserting, removing, dumping, and replacing EFI files
  • Supports configurable LZMA compression levels

UTK: Generic UEFI tool kit meant to handle ROM images

Example usage:

# For a comprehensive list of commands
utk -h

# Display the image in a compact table form:
utk winterfell.rom table

# Summarize everything in JSON:
utk winterfell.rom json

# List information about a single file in JSON using a regular expression:
utk winterfell.rom find Shell

# Dump an EFI file to an FFS file:
utk winterfell.rom dump DxeCore dxecore.ffs

# Insert an EFI file into an FV near another DXE:
utk winterfell.rom insert_before Shell dxecore.ffs save inserted.rom
utk winterfell.rom insert_after Shell dxecore.ffs save inserted.rom

# Insert an EFI file into an FV at the front or the end:
# "Shell" specifies the FV containing Shell.
utk winterfell.rom insert_front Shell dxecore.ffs save inserted.rom
utk winterfell.rom insert_end Shell dxecore.ffs save inserted.rom

# Remove a file and pad the firmware volume to preserve offsets:
utk winterfell.rom remove_pad Shell save removed.rom

# Remove two files by GUID and replace Shell with Linux:
utk winterfell.rom \
  remove 12345678-9abc-def0-1234-567890abcdef \
  remove 23830293-3029-3823-0922-328328330939 \
  replace_pe32 Shell linux.efi \
  save winterfell2.rom

# Extract everything into a directory:
utk winterfell.rom extract winterfell/

# Reassemble the directory into an image:
utk winterfell/ save winterfell2.rom

Stars 🌟

Stargazers

Releases

Used by

Contributors

Languages