SlideShare a Scribd company logo
1 of 10
coreboot
Cristian Măgheru anș
Budapest, 6 October 2009
A bit of history
● v1 – 1999 - “Keyboard error, press F1 to continue”
on some 500 cluster nodes
– LinuxBIOS
● Used a Linux kernel for hardware init & system boot(kexec)
● v2 – redesign/rewrite (the kernel was too big)
● v3 – playground where many goodies were born
– Failed due to poor hardware support
– Most features were merged back into v2(mainline)
● 2007 – LinuxBIOS is renamed coreboot
– No dependence on the Linux kernel
coreboot Operation
● coreboot contains only hardware init code
– No PC BIOS routines
● Runs a so-called payload (static ELF binary)
– OS kernels: Linux, Plan9
– PC BIOS emulation: SeaBIOS
– Bootloaders: FILO, GRUB2, Etherboot, gPXE
– Utilities: Memtest, coreinfo
– UEFI
– Payload selector: Bayou
– Games :-)
● May run optional ROMs (like VGA BIOS code)
coreboot Facts
● Modular and versatile stack for system startup
● Fast boot
– About 3 seconds to Linux prompt
– SMP startup on some systems
● Decent hardware support
– About 200 motherboards
– many CPUs and chipsets are supported (many of those with public
datasheets)
– hard to keep up with the hardware vendors
● Free Software (GPL)
● Commercial support is available
● Some big names are involved (AMD, VIA, MSI...)
Internals
● Written in C almost completely
– A tiny fraction is in ASM
● 32bit mode almost from the start
● RAM init is maybe the hardest part
– needs do be done using SMBUS
– only after the Southbridge, SuperIO and the RAM controller were
already initialized
– Early init (anything that happens before RAM is initialized) is tricky to
do in C
– The C language needs a stack
– How do you make a stack when there's no RAM?
● ROMCC - Compiles C into binary code that only uses the CPU registers
● CAR - uses the CPU cache instead of real RAM, if supported by hardware
● CBFS Filesystem-like layout for the flash image (archive)
Use cases
● Anywhere flexibility really matters
● Embedded/custom/hobbyist systems
● Instant-on applications
● HPC Clusters
● Cool applications (Linux-based)
– Xvesa Linux environment payload
● Free-Software-only applications
– FSF uses it extensively
Porting to new hardware
● Porting to a new desktop motherboard
– relatively easy to do if the components are already
supported
● Porting to a new CPU/chipset
– low level hardware datasheets are needed
– much harder, usually takes more than 6 months
● Laptops are troublesome
Summary
● coreboot
– PC BIOS replacement (if configured), and not only
● Technical advantages over legacy BIOSes
● More info
– http://coreboot.org
Köszönöm!
Köszönöm!

More Related Content

What's hot

Grabbing the PostgreSQL Elephant by the Trunk
Grabbing the PostgreSQL Elephant by the TrunkGrabbing the PostgreSQL Elephant by the Trunk
Grabbing the PostgreSQL Elephant by the Trunk
Harold Giménez
 

What's hot (20)

Getting started with BeagleBone Black - Embedded Linux
Getting started with BeagleBone Black - Embedded LinuxGetting started with BeagleBone Black - Embedded Linux
Getting started with BeagleBone Black - Embedded Linux
 
U-Boot presentation 2013
U-Boot presentation  2013U-Boot presentation  2013
U-Boot presentation 2013
 
XPDDS17: Recent and Ongoing Xen Related Work in the Linux Kernel - Jürgen Gr...
XPDDS17:  Recent and Ongoing Xen Related Work in the Linux Kernel - Jürgen Gr...XPDDS17:  Recent and Ongoing Xen Related Work in the Linux Kernel - Jürgen Gr...
XPDDS17: Recent and Ongoing Xen Related Work in the Linux Kernel - Jürgen Gr...
 
Linux kernel development
Linux kernel developmentLinux kernel development
Linux kernel development
 
Workshop Raspberry Pi NAS with Windows Share
Workshop Raspberry Pi NAS with Windows ShareWorkshop Raspberry Pi NAS with Windows Share
Workshop Raspberry Pi NAS with Windows Share
 
Linux kernel booting
Linux kernel bootingLinux kernel booting
Linux kernel booting
 
FreeBSD Unified Configuration
FreeBSD Unified ConfigurationFreeBSD Unified Configuration
FreeBSD Unified Configuration
 
Linux kernel system call
Linux kernel system callLinux kernel system call
Linux kernel system call
 
2013 Indiana LinuxFest - Getting Started With PC-BSD
2013 Indiana LinuxFest -  Getting Started With PC-BSD2013 Indiana LinuxFest -  Getting Started With PC-BSD
2013 Indiana LinuxFest - Getting Started With PC-BSD
 
MongoDB: Backup, Restore, and DR
MongoDB: Backup, Restore, and DRMongoDB: Backup, Restore, and DR
MongoDB: Backup, Restore, and DR
 
Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2
 
Tip from IBM Connect 2014: IBM Domino 64-bit: All you need to know
Tip from IBM Connect 2014: IBM Domino 64-bit: All you need to knowTip from IBM Connect 2014: IBM Domino 64-bit: All you need to know
Tip from IBM Connect 2014: IBM Domino 64-bit: All you need to know
 
shortcut computer abrevation
shortcut computer abrevationshortcut computer abrevation
shortcut computer abrevation
 
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-knowbccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
bccon-2014 adm04 ibm-domino-64bit-all-you-need-to-know
 
Grabbing the PostgreSQL Elephant by the Trunk
Grabbing the PostgreSQL Elephant by the TrunkGrabbing the PostgreSQL Elephant by the Trunk
Grabbing the PostgreSQL Elephant by the Trunk
 
Pc bsd-intro
Pc bsd-introPc bsd-intro
Pc bsd-intro
 
Qemu
QemuQemu
Qemu
 
FUSE Filesystems
FUSE FilesystemsFUSE Filesystems
FUSE Filesystems
 
XPDS14: libvirt support for libxenlight - James Fehlig, SUSE
XPDS14: libvirt support for libxenlight - James Fehlig, SUSEXPDS14: libvirt support for libxenlight - James Fehlig, SUSE
XPDS14: libvirt support for libxenlight - James Fehlig, SUSE
 
LSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVMLSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVM
 

Similar to coreboot@Budapest 10.2009 Meetup

Computer Main Comppponents.pdf
Computer Main Comppponents.pdfComputer Main Comppponents.pdf
Computer Main Comppponents.pdf
thinalost
 
We4IT lcty 2013 - infra-man - domino run faster
We4IT lcty 2013 - infra-man - domino run faster We4IT lcty 2013 - infra-man - domino run faster
We4IT lcty 2013 - infra-man - domino run faster
We4IT Group
 

Similar to coreboot@Budapest 10.2009 Meetup (20)

XS Boston 2008 Self IO Emulation
XS Boston 2008 Self IO EmulationXS Boston 2008 Self IO Emulation
XS Boston 2008 Self IO Emulation
 
5. boot process
5. boot process5. boot process
5. boot process
 
Linux Kernel Platform Development: Challenges and Insights
 Linux Kernel Platform Development: Challenges and Insights Linux Kernel Platform Development: Challenges and Insights
Linux Kernel Platform Development: Challenges and Insights
 
Grub and dracut ii
Grub and dracut iiGrub and dracut ii
Grub and dracut ii
 
Getting started with LinuxBoot Firmware on AArch64 Server
Getting started with LinuxBoot Firmware on AArch64 Server Getting started with LinuxBoot Firmware on AArch64 Server
Getting started with LinuxBoot Firmware on AArch64 Server
 
NetBSD workshop
NetBSD workshopNetBSD workshop
NetBSD workshop
 
1 study of motherboard
1 study of motherboard1 study of motherboard
1 study of motherboard
 
U-Boot Porting on New Hardware
U-Boot Porting on New HardwareU-Boot Porting on New Hardware
U-Boot Porting on New Hardware
 
Masters porting linux
Masters porting linuxMasters porting linux
Masters porting linux
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012
 
Icsug conf 14_adm04_ibm-domino-64bit-all-you-need-to-know
Icsug conf 14_adm04_ibm-domino-64bit-all-you-need-to-knowIcsug conf 14_adm04_ibm-domino-64bit-all-you-need-to-know
Icsug conf 14_adm04_ibm-domino-64bit-all-you-need-to-know
 
Computer Main Comppponents.pdf
Computer Main Comppponents.pdfComputer Main Comppponents.pdf
Computer Main Comppponents.pdf
 
BeagleBone Black Booting Process
BeagleBone Black Booting ProcessBeagleBone Black Booting Process
BeagleBone Black Booting Process
 
U-Boot - An universal bootloader
U-Boot - An universal bootloader U-Boot - An universal bootloader
U-Boot - An universal bootloader
 
Introduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer TrainingIntroduction and course Details of Embedded Linux Platform Developer Training
Introduction and course Details of Embedded Linux Platform Developer Training
 
The origin: Init (compact version)
The origin: Init (compact version)The origin: Init (compact version)
The origin: Init (compact version)
 
We4IT lcty 2013 - infra-man - domino run faster
We4IT lcty 2013 - infra-man - domino run faster We4IT lcty 2013 - infra-man - domino run faster
We4IT lcty 2013 - infra-man - domino run faster
 
Tuning Linux for MongoDB
Tuning Linux for MongoDBTuning Linux for MongoDB
Tuning Linux for MongoDB
 
Polstra 44con2012
Polstra 44con2012Polstra 44con2012
Polstra 44con2012
 
Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
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
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

coreboot@Budapest 10.2009 Meetup

  • 2. A bit of history ● v1 – 1999 - “Keyboard error, press F1 to continue” on some 500 cluster nodes – LinuxBIOS ● Used a Linux kernel for hardware init & system boot(kexec) ● v2 – redesign/rewrite (the kernel was too big) ● v3 – playground where many goodies were born – Failed due to poor hardware support – Most features were merged back into v2(mainline) ● 2007 – LinuxBIOS is renamed coreboot – No dependence on the Linux kernel
  • 3. coreboot Operation ● coreboot contains only hardware init code – No PC BIOS routines ● Runs a so-called payload (static ELF binary) – OS kernels: Linux, Plan9 – PC BIOS emulation: SeaBIOS – Bootloaders: FILO, GRUB2, Etherboot, gPXE – Utilities: Memtest, coreinfo – UEFI – Payload selector: Bayou – Games :-) ● May run optional ROMs (like VGA BIOS code)
  • 4. coreboot Facts ● Modular and versatile stack for system startup ● Fast boot – About 3 seconds to Linux prompt – SMP startup on some systems ● Decent hardware support – About 200 motherboards – many CPUs and chipsets are supported (many of those with public datasheets) – hard to keep up with the hardware vendors ● Free Software (GPL) ● Commercial support is available ● Some big names are involved (AMD, VIA, MSI...)
  • 5. Internals ● Written in C almost completely – A tiny fraction is in ASM ● 32bit mode almost from the start ● RAM init is maybe the hardest part – needs do be done using SMBUS – only after the Southbridge, SuperIO and the RAM controller were already initialized – Early init (anything that happens before RAM is initialized) is tricky to do in C – The C language needs a stack – How do you make a stack when there's no RAM? ● ROMCC - Compiles C into binary code that only uses the CPU registers ● CAR - uses the CPU cache instead of real RAM, if supported by hardware ● CBFS Filesystem-like layout for the flash image (archive)
  • 6. Use cases ● Anywhere flexibility really matters ● Embedded/custom/hobbyist systems ● Instant-on applications ● HPC Clusters ● Cool applications (Linux-based) – Xvesa Linux environment payload ● Free-Software-only applications – FSF uses it extensively
  • 7. Porting to new hardware ● Porting to a new desktop motherboard – relatively easy to do if the components are already supported ● Porting to a new CPU/chipset – low level hardware datasheets are needed – much harder, usually takes more than 6 months ● Laptops are troublesome
  • 8. Summary ● coreboot – PC BIOS replacement (if configured), and not only ● Technical advantages over legacy BIOSes ● More info – http://coreboot.org