How to fix a broken ACPI during installation

Please note: OpenBSD 4.5 has a much better ACPI management, so the information on this page may be obsolete. I have decided to keep it nonetheless, as it may be helpful for someone out there...

Sometimes (especially on i386 HP machines, which are popular where I work), OpenBSD? installs fine, but crashes as soon as you reboot the machine. Pretty quickly, you find yourself staring at a ddb> prompt, which is, I am afraid, not very inviting.

(By the way, the ddb> prompt is the kernel integrated debugger - that's how bad your kernel crashed)

If that is the case for you as well, follow the steps outlined below to make sure ACPI is not the cause of the crash...

1. Reboot the machine

To do this, enter the following at the ddb> prompt:

ddb> boot reboot

Try entering the following for more information on the kernel debugger:

ddb> help

2. Stop the normal boot of the kernel.

You have to do this at the kernel boot> prompt, and you only have a few seconds... So hurry! ;-)

boot> -c

Press Enter and you kernel should now be in "UKC" mode.

3. Configure kernel "on the fly".

The "UKC" mode is the "User Kernel Configuration mode, and it displays yet another prompt: UKC>. On this prompt, to disable ACPI, enter the following:

UKC> disable acpiprt*
426 acpiprt* disabled

The 426 acpiprt* disabled message indicates the kernel has now disabled its ACPI functions and will not attempt to configure ACPI during normal booting.

The same procedure, of course, can be applied to other malfunctioning interfaces or peripherals that crash the OpenBSD kernel.

Once the kernel configuration has been modified, type the following to continue booting:

UKC> quit

If the kernel has booted normally, see below to make this change permanent. If not, restart the configuration from the very beginning, and try disabling the next offending peripheral. Try the following for a list of all kernel options:

UKC> list

You can also try help or ? at the UKC> prompt for more information on the User Kernel Configuration.

4. Make the kernel configuration changes permanent.

Before you do anything, please make sure you read the excellent OpenBSD FAQ, and especially the section on kernel configuration. The command to be entered is the following one:

# config -u -f -e /bsd

Your kernel should now be configured and ready to go! You can reboot the machine one last time to make sure of that.

See Also:

The first entry here is the page that details everything I have described above. Required reading!