Bug#618382: zfsutils: Inability to have /usr on a seperate zfs filesystem when using a zroot.
Tiernan Messmer a écrit :
> Package: zfsutils
> Version: 8.1-4
> Severity: normal
> Usertags: kfreebsd
> If running Debian/kFreeBSD's root filesystem on zfs, if one attempts to put /usr in a sub filesystem the system will no longer boot.
> Example filesystem layout
> NAME MOUNTPOINT
> zroot /zroot
> zroot/debian /
> zroot/debian/usr /usr
> zroot/home /home
> By default, the installer will place the entire filesytem in the zroot, without creating any additional sub filesystems. ZFSs flexibility encourages the use of
> many filessytems to facilitate the fine grained control of ZFSs more advanced features such as snapshots, compression, deduplication, encryption, etc.
> The reason why the system fails to boot is during init, to mount the additional filesystems, /sbin/zfs is called, which depends on /lib/libgeom.so.0, which in
> turn depends on /usr/lib/libexpat.so.1. If /usr/lib does not reside on the same filesystem as the kernel mounted for root, /sbin/zfs fails to run, and thus can
> not mount the additional filesystems.
It looks like the solution here is to move /usr/lib/libexpat.so.1. to /lib
> On FreeBSD libgeom depends on /lib/libbsdxml instead of libexpat, thus upstream is unaffected by this issue.
libbsdxml is basically the same library than libexpat, which seems to
confirm the solution given above is the right one.
Aurelien Jarno GPG: 1024D/F1BCDB73