As you may know, I have been deeply involved in the
OpenBSD
project, especially between 2000 and 2015,
and as such, I have a good insider view of how the project runs, and have
witnessed, or participated to, many behind-the-scenes events, in addition to a
large contribution of code and documentation over these years.
Now that I'm old and what's left of my hair is fading fast, I think some
stories are worth telling.
I have started to write down some, and will extend this page as time permits
(writer's block notwithstanding), which currently amounts to a new story
every wednesday (around 8am CEST).
The stories appear in the order I published them, which is not necessarily the
order in which I wrote them, and does not try to be a chronological order.
I hope you'll like these stories! Do not hesitate to let me know what you think
of it.
- The story of Propolice (2002)
The story of Propolice, the gcc stack-smashing protection.
-
The scariest boot loader code (2002)
Modifying the boot loader code is sometimes not for the faint of the heart.
-
When a driver challenges the kernel's assumptions (2009)
A new device driver sets up new constraints against some parts of the kernel
code, which need to be addressed.
-
Copying memory is an art (2008)
Explaining the story of a one-line change in sparc assembly leads
to a BSD history lesson, looking at how a particular routine was implemented
over the years.
-
Taming dragons (2006)
An unsupported device looks very close to another device, for which code used to
be available long ago. How easy can it be to get it running?
-
Where should portability stop? (2008)
When improving a driver comes with a high cost, unless it becomes non-portable,
what should be done?
-
Kernel stack hygiene (2002-2004, 2006)
Kernel stack overflows are among the most difficult bugs to make sense of.
What can be done to reduce the risk of such overflows?
-
Audio on hp300 (2011)
The oldest BSD architectures do not have any audio capabilities. Or do they?
-
OpenBSD on SGI: a rollercoaster story (1988-2021)
This is a six-part story, spanning more than 30 years, also covering
(with fewer details) Linux and NetBSD on these machines.
- A missed opportunity, 1988-1998
- Individual efforts, 2000-2004
- The blowfish awakens, 2004-2006
- Tinkering on big iron, 2007-2008
- Hardware galore, 2009
- The last challenges, 2010-2021
Or you can read it all in one (big) page.
-
Device configuration (2005, 2007)
A discussion of how the kernel discovers devices and initializes their
drivers, with some old code explanation, and a subtle bug causing some
devices not to be seen by the kernel.
-
OpenBSD on Motorola 88000 processors (1995-today)
This is another long story, which will be serialized over the next five weeks,
with new content released every week.
- The Forsaken RISC Architecture
- A New Hope
- First Compiler on the Moon
- A Failed Promise
- Good Times Bad Times
- The Museum Strikes Back (to be published 20260408)
- A Trip to the 21st Century (to be published 20260408)
- Take Offs and Landings (to be published 20260408)
- New Pastures, New Pastries (to be published 20260415)