I have 3 disks: ad10, ad12 (x500G) and ad14 (250G).
On ad14 I have a "standard" FreeBSD-7.2-RELEASE ("7.2" from now on) with MBR, slices and partitions.
A month or so ago, booting from the 8.0-RC1-i386 USB image I installed a ZFS-only FreeBSD-8.0-RC1 system ("8.0" from now on) on ad[10,12] with the following GPT:
No dedicated swap partitions because I use the swap space of the 7.2 system (ad14s1b).
The 8.0 system runs on a zpool created with:
The 8.0 worked fine until yesterday when I decided to upgrade it from RC1 up to RC2 by means of:
All seemed fine until I rebooted. Now the 8.0 system can't see its root (boot) device and load the kernel.
Since I'm reluctant to force-import the zfs pool into the 7.2 system, because 8.0 uses a higher ZFS version, I downloaded the 8.0-RC2-i386 USB image and booting from a stick I verified that the zroot pool can be imported and has no errors. The zfs is working with no problems. It just won't boot any more.
Now, if I understand the boot process correctly, the BIOS loads the 512 byte pmbr program from the first block of the HDD.
The pmbr program only knows to read the GPT in order to find from where to load and execute the gptzfsboot program.
Then it is the gptzfsboot which shows the "boot prompt" with the options "lsdev, set, ls, load, unload, lsmod, etc." Right? If that's so, then gptzfsboot fails to recognize the p2 partitions and load /boot/kernel/kernel.
So, how should I force it to import the zroot pool and boot from it?
On ad14 I have a "standard" FreeBSD-7.2-RELEASE ("7.2" from now on) with MBR, slices and partitions.
A month or so ago, booting from the 8.0-RC1-i386 USB image I installed a ZFS-only FreeBSD-8.0-RC1 system ("8.0" from now on) on ad[10,12] with the following GPT:
Code:
=> 34 976773101 ad10 GPT (466G)
34 128 1 freebsd-boot (64K)
162 976772973 2 freebsd-zfs (466G)
=> 34 976773101 ad12 GPT (466G)
34 128 1 freebsd-boot (64K)
162 976772973 2 freebsd-zfs (466G)
No dedicated swap partitions because I use the swap space of the 7.2 system (ad14s1b).
The 8.0 system runs on a zpool created with:
Code:
zpool create zroot mirror ad10p2 ad12p2
(bootfrom=zroot)
The 8.0 worked fine until yesterday when I decided to upgrade it from RC1 up to RC2 by means of:
Code:
freebsd-update upgrade -r 8.0-RC2
All seemed fine until I rebooted. Now the 8.0 system can't see its root (boot) device and load the kernel.
Since I'm reluctant to force-import the zfs pool into the 7.2 system, because 8.0 uses a higher ZFS version, I downloaded the 8.0-RC2-i386 USB image and booting from a stick I verified that the zroot pool can be imported and has no errors. The zfs is working with no problems. It just won't boot any more.
Now, if I understand the boot process correctly, the BIOS loads the 512 byte pmbr program from the first block of the HDD.
The pmbr program only knows to read the GPT in order to find from where to load and execute the gptzfsboot program.
Then it is the gptzfsboot which shows the "boot prompt" with the options "lsdev, set, ls, load, unload, lsmod, etc." Right? If that's so, then gptzfsboot fails to recognize the p2 partitions and load /boot/kernel/kernel.
So, how should I force it to import the zroot pool and boot from it?