Moving raw system image to another drive breaks GELI

David Christensen dpchrist at
Sun Mar 3 07:10:37 UTC 2019

On 2/26/19 10:00 AM, David Christensen wrote:
> I have a computer:
> 2019-02-26 09:50:14 dpchrist at ragnar ~
> $ freebsd-version ; uname -a
> 11.2-RELEASE-p9
> FreeBSD ragnar 11.2-RELEASE-p9 FreeBSD 11.2-RELEASE-p9 #0: Tue Feb  5 
> 15:30:36 UTC 2019 
> root at  amd64
> I installed to a SanDisk Ultra Fit USB 3.0 16 GB flash drive:
>        Partitioning                      Auto (ZFS)
>          Pool Type/Disks                 stripe,da0
>          Pool Name                       zroot
>          Force 4K Sectors                YES
>          Encrypt Disks                   YES
>          Partition Scheme                MBR (BIOS)
>          Swap Size                       2g
>          Mirror Swap                     NO
>          Encrypt Swap                    YES
>          Install
> If I do a raw binary copy of the USB flash drive to a Intel 520 Series 
> SSD 60 GB with dd(1) and boot the SSD, GELI rejects the passphrase and I 
> end up at a "mountroot>" prompt.
> I would like to be able to move raw FreeBSD system images from drive to 
> drive and have them work.

I did another install onto SSD.  While comparing the configuration files 
between the USB install and the SSD install, I found some interesting 
differences in /boot/loader.conf.  Here are some lines from the USB install:


And here are the corresponding lines from the SSD install:


So, the device name for the GELI provider containing the root filesystem 
is hard-coded into the names of variables set in loader.conf(5).

If I burn the SSD install image to USB, boot a USB FreeBSD installer 
into a shell, remount root read-write:

     # mount -o rw /dev/ufs/FreeBSD_Install /

Import the bootpool on the USB image:

     # zpool import -f -d /dev -R /mnt bootpool

Edit the variables in /mnt/bootpool/boot/loader.conf, move aside 
/mnt/bootpool/boot/zfs/zpool.cache, shutdown, remove the USB installer, 
and boot the USB image, it works!




[2] loader(8)

[3] loader.conf(5)

[4] mount(8)

[5] zpool(8)

More information about the freebsd-questions mailing list