UEFI News and Commentary

Friday, August 05, 2011

UEFI Programming at the University of California (Santa Cruz)

I was sitting at the train station in Santa Clara and started flipping through the catalog for the UC Santa Cruz extension when I noticed, on the front cover, a computer science course with both BIOS and UEFI on the front cover. Later, when I showed this to long-time firmware engineers, they pulled out their cell-phones to take a picture. I'll post that picture later.

Here's the link to the course, which was offerend last month. I tried to contact the professor for the course to give them a free copy of the shell book, but no response. The course description says:

Every embedded system, from game consoles and cell phones to medical and networking equipment, requires boot loaders to initialize the hardware, perform initial diagnostics, setup the environment and load the target operating system. Some boot loaders, like U-BOOT, are simple. Others, such as BIOS (Basic Input/Output System) and UEFI (Unified Extensible Firmware Interface), are modular and extensible. In this course, you'll learn about BIOS and UEFI, the two most common boot loaders, and get a brief overview of U-BOOT.

The course starts with BIOS history, architecture and the evolution of BIOS over the past 20-plus years. Students learn about BIOS device enumeration and configuration. The course covers BIOS interfaces including software interrupts, option ROM interface, and boot mechanism. The BIOS section ends with option ROM limitations, and a brief introduction to ACPI and SMBIOS.

In the UEFI section of the course, students learn about UEFI history, architecture and services provided by UEFI. Students also learn the UEFI driver architecture and how to write UEFI drivers and applications. The course concludes with UEFI debugging methodologies and briefly addresses U-BOOT.


This course includes hands-on programming and homework assignments. By the end of the course, students have a broad understanding of operation and debugging techniques for various boot loaders. They are also able to identify various characteristics of the boot process and diagnose hardware issues

Thursday, August 04, 2011

UEFI Plugfest

Front of the T-Shirt. Don't know how many people asked me
if it was supposed to be an anagram for "LIFE".
Well, I failed completely to talk about the UEFI summer plugfest on July 6-9, even though I was there and presented (on emulated devices). In between presentations, Intel put on some excellent training sessions on topics like the UEFI shell. See all presentations here. This event was hosted by Microsoft (and Phoenix), but there was a good showing from other non-Microsoft ecosystems, including Linux distros and Apple. There was a cool t-shirt, and I'll add its image later.

Latest news is that there will be another plugfest October 24th-27th in Taiwan. I'm not sure, but I'm guessing it will be in Xinbei City again, which is a delightful valley just outside of Taipei, known for its local beauty and smoky tofu.
Back of the UEFI t-shirt.