The bootloader in recent stable/11 always gave me trouble booting the kernel due to having loader_color="YES" in my /boot/loader.conf. Strangely enough, the same setting is harmless in recent stable/12.

While browsing the archive for the freebsd-stable list, I came across this posting by Patrick Lamaiziere. He had exactly the same problem and the solution. (I unsubscribed from a number of FreeBSD mailling lists this July after hanging around for the past 15 years, but that’s another matter.)

I have confirmed having loader_logo="beastie" in /boot/loader.conf is not a bad thing, but having loader_color="YES" wreaks havoc. It turns out this setting is unnecessary, the boot menu is still displayed in colour.

When having loader_color="YES" in /boot/loader.conf, the bootloader yells about init_state not found Error while including /boot/menu.rc, in the line: menu-display, and is left unable to find a kernel to boot. Once the kernel is loaded manually, you can’t boot it in singleuser mode, only in multiuser mode. The kernel doesn’t know its kernel module path, making it cumbersome to load kernel modules using kldload(8), unless you use absolute pathnames or correct the empty path variable.

At least the problematic bootloader variable has been identified and I’m a happy man, all thanks to Patrick!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>