“A reckless guide to OpenBSD”
Jay presents a multi-part guide to little explored aspects of OpenBSD
On these pages, Exotic Silicon presents a ten part series of articles for intermediate to advanced level users of OpenBSD, focusing on aspects of using and customising the system that are not broadly covered or encouraged by the project's own official documentation, (hence the term ‘reckless guide’).
Although we're covering some advanced topics, and even making our own modifications to the kernel code itself, the series as a whole is designed to be accessible for users with an intermediate level of experience with OpenBSD.
For the parts involving C programming, we only assume a basic working knowledge of C. You absolutely don't need a degree in OS design or systems programming to join in!
In the first installment of this new series, Jay shows us how to set up the Distributed Ports Builder, or dpb. After covering the basics, and a few common pitfalls to avoid, we then see how to download a set of distfiles for use on off-line machines, as well as how to carry your distfiles directory neatly from one release to the next, avoiding excessive and unwanted downloads.
This part published: 2022-02-14
This week, Jay runs us through what we might achieve by compiling a custom kernel, then shows us how to edit the kernel configuration files, once again avoiding common pitfalls and understanding the options that we're changing. Finally we cover how to re-compile and install the new kernel.
This part published: 2022-02-19
Hot on the heels of last week's custom kernel configuration, in this third installment we learn how some of the kernel code works, and then Jay shows us how to modify it to change fonts, add a colored gradient background to the console, change the shape of the cursor, and more!
This part published: 2022-02-24
More kernel hacking this week, as Jay looks at keyboard layouts and the wscons code. Today, we'll be changing our key mappings around and finding new uses for the numeric keypad!
This part published: 2022-02-28
In the fifth installment of the series, we learn a bit about the softraid code, tweak performance of our RAID-1 mirror set, and set up passwordless disk encryption.
This part published: 2022-03-07
This week sees a slight change of gear, as we move our focus away from strictly reviewing kernel code and look at the more abstract concepts of disk partitioning. If you thought a disk label was just a sticky adhesive in a box of floppies, don't worry! We've got you covered!
This part published: 2022-03-07
Confused by SSL? Don't know your CSR from your X509? Tried to piece together the information you need from several different on-line guides, but found that they all send you off in a slightly different direction? Created a self-signed certificate that looks fine but fails miserably when installed on your cell phone? Don't worry! Jay feels your pain, and has the answers you've been searching for!
This part published: 2022-03-26
Remote access to a single server is one thing, but seemlessly running different graphical applications across a distributed set of machines is quite another. Crossing architecture and operating system boundaries is no problem for Jay, and he even shows us how to throw audio into the mix too.
This part published: 2022-03-26
We learn things by doing them, but in the process we sometimes make a mess. If re-installing OpenBSD from scratch seems like a nightmare, then this week's installment is just for you! After eight weeks of experiments, Jay shows us how a fresh start ensures a clean system and avoids upgrade woes, with sensible disk partitioning, quick backup and restore, and the ability to downgrade thrown in for good measure!
This part published: 2022-03-26
To conclude this ten-part series, Jay looks at some rarely used features of OpenBSD that are actually quite useful.
This part published: 2022-03-26
Written exclusively by our experienced BSD hacker and researcher Jay Eptinxa, this material was originally published in early 2022.
The examples and discussion are all based on OpenBSD 7.0-release, the latest release at the time of writing.
Please send feedback to us via the contact page.