OpenWest 2014/Booting Linux

From Omnia
Jump to navigation Jump to search

by Mike Lovell

Slides - http://baldr.dev-zero.net

Boot Process: Platform Init -> Bootloader -> Kernel Init -> Init

Platform Init:

  • Firmware boot
  • BIOS (Award, AMI, Phoenix, Coreboot on Chromebooks)
  • UEFI
  • Low level hardware initialization
  • Pass control from BIOS to bootloader:
    • Find boot loader through MBR or GPT
    • Preboot eXecution Environment (PXE)

Bootloader:

  • Grub, Lilo, Syslinux, uBoot, iPXE
  • Loads and execute kernel

Kernel Init:

  • reinitialize hardware with OS drivers
  • load kernel modules
  • initrd (old) / initramfs (newer)
  • mount root

Init:

  • First process the kernel runs
  • Kernel Process PID 1
  • Responsible for starting all other applications
  • Traditionally been sysvinit, now upstart/systemd/openrc

-

UEFI

  • (Unified) Extensible Firmware Interface
  • Most implementations based on the Open Source reference implementation, Tianocore
  • GPT
    • Supports GPT and larger than 2TB boot drives
    • EFI System Partition Table
    • Default application at EFI\Boot\bootx64.efi
  • Secure Boot
  • Not DRM