I have a FreeBSD install on a large disk that I wish to replace by an SSD. The disk has 3 gpt partitions (boot/swap/zfs) and I wish to fully copy the disk. So, I put the same GPT layout on the SSD, installed the bootcode, and then sent over the filesystem.
So far so good. Now I try booting from the zpool tanknew, which I expect to fail as it will try to mount root from zfs:tank. Indeed it fails, and gives me the option to mountroot from a different filesystem. I attempt zfs:tanknew, but this results in the same error.
So I went looking for solutions. I've mounted the tanknew fs in a different filesystem and attempted to rename it to tank. Now, this still doesn't work either. Next I tried getting a fresh /boot/zfs/zpool.cache in place, but it doesn't appear to make a difference either, so I'm stuck.
Any ideas on what last piece of magic is required before I can boot again?
Code:
gpart create -s GPT ad10
# further gpart layout
..
zpool create tanknew ad10p3
zfs snapshot tank@now
zfs send -R tank@now | zfs receive -D -f tanknew
So far so good. Now I try booting from the zpool tanknew, which I expect to fail as it will try to mount root from zfs:tank. Indeed it fails, and gives me the option to mountroot from a different filesystem. I attempt zfs:tanknew, but this results in the same error.
So I went looking for solutions. I've mounted the tanknew fs in a different filesystem and attempted to rename it to tank. Now, this still doesn't work either. Next I tried getting a fresh /boot/zfs/zpool.cache in place, but it doesn't appear to make a difference either, so I'm stuck.
Any ideas on what last piece of magic is required before I can boot again?