The Unified Extensible Firmware Interface (UEFI) shell was designed for programmers who are writing automation process software for computer-based equipment. Traditionally this software was based on various DOS family operating systems that were popular during the 1980s. While the processes may vary from hardware validation to software testing to manufacturing, the basics of automation are the same. The UEFI shell provides a modern base to the traditional commands common to any operating system. It does so in many cases in the words that the programmers speak, even if they at times speak different languages.
The UEFI shell requires no platform-level customization. It requires no drivers beyond those included in the shipping system. This means as the UEFI shell is used it becomes less and less likely to be the culprit of bugs introduced as a part of the system. It becomes an island of consistency in an ocean of variability.
In Harnessing the UEFI Shell the authors describe the features and capabilities of the shell for the UEFI explaining that the UEFI is not an operating system per se, but is instead intended to be a set of defined interfaces between the system firmware (BIOS), Option ROMs, and operating systems. The richness of the interfaces required for this main purpose secondarily provides the interfaces that can support a rich command line environment, the UEFI shell.
Included are detailed descriptions of how to use the UEFI shell with many real life examples such as specialized memory tests for chip and board validation and manufacturing validation tests. Written specifically for the practicing software engineer, this book enables the reader to quickly become proficient in using and exploiting the UEFI shell.
The UEFI shell is, in the end, useful because it is small and not intrusive, just as its cousins are useful because they are large and all-encompassing.
“Harnessing the UEFI Shell is a perfect sequel to the Beyond BIOS book. If you are still using or shipping DOS-based solutions, this book is definitely a must-read for all software development engineers. It provides an important bridge between the normative specifications and the informative details of the development and the insights provided by the authors.”
—Dong Wei, Vice President and Chief Executive, the Unified EFI Forum, HP Distinguished Technologist