Update on Shared Logging between the Kernel and the Bootloader
summary
Shared logging implements a single log control block with magic/checks passed from bootloader to kernel so both can read and replay each other’s records across warm reboots; proof-of-concept uses U-Boot plus a kernel patch (mainline work based on 4.8) and relies on DT reserve-memory + command line to avoid brittle top-of-RAM tricks. Expect 10–100 coalesced entries during init, gotchas include physical vs virtual addresses, early mapping, structure packing, and toolchain/x86 test work; live demo fails.
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:42Outline
- 2:31What is shared logging?
- 5:22Why would we want shared logging?
- 12:16Kernel logging structures (then)
- 14:19Kernel logging structures (post 2012)
- 17:20A few observations
- 17:59Revised goals (since last time)
- 22:09Interface design
- 23:39Kernel logging structures proposed
- 28:41How to pass the CB to the kernel? (3)
- 33:28Bootloader POC implementation
- 35:57Bootloader upstream status
- 36:33Kernel implementation
- 40:47Kernel upstream status
- 46:40Some gotchas (2)
- 51:27Planned and possible future work
related talks
41mBoot-Time BOF
48mUnified Boot Time Measurement: A Precise, Scalable Framework for Multi-Processor Systems
46mStatus of Embedded Linux
40mRecent Advances in U-Boot
21m(Ab)using Linux as a Trusted Bootloader
52mLinux Kernel Debugging: Going Beyond Printk Messages
41mStatus of Embedded Linux
39m“Early Boot and Late Attach” of Remote Processor...
