ZFS on root, beadm, and the /boot symlink

From: Randy Westlund <rwestlun_at_gmail.com>
Date: Sun, 22 May 2016 14:41:13 -0400
My system was installed from 10.1 or 10.2 with root on ZFS and geli, but
now it tracks current.  It is not an EFI system.  I'm trying to get boot
environments to work, but the /boot symlink is throwing me off.

I have two pools from the installer's layout; a small bootpool and
zroot.  The bootpool mounts at /bootpool and /boot is a symlink to it.

> randy_at_mako /> zfs get mountpoint bootpool
> NAME      PROPERTY    VALUE       SOURCE
> bootpool  mountpoint  /bootpool   local
> 
> randy_at_mako /> ls -al /boot
> lrwxr-xr-x  1 root  wheel  13 Aug 12  2015 /boot -> bootpool/boot

When I try to activate a boot environment, I get this error:

> root_at_mako:/ # beadm activate r300358
> cp: /tmp/BE-r300358.FS6Xo6ot/boot/zfs/zpool.cache: No such file or directory

Because the new boot environment has a symlink to an empty directory:

> randy_at_mako /> ls -al /tmp/BE-r300358.FS6Xo6ot/boot
> lrwxr-xr-x  1 root  wheel  13 Aug 12  2015 /tmp/BE-r300358.FS6Xo6ot/boot -> bootpool/boot
> 
> randy_at_mako /> ls -al /tmp/BE-r300358.FS6Xo6ot/bootpool
> total 9
> drwxr-xr-x   2 root  wheel   2 Aug 18  2015 .
> drwxr-xr-x  21 root  wheel  29 May 21 16:23 ..

Mergemaster complains about the /boot symlink as well.

I'm not sure what the cachefile does or why it's there.  It has a recent
modification time, but neither pool seems to reference it.

> randy_at_mako /> zpool get cachefile zroot
> NAME   PROPERTY   VALUE      SOURCE
> zroot  cachefile  -          default

> randy_at_mako /> zpool get cachefile bootpool
> NAME      PROPERTY   VALUE      SOURCE
> bootpool  cachefile  -          default

> randy_at_mako /> ls -al /boot/zfs/zpool.cache
> -rw-r--r--  1 root  wheel  2512 May 21 16:23 /boot/zfs/zpool.cache

What's the proper way to handle the /boot symlink with beadm?

Randy

Received on Sun May 22 2016 - 16:41:16 UTC

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