SlideShare una empresa de Scribd logo
1 de 30
BIOS, Linux and
Firmware Test Suite in-between

Alex Hung <alex.hung@canonical.com>
What is BIOS?
What is BIOS?

●

Basic Input/Output System (BIOS)

●

For most people, BIOS is
●

A flashing screen with riddles that shows up when they hit the powre button
What is BIOS?

●

And a blue screen when you press setup hotkey
BIOS is more than a blue screen...

●

Hardware initialization

●

Hardware self-test (POST - Power-on-Self-Test)

●

Customization for different OEM

●

Standardized APIs (UEFI)
●

●

●

Boot-time Services
Runtime Services

Power Management (ACPI)
●

●

●

Hardware description
Event handles (hotkeys)

Multi-OS supports
UEFI - Unified Extensible Firmware Interface

●

UEFI intends to replace the “legacy BIOS”.

●

UEFI is an interface between the operating system

Operating System /
UEFI Application

(OS) and the system firmware (BIOS).
●

UEFI provides boot-time and runtime services - a

UEFI

standard environment for booting an OS.
●

UEFI is a pure interface specification. Common
implementation includes:
Intel EDK2 (Tiano)

Firmware

AMI's Aptio

Phoenix SecureCore

Insyde H20

Hardware
UEFI's Advantages

●

Faster Boot Time

●

Support for Larger Disk Size

●

Protected Mode (real mode in legacy BIOS)

●

Standardized Services

●

UEFI Shell (DOS replacement)

●

Enhanced Security (Secure Boot)
Advanced Configuration and Power Interface (ACPI)

●

ACPI was developed to establish industry interfaces enabling robust OS-directed
motherboard device configuration and power management.

●

APCI is an interface specification comprised of both software and hardware element.

●

In ACPI, the BIOS provides the OS with methods for directly controlling hardware.
●

ACPI uses ACPI Machine Language (AML) for implementing power event handlers.
What kind of information is defined in ACPI?

Power States
How does BIOS interact with
Linux Kernel?
Interaction between Linux Kernel and BIOS

●

UEFI runtime services

●

ACPI registers, tables and control methods
Advanced Configuration and Power Interface (ACPI)

BT

rfkill

hp-wmi

BIOS
AML Code

EC

Wireless
Devices
Exampe: ACPI Control Method Battery
Exampe: ACPI Control Method Battery (cont'd)
Exampe: ACPI Brightness

●

_BCL: Query List of Brightness Control Levels Supported

●

_BCM: Set the Brightness Level

●

_BQC: Brightness Query Current level
Exampe: ACPI Brightness Hotkey
Exampe: ACPI Brightness Hotkey (cont'd)
More Exampes

●

AC Adapters

(cat /sys/class/power_supply/AC/online)

●

CPU's power management (C States and P States)

●

Interrupt routing table

●

Memory allocation table

●

Thermal management (fan, critical shutdown and so on)

●

Wakeup from sleep (cat /proc/acpi/wakeup)

●

and many others

These are not BIOS-related (at least not often):
Audio distortion / no audio
VGA corruption
PCI devices
HDD-related
USB devices (slow bluetooth speed)
UEFI BIOS's Future

●

PC market is shrinking
●

Nightmare (BIOS) is going away...

●

WRONG!!!

●

ARM is adopting UEFI and ACPI (which merged to UEFI Forum)
●

“Moving ACPI into the UEFI Forum is probably one of the biggest changes in the
computing industry since the formation of the UEFI Forum in 2005”
Firmware Test Suite (FWTS)
Firmware Test Suite (FWTS)
What is FWTS?
FWTS is a Linux tool that automates
firmware checking. It aims to detect
bugs and to get firmware fixed.

What does FWTS test?

ACPI

CPU Configuration

Legacy/UEFI BIOS Interface

fwts comprises large set of fifty tests
that are designed to exercise and test

PCIe/PCI Configuration

different aspects of a machine's
firmware – including ACPI, UEFI,

Power Management

hardware configuration, power-saving
and so on.

System Configuration

Others
Getting FWTS
Installation
●

sudo apt-get install fwts

●

Development (stable) release:
●

●

sudo add-apt-repository ppa:firmware-testing-team/ppa-fwts-stable

Development (unstable) release:
●

sudo add-apt-repository ppa:firmware-testing-team/ppa-fwts-devel

Source code
●

Source code: git clone git://kernel.ubuntu.com/hwe/fwts.git
FWTS Examples
FWTS examples
Show tests
fwts --show-tests / fwts –show-tests-full
Scan ACPI Methods
sudo fwts method
Execute UEFI tests (runtime services)
sudo fwts uefirtmisc uefirttime uefirtvariable
Scan CPU configuration
sudo fwts msr mtrr nx virt
Scan kernel log
sudo fwts klog
Run all batch tests
sudo fwts
FWTS Example: ACPI Control Method Battery
FWTS Example: CPU Scaling
Release Schedule

●

fwts is released monthly
●

●

New versioning: Year.Month.Minior_version: 13.06,13.07 and 13.08, 13.09(.01)

Release notes are available online
●

13.09.01 @ https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/13.09.01

●

1x.0y @ https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/1x.0y.00
Online Resource for fwts
Information for fwts
Architecture Supported:

x86 PC – full support
ARM – limited features
Information for fwts and fwts-live
Looking for more information?
fwts:
URL: https://wiki.ubuntu.com/Kernel/Reference/fwts
Mailing list: fwts-devel@lists.ubuntu.com
Thank you

Más contenido relacionado

La actualidad más candente

BIOS and Secure Boot Attacks Uncovered
BIOS and Secure Boot Attacks UncoveredBIOS and Secure Boot Attacks Uncovered
BIOS and Secure Boot Attacks Uncovered
Alex Matrosov
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
Patrick Bellasi
 

La actualidad más candente (20)

BIOS and Secure Boot Attacks Uncovered
BIOS and Secure Boot Attacks UncoveredBIOS and Secure Boot Attacks Uncovered
BIOS and Secure Boot Attacks Uncovered
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
 
Cpu
CpuCpu
Cpu
 
BIOS/UEFI
BIOS/UEFIBIOS/UEFI
BIOS/UEFI
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7
 
Uefi and bios
Uefi and biosUefi and bios
Uefi and bios
 
La Bios
La Bios La Bios
La Bios
 
Placa madre 3° tipp
Placa madre 3° tippPlaca madre 3° tipp
Placa madre 3° tipp
 
La carte mère
La carte mèreLa carte mère
La carte mère
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
Motherboard
MotherboardMotherboard
Motherboard
 
Bootloaders (U-Boot)
Bootloaders (U-Boot) Bootloaders (U-Boot)
Bootloaders (U-Boot)
 
Linux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKBLinux Kernel Booting Process (1) - For NLKB
Linux Kernel Booting Process (1) - For NLKB
 
Video Drivers
Video DriversVideo Drivers
Video Drivers
 
Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8Lcu14 107- op-tee on ar mv8
Lcu14 107- op-tee on ar mv8
 
Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)
 
Boot process: BIOS vs UEFI
Boot process: BIOS vs UEFIBoot process: BIOS vs UEFI
Boot process: BIOS vs UEFI
 
Embedded C - Day 2
Embedded C - Day 2Embedded C - Day 2
Embedded C - Day 2
 
Bios
BiosBios
Bios
 
Bios
BiosBios
Bios
 

Destacado

Overview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesOverview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware Files
Ad Ghauri
 
01. BIOS introduction
01. BIOS introduction01. BIOS introduction
01. BIOS introduction
certain310
 
Comp tia flashcards set 1 (15 cards) acpi cmos
Comp tia flashcards set 1 (15 cards) acpi   cmosComp tia flashcards set 1 (15 cards) acpi   cmos
Comp tia flashcards set 1 (15 cards) acpi cmos
Sue Long Smith
 
Note - (EDK2) Acpi Tables Compile and Install
Note - (EDK2) Acpi Tables Compile and InstallNote - (EDK2) Acpi Tables Compile and Install
Note - (EDK2) Acpi Tables Compile and Install
boyw165
 

Destacado (20)

UEFI presentation
UEFI presentationUEFI presentation
UEFI presentation
 
Overview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesOverview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware Files
 
01. BIOS introduction
01. BIOS introduction01. BIOS introduction
01. BIOS introduction
 
UEFI Spec Version 2.4 Facilitates Secure Update
UEFI Spec Version 2.4 Facilitates Secure UpdateUEFI Spec Version 2.4 Facilitates Secure Update
UEFI Spec Version 2.4 Facilitates Secure Update
 
LAS16-200: Firmware Summit - UEFI secure boot
LAS16-200: Firmware Summit - UEFI secure bootLAS16-200: Firmware Summit - UEFI secure boot
LAS16-200: Firmware Summit - UEFI secure boot
 
Comp tia flashcards set 1 (15 cards) acpi cmos
Comp tia flashcards set 1 (15 cards) acpi   cmosComp tia flashcards set 1 (15 cards) acpi   cmos
Comp tia flashcards set 1 (15 cards) acpi cmos
 
The e820 trap of Linux kernel hibernation
The e820 trap of Linux kernel hibernationThe e820 trap of Linux kernel hibernation
The e820 trap of Linux kernel hibernation
 
Status update-qemu-pcie
Status update-qemu-pcieStatus update-qemu-pcie
Status update-qemu-pcie
 
Extracting Linux kernel feature model changes with FMDiff
Extracting Linux kernel feature model changes with FMDiff Extracting Linux kernel feature model changes with FMDiff
Extracting Linux kernel feature model changes with FMDiff
 
70 271 Stu Chap07
70 271 Stu Chap0770 271 Stu Chap07
70 271 Stu Chap07
 
LCU13: ACPI power state mapping
LCU13: ACPI power state mappingLCU13: ACPI power state mapping
LCU13: ACPI power state mapping
 
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPIKernel Recipes 2015: Representing device-tree peripherals in ACPI
Kernel Recipes 2015: Representing device-tree peripherals in ACPI
 
Q2.12: Power Management Across OSs
Q2.12: Power Management Across OSsQ2.12: Power Management Across OSs
Q2.12: Power Management Across OSs
 
Note - (EDK2) Acpi Tables Compile and Install
Note - (EDK2) Acpi Tables Compile and InstallNote - (EDK2) Acpi Tables Compile and Install
Note - (EDK2) Acpi Tables Compile and Install
 
Introduction to Firmware
Introduction to FirmwareIntroduction to Firmware
Introduction to Firmware
 
Las16 200 - firmware summit - ras what is it- why do we need it
Las16 200 - firmware summit - ras what is it- why do we need itLas16 200 - firmware summit - ras what is it- why do we need it
Las16 200 - firmware summit - ras what is it- why do we need it
 
Linux Initialization Process (1)
Linux Initialization Process (1)Linux Initialization Process (1)
Linux Initialization Process (1)
 
Hardware Probing in the Linux Kernel
Hardware Probing in the Linux KernelHardware Probing in the Linux Kernel
Hardware Probing in the Linux Kernel
 
Unified Extensible Firmware Interface (UEFI)
Unified Extensible Firmware Interface (UEFI)Unified Extensible Firmware Interface (UEFI)
Unified Extensible Firmware Interface (UEFI)
 
High Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux KernelHigh Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux Kernel
 

Similar a BIOS, Linux and Firmware Test Suite in-between

Bootkits: past, present & future
Bootkits: past, present & futureBootkits: past, present & future
Bootkits: past, present & future
Alex Matrosov
 
Persistent BIOS Infection
Persistent BIOS InfectionPersistent BIOS Infection
Persistent BIOS Infection
guest042636
 
Persistent Bios Infection
Persistent Bios InfectionPersistent Bios Infection
Persistent Bios Infection
guest042636
 
BIOS__Power-On-Self-Test.pptx
BIOS__Power-On-Self-Test.pptxBIOS__Power-On-Self-Test.pptx
BIOS__Power-On-Self-Test.pptx
SamiWhoo
 
Delivering a secure and fast boot experience with uefi
Delivering a secure and fast boot experience with uefiDelivering a secure and fast boot experience with uefi
Delivering a secure and fast boot experience with uefi
Scientia Groups
 
Delivering a secure and fast boot experience with uefi
Delivering a secure and fast boot experience with uefiDelivering a secure and fast boot experience with uefi
Delivering a secure and fast boot experience with uefi
Norman Mayes
 
my Windows 7 info
my Windows 7 infomy Windows 7 info
my Windows 7 info
isky guard
 

Similar a BIOS, Linux and Firmware Test Suite in-between (20)

BIOS
BIOSBIOS
BIOS
 
07. Mainboard (System Board, Motherboard)
07. Mainboard (System Board, Motherboard)07. Mainboard (System Board, Motherboard)
07. Mainboard (System Board, Motherboard)
 
Bootkits: past, present & future
Bootkits: past, present & futureBootkits: past, present & future
Bootkits: past, present & future
 
bios.docx
bios.docxbios.docx
bios.docx
 
Review paper on bios vs uefi
Review  paper on bios vs uefiReview  paper on bios vs uefi
Review paper on bios vs uefi
 
COC. 1 COMPUTER SYSTEM SPECIFICATIONS-BIOS.pptx
COC. 1 COMPUTER SYSTEM SPECIFICATIONS-BIOS.pptxCOC. 1 COMPUTER SYSTEM SPECIFICATIONS-BIOS.pptx
COC. 1 COMPUTER SYSTEM SPECIFICATIONS-BIOS.pptx
 
Persistent BIOS Infection
Persistent BIOS InfectionPersistent BIOS Infection
Persistent BIOS Infection
 
Persistent Bios Infection
Persistent Bios InfectionPersistent Bios Infection
Persistent Bios Infection
 
05 - BIOS.ppt
05 - BIOS.ppt05 - BIOS.ppt
05 - BIOS.ppt
 
101 1.1 hardware settings
101 1.1 hardware settings101 1.1 hardware settings
101 1.1 hardware settings
 
BIOS__Power-On-Self-Test.pptx
BIOS__Power-On-Self-Test.pptxBIOS__Power-On-Self-Test.pptx
BIOS__Power-On-Self-Test.pptx
 
Motherboard.pptx
Motherboard.pptxMotherboard.pptx
Motherboard.pptx
 
Slimline Open Firmware
Slimline Open FirmwareSlimline Open Firmware
Slimline Open Firmware
 
BASIC INPUT OUTPUT SYSTEM related to a PC
BASIC INPUT OUTPUT SYSTEM related to a PCBASIC INPUT OUTPUT SYSTEM related to a PC
BASIC INPUT OUTPUT SYSTEM related to a PC
 
Delivering a secure and fast boot experience with uefi
Delivering a secure and fast boot experience with uefiDelivering a secure and fast boot experience with uefi
Delivering a secure and fast boot experience with uefi
 
Delivering a secure and fast boot experience with uefi
Delivering a secure and fast boot experience with uefiDelivering a secure and fast boot experience with uefi
Delivering a secure and fast boot experience with uefi
 
101 1.1 hardware settings v2
101 1.1 hardware settings v2101 1.1 hardware settings v2
101 1.1 hardware settings v2
 
my Windows 7 info
my Windows 7 infomy Windows 7 info
my Windows 7 info
 
1.1 hardware settings v2
1.1 hardware settings v21.1 hardware settings v2
1.1 hardware settings v2
 
Intro bios
Intro biosIntro bios
Intro bios
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

BIOS, Linux and Firmware Test Suite in-between

  • 1. BIOS, Linux and Firmware Test Suite in-between Alex Hung <alex.hung@canonical.com>
  • 3. What is BIOS? ● Basic Input/Output System (BIOS) ● For most people, BIOS is ● A flashing screen with riddles that shows up when they hit the powre button
  • 4. What is BIOS? ● And a blue screen when you press setup hotkey
  • 5. BIOS is more than a blue screen... ● Hardware initialization ● Hardware self-test (POST - Power-on-Self-Test) ● Customization for different OEM ● Standardized APIs (UEFI) ● ● ● Boot-time Services Runtime Services Power Management (ACPI) ● ● ● Hardware description Event handles (hotkeys) Multi-OS supports
  • 6. UEFI - Unified Extensible Firmware Interface ● UEFI intends to replace the “legacy BIOS”. ● UEFI is an interface between the operating system Operating System / UEFI Application (OS) and the system firmware (BIOS). ● UEFI provides boot-time and runtime services - a UEFI standard environment for booting an OS. ● UEFI is a pure interface specification. Common implementation includes: Intel EDK2 (Tiano) Firmware AMI's Aptio Phoenix SecureCore Insyde H20 Hardware
  • 7. UEFI's Advantages ● Faster Boot Time ● Support for Larger Disk Size ● Protected Mode (real mode in legacy BIOS) ● Standardized Services ● UEFI Shell (DOS replacement) ● Enhanced Security (Secure Boot)
  • 8. Advanced Configuration and Power Interface (ACPI) ● ACPI was developed to establish industry interfaces enabling robust OS-directed motherboard device configuration and power management. ● APCI is an interface specification comprised of both software and hardware element. ● In ACPI, the BIOS provides the OS with methods for directly controlling hardware. ● ACPI uses ACPI Machine Language (AML) for implementing power event handlers.
  • 9. What kind of information is defined in ACPI? Power States
  • 10. How does BIOS interact with Linux Kernel?
  • 11. Interaction between Linux Kernel and BIOS ● UEFI runtime services ● ACPI registers, tables and control methods
  • 12. Advanced Configuration and Power Interface (ACPI) BT rfkill hp-wmi BIOS AML Code EC Wireless Devices
  • 13. Exampe: ACPI Control Method Battery
  • 14. Exampe: ACPI Control Method Battery (cont'd)
  • 15. Exampe: ACPI Brightness ● _BCL: Query List of Brightness Control Levels Supported ● _BCM: Set the Brightness Level ● _BQC: Brightness Query Current level
  • 17. Exampe: ACPI Brightness Hotkey (cont'd)
  • 18. More Exampes ● AC Adapters (cat /sys/class/power_supply/AC/online) ● CPU's power management (C States and P States) ● Interrupt routing table ● Memory allocation table ● Thermal management (fan, critical shutdown and so on) ● Wakeup from sleep (cat /proc/acpi/wakeup) ● and many others These are not BIOS-related (at least not often): Audio distortion / no audio VGA corruption PCI devices HDD-related USB devices (slow bluetooth speed)
  • 19. UEFI BIOS's Future ● PC market is shrinking ● Nightmare (BIOS) is going away... ● WRONG!!! ● ARM is adopting UEFI and ACPI (which merged to UEFI Forum) ● “Moving ACPI into the UEFI Forum is probably one of the biggest changes in the computing industry since the formation of the UEFI Forum in 2005”
  • 21. Firmware Test Suite (FWTS) What is FWTS? FWTS is a Linux tool that automates firmware checking. It aims to detect bugs and to get firmware fixed. What does FWTS test? ACPI CPU Configuration Legacy/UEFI BIOS Interface fwts comprises large set of fifty tests that are designed to exercise and test PCIe/PCI Configuration different aspects of a machine's firmware – including ACPI, UEFI, Power Management hardware configuration, power-saving and so on. System Configuration Others
  • 22. Getting FWTS Installation ● sudo apt-get install fwts ● Development (stable) release: ● ● sudo add-apt-repository ppa:firmware-testing-team/ppa-fwts-stable Development (unstable) release: ● sudo add-apt-repository ppa:firmware-testing-team/ppa-fwts-devel Source code ● Source code: git clone git://kernel.ubuntu.com/hwe/fwts.git
  • 23. FWTS Examples FWTS examples Show tests fwts --show-tests / fwts –show-tests-full Scan ACPI Methods sudo fwts method Execute UEFI tests (runtime services) sudo fwts uefirtmisc uefirttime uefirtvariable Scan CPU configuration sudo fwts msr mtrr nx virt Scan kernel log sudo fwts klog Run all batch tests sudo fwts
  • 24. FWTS Example: ACPI Control Method Battery
  • 25. FWTS Example: CPU Scaling
  • 26. Release Schedule ● fwts is released monthly ● ● New versioning: Year.Month.Minior_version: 13.06,13.07 and 13.08, 13.09(.01) Release notes are available online ● 13.09.01 @ https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/13.09.01 ● 1x.0y @ https://wiki.ubuntu.com/FirmwareTestSuite/ReleaseNotes/1x.0y.00
  • 28. Information for fwts Architecture Supported: x86 PC – full support ARM – limited features
  • 29. Information for fwts and fwts-live Looking for more information? fwts: URL: https://wiki.ubuntu.com/Kernel/Reference/fwts Mailing list: fwts-devel@lists.ubuntu.com