tools for virtual machine firmware volumes
Project description
Tools for ovmf / armvirt firmware volumes
This is a small collection of tools for edk2 firmware images. They support decoding and printing the content of firmware volumes. Variable stores (OVMF_VARS.fd) can be modified, for example to enroll secure boot certificates.
virt-fw-dump
Decodes and prints the content of firmware volumes.
Usage: virt-fw-dump -i <file>
.
Try virt-fw-dump --help
for more info, there are some options to
filter output.
virt-fw-vars
Print and edit variable store volumes. Currently focused on enrolling certificates and enabling secure boot.
Print variables: virt-fw-vars -i <file> --print
.
Enroll certificates:
virt-fw-vars \
--input <template> \
--output <vars> \
--enroll-redhat \
--secure-boot
Try virt-fw-vars --help
for more usage information.
virt-fw-vars can handle edk2 variable stores (which are flash firmware volumes) and AWS uefi variable stores. The input format is detected automatically and the same format is used for output.
Working with edk2 variable stores requires a firmware volume as input. Typically the OVMF_VARS.fd file created when building OVMF is used for that (it is an empty variable store).
aws variable stores can also be created from scratch and written to a
file with using the --output-aws
option.
virt-fw-sigdb
Print and edit efi signature database files, example:
virt-fw-sigdb -i /etc/pki/ca-trust/extracted/edk2/cacerts.bin --print
Try virt-fw-sigdb --help
for more usage information.
host-efi-vars
Read efi variables from linux efivarfs and decode/print them.
kernel-bootcfg
Manage efi boot configuration for UKIs (unified kernel images) when using direkt boot (without boot loader like grub or systemd-boot).
pe-dumpinfo
Information dump for pe (the format used by efi) binaries.
pe-listsigs
List signatures and certificate chain for pe binaries. Can also extract certificates & signatures.
using the python modules
There isn't much documentation yet, sorry. Best code reads to get
started are probably the test cases (see tests/tests.py
) and the
code for the virt-fw-vars utility (see virt/firmware/vars.py
).
install
Release: pip3 install virt-firmware
Snapshot: pip3 install git+https://gitlab.com/kraxel/virt-firmware.git
TODO list
- Add more documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file virt_firmware-24.7.tar.gz
.
File metadata
- Download URL: virt_firmware-24.7.tar.gz
- Upload date:
- Size: 114.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45cf3b364e12ca5c79fe3dcb5550c234592ff2162ec89285a6db02d6403777bf |
|
MD5 | 917bb3b0f36edaf4b99bc79112ea4e75 |
|
BLAKE2b-256 | a25ddebd22c4ec318f7b5f3b415e62962db197584a7b5c6fa454863cf0ce1982 |
File details
Details for the file virt_firmware-24.7-py3-none-any.whl
.
File metadata
- Download URL: virt_firmware-24.7-py3-none-any.whl
- Upload date:
- Size: 109.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f91c55094469061fb01f19fca2b82e13199c1676c1de4445f873b04ce77bb8b |
|
MD5 | e5c9b310177337c091b6304f004fb3f8 |
|
BLAKE2b-256 | 63288f499be77cfbe03a25a3d34dd4be9c1fafab71db268515a5919bc6aee3a2 |