You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
For information about contributing, including how we sign off commits, please seeCONTRIBUTING.md
UTK: Generic UEFI tool kit meant to handle rom images
Example usage:
# For a comprehensive list of commandsutk -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 regex):utk winterfell.rom find Shell# Dump an EFI file to an ffsutk winterfell.rom dump DxeCore dxecore.ffs# Insert an EFI file into an FV near another Dxeutk winterfell.rom insert_before Shell dxecore.ffs save inserted.romutk winterfell.rom insert_after Shell dxecore.ffs save inserted.rom# Insert an EFI file into an FV at the front or the end# "Shell" is just a means of specifying the FV that contains Shellutk winterfell.rom insert_front Shell dxecore.ffs save inserted.romutk winterfell.rom insert_end Shell dxecore.ffs save inserted.rom# Remove a file and pad the firmware volume to maintain offsets for the following filesutk winterfell.rom remove_pad Shell save removed.rom# Remove two files by their GUID without padding 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/# Re-assemble the directory into an image:utk winterfell/ save winterfell2.rom
DXE Cleaner
Delete unnecessary DXEs from your firmware. Free up space, speed up boot timesand decrease the attack surface area! See the demo:
FMAP: Parses flash maps.
Example usage:
fmap checksum [md5|sha1|sha256] FILE
fmap extract i FILE
fmap jget JSONFILE FILE
fmap jput JSONFILE FILE
fmap summary FILE
fmap usage FILE
fmap verify FILE
Installation
# Golang version 1.13 is required:go version# For UTK:go install github.com/linuxboot/fiano/cmds/utk@latest# For fmap:go install github.com/linuxboot/fiano/cmds/fmap@latest
The executables are installed in$HOME/go/bin.
Updating Dependencies
# Fiano utilizes Go modules.Use the following to download the dependencies:```go mod downloadgo mod verify```If you desire to update a existing dependency to a newer version:```go get path/to/dependency/module@tag```Execute this in any directory of fiano repository