1 / 10

UEFI 与固件程序设计

UEFI 与固件程序设计. Tel : 69589584 Email:wang.box@163.com. 同济大学软件学院. Legacy BIOS Interface. Legacy BIOS provides OS with I/O routines via x86 software interrupts Normally for OS booting Can also be used at runtime by legacy OSes (DOS, Windows 3.x, Windows 9X)

feng
Download Presentation

UEFI 与固件程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UEFI与固件程序设计 Tel:69589584 Email:wang.box@163.com 同济大学软件学院

  2. Legacy BIOS Interface • Legacy BIOS provides OS with I/O routines via x86 software interrupts • Normally for OS booting • Can also be used at runtime by legacy OSes (DOS, Windows 3.x, Windows 9X) • Typical software interrupts used by legacy OS loaders • INT 10h – Video display • INT 13h – Floppy/Hard disk I/O • INT 15h – Extended memory support, Report memory map, … • INT 16h – Keyboard input • INT 19h – Bootstrap loader • INT 1Ah – System date and time, PCI BIOS real mode interface 继续 返回

  3. Boot OS under Legacy BIOS • BIOS identifies all IPL(Initial Program Load) devices in the system and determines the boot order during POST • BAIDs (BIOS Aware IPL Device) • PnP ISA/PCI Cards • Legacy ISA/PCI cards may hook INT 19h to control the boot process • BIOS invokes INT 19h after POST to start booting OS • The INT 19h handler attempts to boot from IPL devices sequentially in the boot order, if failed then next • Boot flow when normally booting from hard disk • Hard disk is partitioned to up to 4 primary partitions so that multiple OSes can co-exist • The first sector (cylinder 0, head 0, sector 1) referred to as MBR (Main Boot Record) contains OS independent bootstrap code • INT 19h handler relies on INT 13h to read MBR into 0:7C00h • INT 19h handler verifies the validity of MBR • INT 19h handler transfers the control to the MBR bootstrap code by jumping to 0:7C00h 继续 返回

  4. Hard Disk Partition and MBR Layout Legacy Master Boot Record 继续 返回

  5. Hard Disk Partition and MBR Layout Partition Table Entry 继续 返回

  6. What Does MBR Do? • Replicate itself to a memory range at lower address to make room for the coming OS bootstrap code • Parse the partition table to find the active partition • Load the first sector of the active partition to memory at 0:7C00h • Verify the validity of the sector as a bootstrap sector • Transfer the control to the OS bootstrap sector by jumping to 0:7C00h • OS specific bootstrap process starts Refer to UEFI Specification Revision 2.2 section 5.2 继续 返回

  7. UEFI Boot Mechanisms • File level boot • EFI_SIMPLE_FILE_SYSTEM_PROTOCOL • EFI_LOAD_FILE_PROTOCOL • Boot options are defined via Boot#### variables • Two types of boot options • UEFI OS boot loaders • Other UEFI applications • System firmware and OS installer can set to a known set of boot options • UEFI boot manager attempts to load and execute boot options in the order defined by the BootOrder variable • If a boot option failed and the device path points directly to an EFI_SIMPLE_FILE_SYSTEM_PROTOCOL device and specify no exact file, then search for a default application to boot per removable media boot behavior • If no valid boot options are present, a default behavior is defined • Enumerate all removable media devices followed by all fixed media devices • Removable media boot behavior applies to the devices support EFI_SIMPLE_FILE_SYSTEM_PROTOCOL • Otherwise, attempt to boot the device via the EFI_LOAD_FILE_PROTOCOL • Removable media boot behavior • \EFI\BOOT\BOOT{machine type short-name}.EFI 继续 返回

  8. EFI GUIDed Partition Table (GPT) Partitioning Scheme 继续 返回

  9. GPT Advantages over MBR Partition Table • 64-bit Logical Block Addressing. • Supports many partitions. • Uses a primary and backup table for redundancy. • Uses version number and size fields for future expansion. • Uses CRC32 fields for improved data integrity. • Defines a GUID for uniquely identifying each partition. • Uses a GUID and attributes to define partition content type. • Each partition contains a 36 Unicode character human readable name. 继续 返回

  10. UEFI System Partition • Persistent store on large mass storage media types for storing UEFI OS boot loader images, drivers/applications to extend platform firmware capabilities and other data files • Infrastructure to increase platform value-add without significantly growing the need for nonvolatile platform memory • Place can be shared by firmware developers, OEMs, OSVs and third parties • Based on FA32 file system • Identification • Legacy MBR partitioning scheme: new partition type 0xef • GPT: C12A7328-F81F-11d2-BA4B-00A0C93EC93B 继续 返回

More Related