#memory #amd #firmware #agesa

bin+lib agesafetch

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

6 stable releases

1.3.0 Apr 26, 2025
1.2.1 Apr 23, 2025
1.1.0 Feb 26, 2025
1.0.1 Feb 22, 2025
1.0.0 Feb 15, 2025

#330 in Hardware support

Download history 116/week @ 2025-02-12 159/week @ 2025-02-19 209/week @ 2025-02-26 23/week @ 2025-03-05 7/week @ 2025-03-12 1/week @ 2025-03-19 5/week @ 2025-04-09 2/week @ 2025-04-16 380/week @ 2025-04-23

387 downloads per month

MIT license

56KB
819 lines

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

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]
๐Ÿ”’ The AGESA search requires elevated privileges or suitable capabilities.

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

Known Working Systems

So far, we have successfully tested agesafetch on the following platforms:

  • ASUS ROG STRIX X670E-E GAMING WIFI
  • Gigabyte
    • B450 AORUS PRO (F66d)
    • B550 AORUS ELITE V2 (F17)
    • B650 AORUS PRO AX (F32)
    • X570 GAMING X (F39)
  • Lenovo
    • ThinkPad P14s Gen 1 AMD (v1.51)
    • ThinkPad P14s Gen 2 AMD (v1.30)

๐Ÿš€ If you would like to add to this list, get in touch!

Please feel free to open an issue if no version is found on your system even after a minute or two of searching.

License

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

Author

Thanks To

Dependencies

~1.6โ€“9MB
~86K SLoC