agesafetch 2.0.0

A tool for obtaining your firmware's embedded AGESA version on Linux.
Documentation

agesafetch

crates.io Version crates.io Downloads License: MIT REUSE Status

A tool for obtaining your firmware's embedded AGESA version on Linux.

Installation

AUR Version PyPI Version

Binaries

Pre-compiled and signed binaries are provided with all GitLab releases.

From Source

cargo install agesafetch

Note

By default, Cargo installs binaries in ~/.cargo/bin, so that directory must be in $PATH for agesafetch to be found. However, not all methods of privilege escalation preserve the $PATH variable, e.g. sudo with a secure_path value.

When in doubt, refer to the complete path: sudo ~/.cargo/bin/agesafetch

From PyPI

sudo pipx install --global agesafetch
# or, to run it directly without a persistent installation:
sudo pipx run agesafetch

Python Bindings

On top of the agesafetch command, the Python package also provides basic bindings for the AGESA search that you can invoke from your own code (which then also requires elevated privileges or capabilities):

import agesafetch

version: agesafetch.AGESAVersion | None = agesafetch.find_agesa_version()

Usage

agesafetch [-h]

Simply run agesafetch to invoke a search for the AGESA version in memory:

$ sudo agesafetch
:: Searching Reserved region #1 (1667 KiB)...
-> Found AGESA version: CezannePI-FP6 1.0.1.1

When run non-interactively, such as in pipes or redirections, agesafetch will automatically suppress all output except for the found version:

$ sudo agesafetch > found_version
$ cat found_version
CezannePI-FP6 1.0.1.1

Testing

agesafetch has been confirmed to work on a broad set of systems, including:

  • ASUS X670E and X870E desktop boards
  • Gigabyte B450, B550, B650, and X570 boards
  • Multiple Lenovo ThinkPad P14s Gen 1 & 2 AMD
  • An assortment of EPYC-based server platforms

See Tested Platforms for the complete list. If you tested agesafetch on a new system and would like to add it, please get in touch!

Author

Thanks To

License

This project is licensed under the MIT license. See the LICENSE file for more information.