fiano

module
v2.0.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2018 License: BSD-3-Clause

README

fiano

Go-based tools for modifying UEFI firmware.

CircleCI Go Report Card GoDoc CodeCov 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.11 is required:
go version

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

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

Updating Dependencies

# Latest released version of dep is required:
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
dep ensure

Directories

Path Synopsis
cmds
fmap command
Fmap parses flash maps.
Fmap parses flash maps.
glzma command
glzma compresses and decompresses in the same manner as EDK2's LzmaCompress.
glzma compresses and decompresses in the same manner as EDK2's LzmaCompress.
utk command
The utk command performs operations on a UEFI firmware image.
The utk command performs operations on a UEFI firmware image.
fittool module
pkg
fmap
Package fmap parses flash maps.
Package fmap parses flash maps.
guid
Package guid implements the mixed-endian GUID as implemented by Microsoft.
Package guid implements the mixed-endian GUID as implemented by Microsoft.
lzma
Package lzma implements reading and writing of LZMA compressed files.
Package lzma implements reading and writing of LZMA compressed files.
uefi
Package uefi contents data types for the components found in UEFI and an Parse function for reading an image.
Package uefi contents data types for the components found in UEFI and an Parse function for reading an image.
unicode
Package unicode converts between UCS2 cand UTF8.
Package unicode converts between UCS2 cand UTF8.
utk
Package utk is where the implementation of the utk command lives.
Package utk is where the implementation of the utk command lives.
visitors
Package visitors uses the Visitor interface to recursively apply an operation over the firmware image.
Package visitors uses the Visitor interface to recursively apply an operation over the firmware image.
scripts
checklicenses command
Run with `go run checklicenses.go`.
Run with `go run checklicenses.go`.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL