(Ab)using Linux as a Trusted Bootloader
summary
Petitboot boots the next kernel via kexec while reusing Linux drivers; a set of kernel changes adds an kexec_file_load hook so the kernel and initramfs get measured, and IMA gains IMA policy PCR flexibility (upstream in 4.8) so measurements can target arbitrary PCRs. The IMA log is serialized across kexec and reattached via device-tree nodes on POWER. Work runs cross‑platform (x86 VM and POWER hardware), mostly works, with unresolved device‑tree passing and command‑line/buffer measurement gaps.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:30Overview
- 0:56TPM
- 1:26Measuring
- 2:38What we need
- 5:38KExec
- 6:36Adding Measurements
- 8:15Fixing Measurements
- 9:19IMA
- 10:11Limitations
- 11:22Measures
- 13:10Serializing
- 14:20Device Tree
- 15:38Final remarks
related talks
35mUsing Linux as a Secure Boot Loader for OpenPOWER Servers
21mReconcilable Differences: Booting Linux on IBM PowerVM LPARs
19mSubsystem Update: Linux Integrity Status Update
37mTrenchBoot - How to Nicely Boot System with Intel TXT and AMD SVM
39mRunning Linux on Tiny Peripherals
20mReLaunch Revisited: A Refresher on TrenchBoot Late Launch
28mIMA Update: Lessons Learned from Re-implementing IMA-measurement in User Space
48mBooting a Linux Kernel in a Higher Privilege Level
