OpenWest 2014/Booting Linux
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