Skip to content

UEFI application for fetching hardware info, written in Rust

Notifications You must be signed in to change notification settings

yaroslav957/efifetch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Preview error

How to use

In a VM

  1. Download dependencies and firmware files (Fedora linux):
sudo dnf install qemu-kvm edk2-ovmf
cp /usr/share/OVMF/OVMF_CODE.fd .
cp /usr/share/OVMF/OVMF_VARS.fd .
  1. Prepare dir and copy efifetch.efi:
mkdir -p esp/efi/boot && cp efifetch.efi esp/efi/boot/bootx64.efi
  1. Run VM:
qemu-system-x86_64 -enable-kvm \
-drive if=pflash,format=raw,readonly=on,file=OVMF_CODE.fd \
-drive if=pflash,format=raw,readonly=on,file=OVMF_VARS.fd \
-drive format=raw,file=fat:rw:esp

On hardware

Efifetch has never been tested on real hardware. Use it on a real device at your own risk

Info & todos

TODO list:

  • PCI configuration space
  • PCIe MMIO (optional idk)
  • CPU MSRs (AMD and Intel)
  • SMBIOS data
  • SMBUS data (partially working)
  • CPU frequency
  • UEFI configuration tables
  • UEFI variables
  • ACPI tables
  • Read LBA from HDD
  • AHCI MMIO (optional)
  • INT15 E820 tables (optional)
  • Fix resolution issues with serialport0 on QEMU