I just wanted to provide some background material on the work I do in firmware, namely UEFI-based technology.
A good place to start is a chapter I co-authored w/ colleagues at Intel in the Springer book Hardware-Dependent Software at http://www.springerlink.com/content/p814344458841w72/; this provides a basic overview of the machine boot flow, UEFI, PI. In addition, the same set of authors published a book with Intel Press "Beyond BIOS" which has a more detail at http://www.intel.com/intelpress/sum_efi.htm. Part of the work at UEFI of late has included bringing in the UEFI Shell, and we have a soon-to-be-released book at http://www.intel.com/intelpress/sum_eshl.htm with the same authorsplus Tim Lewis from Phoenix.
These readings, along with the specifications at http://www.uefi.org/home/ and reference implementation at https://www.tianocore.org/, should provide a good starting point on the UEFI adventure.
Other recent material that treats on more specific topics, like UEFI and trusted computing technology, can be found at http://www.cs.berkeley.edu/~ kubitron/courses/cs194-24-S14/ hand-outs/SF09_EFIS001_UEFI_ PI_TCG_White_Paper.pdf. This is material I provided with IBM co-authors to complement our Spring Intel Developer Forum (IDF) presentation. And a similar whitepaper-style reading authored by by Intel and HP engineers that treats the evolution of UEFI and networking technology can be found at http://www.uefi.org/sites/ default/files/resources/A_ Tale_of_Two_Standards_0.pdf.
These readings, along with the specifications at http://www.uefi.org/home/ and reference implementation at https://www.tianocore.org/, should provide a good starting point on the UEFI adventure.
Other recent material that treats on more specific topics, like UEFI and trusted computing technology, can be found at http://www.cs.berkeley.edu/~