SkillAgentSearch skills...

Zedk

Useful UEFI tools, based upon edk2

Install / Use

/learn @kohlschuetter/Zedk
About this skill

Quality Score

0/100

Supported Platforms

Zed

README

zedk: Useful UEFI tools

What

zedk provides UEFI binaries from TianoCore EDK II, an open-source UEFI reference implementation, and then some.

Currently, zedk has the following applications:

  • Provide a recent UEFI shell binary
  • Boot to a textual UEFI-Setup interface ("the BIOS") from the UEFI shell
  • Unlock hidden settings in your UEFI Setup/BIOS without flashing a custom ROM
  • Enable a remote UEFI-level console over the serial port without further configuration (which can be used to remotely enter the Setup, diagnose boot problems with iPXE, etc.)

<b>NOTE</b> The additional, otherwise hidden settings may be harmful to your computer, causing instabilities or crashes. Use entirely at your own risk.

Demo

Why

In many UEFI/BIOS forums, certain UEFI binaries are referenced and/or shared, without a clear way how to obtain them from source. In contrast, zedk provides a straightforward path from source code to a binary distribution. As a consequence, updating the binaries using newer versions of EDK II becomes trivial, while trust is increased.

With respect to providing access to the Setup interface, zedk is inspired by "UniversalAMDFormBrowser", which was only released in binary form and sadly later abandoned by its author, SmokelessCPU. Thankfully, they described the inner workings on the Win-Raid Forum. While indeed rather trivial in theory, in practice, taming EDK II's build system was much harder than uninstalling four UEFI protocols.

How

Running the binaries

Once copied to a USB stick, you can boot your computer directly to a UEFI shell, and access the provided binaries.

Binaries are provided on the releases page.

Unzip the zedk.zip to a FAT32-formatted USB-stick. Reboot your computer; use the Boot-Menu (F12) to select your USB drive. Alternatively, change the boot order via Setup to prioritize the USB flash drive over all other drives. Make sure Secure Boot is disabled.

Once the UEFI Shell boots, follow the instructions on screen.

Building from source

The build system of EDK II (edk2) is hard to figure out and easy to get wrong. zedk changes that.

The build logic is centered around simple shell scripts running on Alpine Linux. By default, an Alpine Linux 3.23 container (via either Apple Container, Podman, or Docker) is launched to encapsulate the build process.

Cross-compilation is supported (tested on macOS with Apple Silicon). Currently, the only target platform is x86_64.

Due to some bugs in newer versions of EDK II, to get to a working solution, zedk allows building and combining multiple versions from source control.

Additionally, setup_var.efi is built from source as well. It is used to control an NVRAM variable (AmiSetupFormSetVar), which causes the Setup environment to temporarily reveal the hidden Setup entries. This change may persist on some platforms (Lenovo 7000k?) but is temporary on others (Lenovo Tiny) — which is exactly why we have to launch Setup via UEFI shell/zedk.

To build zedk from scratch, run ./build.sh from this repository. The zip artifact is then placed under target/zedk.zip.

If you're on Alpine Linux, you may also try building directly (launch ./scripts/build-alpine.sh); if you're developing zedk, try adding -C as a parameter to skip cleaning.

Where

  • zedk should run on most x86_64 (Intel/AMD 64-bit) UEFI systems.
  • Hidden BIOS features are automatically unlocked for certain AMI UEFI setups (wherever AmiSetupFormSetVar). Tested systems so far:
    • Lenovo ThinkStation P330 Tiny
    • Lenovo ThinkCentre M920q/M920x Tiny
    • Lenovo ThinkCentre M625q

Who and When

zedk was created by Christian Kohlschütter on February 18-19, 2026.

Changes in zedk-20260224

  • Move UnloadUUID code to this repository
  • Improve build scripts and README
  • Add instructions how to boot directly into Setup

Dependencies

zedk depends/builds upon

Related projects

License

zedk is licensed under the Apache 2.0 License, available here or online.

Related Skills

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated24d ago
Forks1

Languages

C

Security Score

85/100

Audited on Mar 11, 2026

No findings