No ZFS when loading modules from loeader prompt

Andriy Gapon avg at
Fri Feb 22 07:54:23 UTC 2013

on 22/02/2013 02:38 Peter Jeremy said the following:
> On Wed, Feb 20, 2013 at 7:05 AM, O. Hartmann <ohartman at> wrote:
>> At the loader prompt, I need to unload the buggy kernel and load the old
>> working one via
>> load /boot/kernel.old/kernel
>> Then I load also the ZFS related modules
>> load /boot/kernel.old/opensolaris.ko
>> load /boot/kernel.old/zfs.ko
>> Issuing boot at the end of that stage boots the kernel - the old one
>> -successfully - but there is no working ZFS and no ZFS volume gets
>> mounted although the rc.conf is executed correctly.
>> What am I doing wrong at that point? Why isn't ZFS run and mount properly?
> Last time I ran into this problem, the issue was that "unload" also
> unloaded the zpool.cache file and the ZFS code relied on that to find
> the kernel.  I don't recall what the workaround was.

zpool.cache should not be required any longer for the root pool.
It is still required to auto-import other pools after boot.

> On 2013-Feb-20 08:17:46 -0800, Freddie Cash <fjwcash at> wrote:
>> Sounds like a perfect use case for Boot Environments.  Create a new BE,
>> install the new kernel into it, set it as the default, reboot.  If it
>> fails, you manually set the previous BE as the default, and reboot.  That
>> way, your "known-good", working environment is never affected.
> How do you change your BE in the loader?  Or how do you change your
> BE when you can't boot?

Short answer: you set currdev in loader prompt.
A high-level overview of FreeBSD ZFS boot process is here:
Section "ZFS Boot Process"

Andriy Gapon

More information about the freebsd-current mailing list