OpenBSD Journal

OpenBSD Journal

Opening a Garage Door Using OpenBSD on a Raspberry Pi

Contributed by Sven G on from the who let the dogs out dept.

Sven G is back with another tale of using a Raspberry Pi in his garage:

OpenBSD lets one control the GPIO pins on a Raspberry Pi. Controlling a garage door is simple: connect the GPIO output pin to one side of a relay's coil, connect the 5 volt output of the Pi to the other side of the relay's coil, and connect wires from your garage's wall console to the relay's common and "normally closed" ports. Running the program below opens or closes the door. Since the Pi will be connected to the garage wall console, you'll want to enable sshd. I've named my Pi "garage" and my program "og," so I can open the door remotely with

ssh garage /home/sven/bin/og

Read more…

The state of toolchains in OpenBSD

Contributed by rueda on from the chained-to-the-tools dept.

Frederic Cambus (fcambus@) has blogged about the recent history and current state of toolchains on OpenBSD.

It provides a good explanation of how and why things got to where they stand.

OpenBSD 6.9 released

Contributed by Peter N. M. Hansteen on from the spiky for the 50th dept.

The OpenBSD project has released OpenBSD 6.9, the project's 50th release. As usual the release page offers highlights, installation and upgrade instructions as well as links to other resources such as the detailed changelog.

Notable improvements include, but are not limited to

Those upgrading from 6.8 or earlier releases should consult the Upgrade Guide.

Thanks to the developers for all the good work that went into this excellent new release!

While your install sets download or when your packages update, please take the time to look at and use one or more of the recommended ways to support the project, such as making a donation. You can also get merchandise and help OpenBSD visibility. Corporate entities may prefer sending some money in the direction of the OpenBSD Foundation, which is a Canadian non-profit corporation.

Initial Support for the riscv64 Architecture

Contributed by rueda on from the now-where's-my-hardware? dept.

With the following commit, Dale Rahn (drahn@) imported initial support for the 64-bit RISC-V architecture:

Module name:	src
Changes by:	2021/04/22 20:42:17

Added files:
	sys/arch/riscv64: Makefile 
	sys/arch/riscv64/compile: Makefile 
	sys/arch/riscv64/compile/GENERIC: Makefile 
	sys/arch/riscv64/compile/RAMDISK: Makefile 
	sys/arch/riscv64/conf: GENERIC Makefile.riscv64 RAMDISK 
	                       files.riscv64 kern.ldscript 
	sys/arch/riscv64/dev: mainbus.c mainbus.h plic.c plic.h 
	                      riscv_cpu_intc.c riscv_cpu_intc.h 
	                      simplebus.c simplebusvar.h timer.c timer.h 
	sys/arch/riscv64/include: _float.h _types.h asm.h atomic.h 
	                          bootconfig.h bus.h cdefs.h conf.h 
	                          cpu.h cpufunc.h db_machdep.h 
	                          disklabel.h elf.h endian.h exec.h 
	                          fdt.h fenv.h frame.h ieee.h ieeefp.h 
	                          intr.h kcore.h limits.h 
	                          loadfile_machdep.h mutex.h param.h 
	                          pcb.h pmap.h proc.h profile.h pte.h 
	                          ptrace.h reg.h reloc.h riscv64var.h 
	                          riscvreg.h sbi.h setjmp.h signal.h 
	                          softintr.h spinlock.h syscall.h tcb.h 
	                          timetc.h trap.h vmparam.h 
	sys/arch/riscv64/riscv64: ast.c autoconf.c bus_dma.c bus_space.c 
	                          conf.c copy.S copyinout.S copystr.S 
	                          cpu.c cpufunc_asm.S cpuswitch.S 
	                          db_disasm.c db_interface.c db_trace.c 
	                          disksubr.c fpu.c intr.c 
	                          locore.S locore0.S machdep.c mem.c 
	                          pagezero.S pmap.c process_machdep.c 
	                          sbi.c sig_machdep.c softintr.c 
	                          support.S syscall.c trap.S 
	                          trap_machdep.c vm_machdep.c 

Log message:
Initial import of OpenBSD/riscv64

This work is based on the effort:
"Porting OpenBSD to RISC-V ISA"
Brian Bamsch <>
Wenyan He <>
Mars Li <>
Shivam Waghela <>

With additional work by Dale Rahn <>

Congratulations and thanks to all involved!

My Dog's Garage Runs OpenBSD

Contributed by Sven G on from the it's supposed to be fish, not dogs dept.

We received a contribution from Sven G, about checking the temperature in the garage where his dog sleeps with OpenBSD:

listener at 85 degrees on alert since relay on talker is offI was inspired by the April 2017 article in about getting OpenBSD running on a Raspberry Pi 3B+. My goal was to use a Raspberry Pi running OpenBSD to monitor the temperature in my garage from my home. My dog has his own little "apartment" inside the garage, so I want to keep an eye on the temperature. (I don't rely on this device. He sleeps inside the house whenever he wants.)

If anything seems wrongheaded, please chalk it up to a frothy mixture of enthusiasm, ignorance, stubbornness, and "just-because-I-wanted-to-do-it-this-way-ness."

Read more…

A working D compiler on OpenBSD

Contributed by rueda on from the Ds-are-good dept.

Dr. Brian Robert Callahan (bcallah@) blogged about his work in getting D compiler(s) working under OpenBSD.

The first paragraph reads:

I got GDC, the GNU D Compiler, working on OpenBSD. Supporting D has been a very long time coming. Here's the story of how we got here and where we need to go next.

Read the full post for all the details, including an explanation of why there isn't yet a port.

What security does a default OpenBSD installation offer? (by solene@)

Contributed by Peter N. M. Hansteen on from the no fault default dept.

In a recent blog post, OpenBSD developer Solène Rapenne (solene@) offers an over view of the security features offered by a default OpenBSD installation.

The first paragraph of the introduction reads,

In this text I will explain what makes OpenBSD secure by default when you install it. Do not take this for a security analysis, but more like a guide to help you understand what is done by OpenBSD to have a secure environment. The purpose of this text is not to compare OpenBSD to other OSes but to say what you can honestly expect from OpenBSD.

A worthy reminder of how the system works, and a very handy piece to show to anybody who wonders why one would choose to use OpenBSD over anything else. You can read the whole thing here.

dhcpleased(8) - DHCP client daemon

Contributed by rueda on from the we-are-pleased-too dept.

With the following commit, Florian Obser (florian@) imported dhcpleased(8), DHCP daemon to acquire IPv4 address leases from servers, plus dhcpleasectl(8), a utility to control the daemon:

Module name:	src
Changes by:	2021/02/26 09:16:37

Added files:
	sbin/dhcpleased: Makefile bpf.c bpf.h checksum.c checksum.h 
	                 control.c control.h dhcpleased.8 dhcpleased.c 
	                 dhcpleased.h engine.c engine.h frontend.c 
	                 frontend.h log.c log.h 
	usr.sbin/dhcpleasectl: Makefile dhcpleasectl.8 dhcpleasectl.c 
	                       parser.c parser.h 

Log message:
Import dhcpleased(8) - a dhcp daemon to acquire IPv4 address leases
from servers.

Read more…


Donate to OpenBSD


We are constantly on the lookout for stories of how you put OpenBSD to work. Please submit any informative articles on how OpenBSD is helping your company.

OpenBSD Errata

OpenBSD 6.9

0082021-06-09 SECURITY vmd guests could cause stack overflows by crafting malicious dhcp requests when using local interfaces.
0072021-06-08 RELIABILITY Disable PPGTT on Intel machines with cherryview/braswell graphics to avoid memory corruption.
0062021-06-08 RELIABILITY Recent Intel or any AMD machines could crash as the kernel did not flush all TLBs that multi threaded processes require.
0052021-05-24 RELIABILITY Recent Intel machines could crash or hang as global mappings were not flushed from TLB.
0042021-05-21 SECURITY Insufficient validation of A-MSDUs and fragmented 802.11 frames could be abused to inject arbitrary frames.
0032021-05-18 SECURITY vmd guest virtio drivers could cause stack overflows by crafting invalid virtio descriptor lengths.

Unofficial RSS feed of OpenBSD errata


Users wishing RSS/RDF summary files of OpenBSD Journal can retrieve: RSS feed

Options are available.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]