Skip to main content

Architecture 4021: Introductory UEFI


OpenSecurityTraining2

About This Course

Discover the world of UEFI and PI Specifications with our comprehensive course. We'll begin by diving into firmware fundamentals, exploring key terminology, and providing a succinct overview of the history of BIOS implementations. Throughout the course, you'll gain a solid grasp of essential UEFI concepts and learn how they shape the boot flow on modern platforms.

This course is designed to build your understanding of UEFI and PI design principles, as well as boot procedures from the ground up. Additionally, we'll guide you in setting up a UEFI development environment, which is commonly employed by professional open-source firmware vendors. With the right environment in place, you'll be able to successfully build and run UEFI implementations on a QEMU-emulated target.

Our updated course material includes enhanced content and new lectures on UEFI Variables, crucial for mastering UEFI Secure Boot. Once you complete this course, you'll be well-equipped to delve further into UEFI on real hardware with our "Architecture 4221: UEFI Secure Boot" course.

Requirements

You must be comfortable with Linux command line.

If you need to learn Linux, we recommend Ubuntu Command Line for Beginners, and LinuxCommand.org.

Frequently Asked Questions

What learning paths is this class used in?

Firmware Security, Firmware Architecture, Firmware Development and Trusted Systems Design

Do the instructors teach this class in person?

Yes, contact us here, for in-person teaching inquiries.

How long does the course take?

According to the beta test, it averages about 10 hours. But we'd like to get more data, and we'd appreciate it if you track how much time you spend on the class, and submit it where requested at the end of each section.

Course Staff

Piotr's Twitter Pic!

Piotr Król

Piotr Król is a multi-disciplinary executive running several companies in the embedded systems and semiconductor industries, including 3mdeb, LPN Plant, and Vitro Technology. Piotr helps companies around the world realize their products’ potential by supporting upgradeability and enabling advanced hardware features through firmware.

He received his master's degree in Computer Systems Networking and Telecommunications from the Technical University of Gdańsk and started his career in Intel’s Data Center Division. There, he built frameworks for storage controllers validation. After three years, he moved to the BIOS Software Engineer position where he worked with modern server platforms. Piotr proudly evangelized the use of open source tools, supported FSP development, fixed ME/AMT related issues, and worked with Option ROMs loading.

After seven years at Intel, Piotr went on to start his own business to help hardware makers keep their systems secure and up-to-date. His consulting work has since grown to include several businesses, including 3mdeb, LPN Plant, and Vitro Technology. Piotr specializes in Embedded Firmware (coreboot, UEFI/EDK2/BIOS, training, and security) and Embedded Linux (Yocto, Linux Device Drivers, C/Python/Go/Rust applications). These companies are rapidly growing and serve dozens of clients supporting hundreds of thousands of devices around the world.

He is an active leader in the firmware community, speaking at events like the Platform Security Summit, Open Source Firmware Conference, and FOSDEM. Piotr’s expertise in hardware and software security—from ATMs and voting machines to industrial plants and intelligence agencies—is also sought after by journalists and researchers around the world.

Piotr is an open-source evangelist, active in the open-source firmware (e.g. coreboot) and Linux communities. His team maintains Dasharo open-source firmware distribution focusing on clean and simple code, long-term maintenance, transparent validation, privacy-respecting implementation, liberty for the owners, and trustworthiness for all. Piotr is always open to new ideas and opportunities, so please do not hasitate contact him on Twitter, LinkedIn or e-mail, if you have any questions.

Enroll