2002 Linux Symposium
navigation



related

contact:

Linux in a Brave New Firmware Environment

Matthew E Tolentino

Initially included exclusively on Itanium™ platforms, the Extensible Firmware Interface Architecture (EFI) will soon be included on IA-32 server, workstation, and desktop systems. This paper provides insight into the design and composition of an EFI enabled IA-32 Linux kernel capable of booting on legacy free platforms. An overview of the EFI development environment is provided, including the specifications, development tools, and software development kits available for development today.

The design and prototype implementation of the kernel initialization sequence from the instantiation of the EFI enabled boot loader to the login prompt is detailed with an emphasis on maintaining backward compatibility with existing legacy platforms. The legacy free VGA replacement, the Universal Graphics Adapter (UGA), is introduced in the context of Linux, including the requirements for use within the kernel. Additionally, details of a prototype implementation of the Universal Graphics Adapter Driver stack, including an EFI Byte Code Interpreter and Virtual Machine (the so called EBC VM), are presented and analyzed in depth. This paper concludes with a call for kernel developers to review and provide feedback on the design and implementation presented.

2004
© 1999-2003 Linux Symposium.  All Rights Reserved.