Re: 13-CURRENT won't boot after switch to sysutils/openzfs

From: Ryan Moeller <freqlabs_at_FreeBSD.org>
Date: Sat, 22 Aug 2020 19:46:07 -0400
On 8/22/20 7:39 PM, marco wrote:
> On Sat, Aug 22, 2020 at 10:10:14PM +0000, you (marco) sent the following to [freebsd-current] :
>> On Sat, Aug 22, 2020 at 04:48:48PM +0000, you (marco) sent the following to [freebsd-current] :
>>> On Sat, Aug 22, 2020 at 12:31:24PM -0400, you (Ryan Moeller) sent the following to [freebsd-current] : > > > > > So besides not being able to boot from the openzfs 2020080800 package install, I can't figure out why I can't upgrade the openzfs pkg to 2020081800 (which is the latest one in ports so I presume a package also exists of that same version)
>>>
>>> If that won't work either I'll see if I can build sysutils/openzfs from ports but I'd rather not mix packages and ports.
>> building and installing the GENERIC kernel did not do anything.
>> I can confirm BE r364030-OpenZFS booted with GENERIC but I got dropped
>> into the mountroot prompt again.
>> Before I got there I saw:
>>
>> Trying to mount root from zfs:zroot/ROOT/r364030-OpenZFS failed with
>> error 2: unknown file system.
>>
>> Guess I'll try to install sysutils/openzfs from ports next.
> Not happy with having to install the port but that worked.


Kernel modules are very dependent on the built module being in sync with 
the kernel you're running. Ports that provide kernel modules are prone 
to this sort of breakage on -CURRENT because the kernel changes so 
frequently break compatibility.


> I removed openzfs and openzfs-kmod via pkg remove.
> Then  did a 'make install clean' from sysutils/openzfs (2020081800) with r364030 BE
> active.
> Once I confirmed the port installed a newer /boot/modules/openzfs.ko I
> destroyed r364030-OpenZFS and created it again so it would be in sync
> with r364030 and it would have the latest openzfs.ko.
>
> When I imported my backup pool (single drive, 1 vdev)
> /etc/zfs/zpool.cache was automatically created.
>
> So now I have 2 zpool cache files
>
>   [~] ls -l /boot/zfs/zpool.cache /etc/zfs/zpool.cache
>   -rw-r--r--  1 root  wheel  1456 Aug 22 22:04 /boot/zfs/zpool.cache
>   -rw-r--r--  1 root  wheel  3088 Aug 22 22:54 /etc/zfs/zpool.cache
>
>   [~] zpool get cachefile zroot backup
> NAME    PROPERTY   VALUE      SOURCE
> backup  cachefile  -          default
> zroot   cachefile  -          default
>
> So the port does work even with running the GENERIC-NODEBUG kernel.
>
> Is it even possible to build a port only into a new BE and not the
> current one given how /usr is not mounted?


The port will build in a jail for sure, maybe also a chroot. So `bectl 
jail` should do the trick.


> Now I had to polute the active BE which could get me into trouble.
> I was hoping using BEs I could experiment by installing a port straight into the mounted BE.
> If that is possible I wouldn't mind getting some pointers on how to make that work.
>
Received on Sat Aug 22 2020 - 21:46:08 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:24 UTC