Trusted Computing aims at securing the whole computing platform and architecture and relies for that purpose on all the components used for starting the system performing their task as expected. At boot time, various low-level software is executed to bridge the gap between the specific hardware that needs to be initialized and the generic operating system running on top of it. All these components are linked in a sequential manner, each one performing actions that are dependent on the actions the previous components performed.
The normal boot process on a PC platform is complicated for historical reasons. Each generation of new Intel platform introduced new features but was also designed with backward compatibility in mind, thus forcing certain mechanisms to be implemented in an inefficient way. The normal boot process on a PC is composed of the following sequence:
1. BIOS (Basic Input/Output System) The BIOS is the first piece of software to be executed when the platform is booted. It is used to perform all the basic operations, from locating available devices to initializing them. The BIOS software can be configured by the user by pressing specific keys during execution. The Core Root of Trust for Measurement (CRTM) is contained in a part of the BIOS called the BIOS Boot Block (BBB), a piece of un-updatable code that is the very first to be executed during boot.
2. Option ROMs Some peripherals and motherboard components have specific read only memory (ROM) stored on the BIOS flash. This ROM contains code for initializing the peripheral or component. The BIOS is in charge of executing the option ROMs and ensuring that the corresponding devices are only available if the option ROMs are executed successfully.
3. Master Boot Record (MBR) The MBR designates the piece of code stored on the hard disk and used to determine where to look for the boot manager in the active partition, which may be listed in the partition table, and if no active partition is found, to load a boot manager to enable the user to select which partition to boot.
4. Boot manager The boot manager allows the user to select which operating system to boot in case of a multiboot platform. If only one operating system is installed, it will automatically transition to the corresponding operating system loader.
5. Operating system loader Last during the boot sequence, the operating system loader is in charge of preparing the environment for the operating system kernel. This can entail a multitude of actions, depending on the operating system and the loader, from determining which kernel to start to preparing access to memory and the CPU.
Despite the general structure described here, many boot processes vary, not only because operating systems differ, but also because hardware configurations and specific elements sometimes interspersed between the boot components are diverse. Although the BIOS is still by far the most widely used firmware for modern computers, a new standard called Extensible Firmware Interface (EFI) has been recently ratified and is slowly finding its way into the computing world. The EFI greatly simplifies the boot process, by removing the need for specific components and providing a well-designed mini-execution environment. Given the rarity of EFI firmware at this time, we will only consider the BIOS firmware in this chapter.
When the boot process terminates, the operating system kernel is placed in memory and is ready to be executed, with all components and peripherals initialized. Once control is passed to the operating system kernel, the boot components are no longer needed.
Was this article helpful?
Read how to maintain and repair any desktop and laptop computer. This Ebook has articles with photos and videos that show detailed step by step pc repair and maintenance procedures. There are many links to online videos that explain how you can build, maintain, speed up, clean, and repair your computer yourself. Put the money that you were going to pay the PC Tech in your own pocket.