Pciutils.efi
The UDK/EDK2/UEFI porting of the GNU's pciutils/lspci/setpci
Install / Use
/learn @timotheuslin/Pciutils.efiREADME
pciutils.efi
pciutils.efi/PciUtilsPkg is an EDKII/UEFI porting of the GNU's pciutils for its handy PCI tools: lspci and setpci<br>
As a full EDKII package, PciUtilsPkg can be built with the guides in/from:
Prerequisites:
- Python 3.10+
- git 2.44+
- The EDKII/TianoCore code tree in following tags: edk2-stable{202405, 202408}
- git-cloned GNU's pciutils to the directory
PciUtilsPkg/pciutils(if not using iPug)
Generic prerequisites for the the EDKII/UEFI porting:
- nasm (2.15.05+)
- (Windows) add the nasm's folder to the environment variable "PATH" list setting
- iASL (version 2020xxxx or later, maybe optional)
- MSVC(Windows) or Xcode(Mac) or GCC(Open-source Posix)
- build-essential uuid-dev (Posix)
- ~~motc (Xcode)~~
- Reference:
Tools installation for any Debian-Based Linux:
sudo apt update && sudo apt install nasm iasl build-essential uuid-dev- When using the latest iPug:
pip install ipug --user --upgrade
Known issues:
- Only Linux/GCC (Debian/Ubuntu/MintLinux & ArchLinux/Manjaro) and Windows/MSVC build are tested. No plan to cover OSX/Xcode.
- The double/triple/quadruple command with {'x', 'm', 'v' ...} may not work correctly.
- ~~"pci.ids" database is not working yet.~~ (Many thanks to http://www.lab-z.com/disfopen/)
Build using iPug (Optional) :
git clone https://github.com/timotheuslin/pciutils.efi.git- Change-directory to folder pciutils.efi .
- (Optional) Edit
CODETREEinproject.pyto specify where to place the downloaded source files of the EDKII/TianoCore git repo or any other additional respos. - To build the code, run
python project.py setupthenpython project.py. (iPug will then handle all the rest of the tedious works with the EDKII/TianoCore code tree setup and the build process.) - Browse to folder Build/PciUtilsPkg for the build results.
- Browse to folder Build/Conf for CONF_PATH setting files.
- Run
python project.py {clean, cleanall}to clean (all) the intermediate files. - The PCI list data base file,
pci.idsmust be copied alone withlspci.efi.
Tech notes with iPug (Optional) :
- The full EDKII code tree is git-cloned-checked-out to:
- Windows: %USERPROFILE%/.cache/pug/edk2
- Linux: $HOME/.cache/pug/edk2
- On Windows, VS2022 is tested as the default compiler. The following command should be run first in the windows command console:
%comspec% /k "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\Tools\VsDevCmd.bat"
- pciutils.efi, as the current working directory, is assigned as the "WORKSPACE" directory. PACKAGES_PATH a.k.a. MULTIPLE-WORKSPACE is used here to implicitly reference other standard packages outside the current working directory tree.
- For the 1st-time one-shot setup, following code trees are automatically git-cloned:
- the EDKII/TianoCore code tree
- submodules such as the openssl repo and some other CryptoPkg's submodules, maybe.
- the edk2-libc code tree - The StdLib package.
- the GNU pciutils source
- the EDKII/TianoCore code tree
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
