Re: No ZFS when loading modules from loeader prompt

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Fri, 22 Feb 2013 09:54:10 +0200
on 22/02/2013 02:38 Peter Jeremy said the following:
> On Wed, Feb 20, 2013 at 7:05 AM, O. Hartmann <ohartman_at_zedat.fu-berlin.de> 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_gmail.com> 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:
http://ru.kyivbsd.org.ua/arhiv/2012/kyivbsd12-gapon-zfs.pdf?attredirects=0&d=1
Section "ZFS Boot Process"

-- 
Andriy Gapon
Received on Fri Feb 22 2013 - 06:54:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:35 UTC