[Updated 2021-03-15 to account for KARL with /etc/shtdown]

I recently installed OpenBSD 6.8 on an old Macbook. After boot, this message kept polluting the console and syslog:

acpisbs0: acpi_smbus_read: error reading status: 0x16

acpisbs is the driver for the smart battery subsystem. My old Macbook doesn’t even have a battery any more, so that may be part of the problem.

This page explains how to disable that driver. I think that page must have been written before OpenBSD implemented KARL (Kernel Address Randomized Link). Now a new kernel is linked and installed after each boot. So any changes to /bsd won’t stick. The next boot will be ok, but the one after that will revert your changes.

So here’s what I’ve done to patch /bsd on shutdown. Put the following in /etc/rc.shutdown:

# disable acpisbs in next-boot kernel

echo '
disable acpisbs*
' | config -e -o /bsd.new /bsd

if test $? = 0
	mv /bsd.new /bsd
	sha256 -h /var/db/kernel.SHA256 /bsd

This writes a new kernel /bsd.new with acpisbs disabled. If that is successful, the new kernel is installed and its checksum is recalculated so /usr/libexec/reorder_kernel will be happy on the next boot.