In the `bsdinstall/config` script there is the line: cp $BSDINSTALL_TMPBOOT/* $BSDINSTALL_CHROOT/boot which fails to copy the `/boot/zfs/zpool.cache` file. This is fine if you only have a single boot zpool, but leads to import failures after install if you have other pools. Note that relatedly the `bsdinstall/partedit/gpart_ops.c` file specifically creates the `zpool.cache` file here: if (getenv("BSDINSTALL_TMPBOOT") != NULL) { char zfsboot_path[MAXPATHLEN]; snprintf(zfsboot_path, sizeof(zfsboot_path), "%s/zfs", getenv("BSDINSTALL_TMPBOOT")); mkdir(zfsboot_path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); sprintf(command, "%s -o cachefile=%s/zpool.cache ", command, zfsboot_path); } I suggest that the `cp` should be `cp -R` or `cp -a` instead.