ZFS Disadvantages of using naked ZFS in CSM/BIOS mode with zfsboot bootcode

I'd like you to critique the method I use every time I install a system. Frankly, this method was one of the first impressive features of FreeBSD (and ZFS) when I moved to this system. At the same time, from the very beginning of using FreeBSD, I have been thinking about the disadvantages of this installation method I have chosen. As the manual says, zfsboot bootcode is only suitable for ZFS on BIOS-based computers:

zfsboot(8)()

I'm going to install the system on a dual M.2 NVME mirror.

Brief installation sequence:

1 - Create a pool and add both nvme there:
Code:
zpool create -m none mypool /dev/diskid/......
zfs create -o mountpoint=/mnt mypool/sys
2 - Unpack the archives with the system into the system dataset mypool/sys:
Code:
tar xfC /usr/freebsd-dist/base.txz /mnt
tar xfC /usr/freebsd-dist/kernel.txz /mnt
3 - mark the dataset as bootable:
Code:
zpool set bootfs=mypool/sys mypool
4 - install zfsboot bootloader according to man zfsboot(8):
Code:
dd if=/boot/zfsboot of=/dev/ada0 count=1
dd if=/boot/zfsboot of=/dev/ada0 iseek=1 oseek=1024

The advantages of this method:
  • Probably the most important advantage is the complete absence of partitions for which a snapshot/rollback could not be made. There are no file systems other than ZFS.
  • Simplicity (unpack archives, install the bootloader). The process is clear, and you can do without an installer.
  • The entire disk without any partitions is given under the control of ZFS in the spirit of the old Solaris manuals, where it was recommended to do so. You can even do without /etc/fstab.
  • In case of refusal, it will be extremely convenient to change and add a new nvme device, since it will not even need to create a partition table.

The disadvantages of this method:
  • performance?
  • boot disk size?
  • BIOS-based computers are long gone. The next system may not have CSM support to use Legacy Bios, and what will I do in this case?
  • [...]
Here I would like to talk about the problems that this method entails on the server/workstation. In other words, why don't you use above method every time you install a system?
 
Booting from an NVMe PCIe SSD is only supported on systems that support UEFI. UEFI is a system firmware that
endeavors to improve upon legacy BIOS and standardize system processes, such as booting, loading drivers, and
more.
 
  • Thanks
Reactions: dnb
Back
Top