Installing on macpro1,1: installs but does not boot

Just successfully installed FreeBSD 12.2 on a MacPro2,1: Quad-Core Intel Xeon, 3 GHz, 2 Processors, 8 Cores

Steps to install zfs-on-root on a single, boot SSD:
  • Boot from converted 12.2 DVD using isomacprog.c from here: https://mattgadient.com/2016/07/11/linux-dvd-images-and-how-to-for-32-bit-efi-macs-late-2006-models/
  • Partitioning: Auto ZFS, zfs on root install
    • Single disk stripe: ada0
    • Partition scheme: mbr bios
  • Manual configuration
    • sysctl kern.geom.debugflags=16
    • gpart bootcode -b /boot/boot0 ada0
    • cp /boot/zfsboot /tmp/zfsboot
    • zpool export bootpool
    • dd if=/tmp/zfsboot of=/tmp/zfsboot_count-1 count=1
    • gpart bootcode -b /tmp/zfsboot_count-1 /dev/ada0s1
    • dd if=/tmp/zfsboot of=/dev/ada0s1a skip=1 seek=1024
    • zpool import bootpool
    • echo 'zpool_cache_load="YES"' >> /boot/loader.conf
    • echo 'zpool_cache_type="/boot/zfs/zpool.cache"' >> /boot/loader.conf
    • echo 'zpool_cache_name="/boot/zfs/zpool.cache"' >> /boot/loader.conf
    • exit
  • Reboot

Without the commands in the "manual configuration" section, bootpool didn't automatically load after reboot, which means pf won't load and freebsd-update won't work. For example:
Code:
# /usr/sbin/freebsd-update fetch
src component not installed, skipped
Cannot identify running kernel
# zpool import bootpool
cannot import 'bootpool': pool may be in use from other system
use '-f' to import anyway
# zpool list
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
zroot  89.5G   267M  89.2G        -         -     0%     0%  1.00x  ONLINE  -
# zpool import -f bootpool
# zpool list
NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
bootpool  1.88G   137M  1.74G        -         -     0%     7%  1.00x  ONLINE  -
zroot     89.5G   267M  89.2G        -         -     0%     0%  1.00x  ONLINE  -
 
Update for upgrading to 13.1 with a generic kernel on a MacPro2,1.

After installing via freebsd-update and restarting after this message:
Code:
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
It hung on boot with an fstab error:
mount: fdesc: Operation not supported by device

Going into single user mode and commenting out the fdesc line in /etc/fstab allowed booting to continue.

Then trying to finish the install resulted in this error:
freebsd-update upgrade -->> "Cannot identify running kernel" as here: https://forums.freebsd.org/threads/freebsd-update-upgrade-cannot-identify-running-kernel.86538/

IIRC apparently the issue was bootpool not having been loaded; this allowed the upgrade to finish:
zpool import bootpool

And reboot was also successful after re-enabling the fdesc line in /etc/fstab.
 
Back
Top