Tool
fiano
LinuxBoot's Go tools and libraries for parsing and modifying UEFI firmware images. Its utk command shows an image's firmware volumes and files as a table or JSON, finds, dumps, inserts, removes or replaces files, and extracts an image into a directory that can be reassembled, with a DXE cleaner for deleting unneeded DXE drivers. Further commands cover flash maps (fmap), coreboot CBFS, Intel FIT tables, FSP headers, microcode and LZMA data, and its Go packages also parse Intel ME regions, Boot Guard and CBnT manifests and AMD firmware structures.
Requirements & limits
- No GitHub releases; the newest tags, v7.0.2 and v6.0.1, both point to commits from 2021-12-01, while main keeps receiving fixes, documentation and dependency updates, the reviewed commit being from 2026-05-14. The README installs utk and fmap with go install at @latest and still says Go 1.13 is required, whereas go.mod declares Go 1.21 and CircleCI uses Go 1.22.
- Pure-Go command-line tools; go install places the executables in the go/bin folder of the user's home directory. Input is a firmware image the analyst already has, such as a full flash ROM, and fspinfo supports only FSP 2.0 files. CI checks formatting, runs ineffassign and the unit and race tests, and the Go tests include an extract, reassemble and extract round trip and a JSON regression check on a bundled OVMF image.
- BSD-3-Clause, copyright LinuxBoot. Test fixtures include an OVMF.rom built from EDK2's open-source vUDK2018 tag, coreboot ROMs, compression samples and manifest samples, plus two Intel binaries kept under Intel's own redistribution terms with their license files: the Apollo Lake FSP blob Fsp.fd under the FSP License, and the Purley ME Ignition firmware MeRegion.bin for Cascade Lake servers, whose binary-only license forbids reverse engineering that image.
- Modification commands rewrite firmware images; the README does not discuss flashing or recovery, and this entry records parsing and image editing only. No tool was installed or run and no image was modified for this review.
About this entry
- Type
- Tool
- Category
- Firmware tools
- Relationship
- Foundation tool
- Targets
- Firmware
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · linuxboot/fiano · Revision 162b021
- go.mod GitHub · linuxboot/fiano · Revision 162b021
- LICENSE GitHub · linuxboot/fiano · Revision 162b021
- .circleci/config.yml GitHub · linuxboot/fiano · Revision 162b021
- integration/utk_test.go GitHub · linuxboot/fiano · Revision 162b021
- integration/roms/OVMF.md GitHub · linuxboot/fiano · Revision 162b021
- cmds/fspinfo/README.md GitHub · linuxboot/fiano · Revision 162b021
- cmds/fspinfo/test_blobs/README.md GitHub · linuxboot/fiano · Revision 162b021
- data/PurleySiliconBinPkg/MeFirmware/IgnitionFirmware/License.txt GitHub · linuxboot/fiano · Revision 162b021
- pkg/intel/metadata/README.md GitHub · linuxboot/fiano · Revision 162b021
- cmds GitHub · linuxboot/fiano · Revision 162b021
- https://github.com/linuxboot/fiano/commit/cf677b458e86128635e911b2a8124c70bc7a2d0f
More in Firmware and hardware
- Pyrrha · Tool
- ThinkPad IMX471: recovering camera tuning for Linux · Case study
- MXQ PRO RK3229: an Android firmware investigation and Linux repurposing · Case study
- iCSee LocalMod: a stock-firmware camera control extension · Case study
- flipper-telink: replacement firmware for Tuya Zigbee remotes · Case study
- Supermodel: initial Real3D Pro-1000 image-generator emulation · Case study