Skip to content

rminnich/fiano

 
 

Repository files navigation

fiano

Go-based tools for modifying UEFI firmware.

CircleCI Build Status Go Report Card GoDoc License

UTK: Generic UEFI tool kit meant to handle rom images

Example usage:

# Dump everything to JSON:
utk winterfell.rom json

# Dump a single file to JSON (using regex):
utk winterfell.rom find Shell

# Dump GUIDs and sizes to a compact table:
utk winterfell.rom table

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

# Re-assemble the directory into an image:
utk winterfell/ save winterfell2.rom

# Remove two files by their 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

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.10 is required
go version

# For UTK:
go get github.com/linuxboot/fiano/cmds/utk

# For fmap:
go get github.com/linuxboot/fiano/cmds/fmap

About

Go-based tools for modifying UEFI firmware

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.8%
  • Shell 0.2%