Speaking largely about 10.1-RELEASE:
boot(8) & https://www.freebsd.org/cgi/man.cgi?query=boot%288%29 missing reference material for zfsloader and zfs device information, such as for currdev.
zfsloader(8) missing; s.b. link to loader(8)
documentation for boot.config appears to be wrong, at least for zfs bootblocks. For example, '# echo "-D -S 115200 " > /boot.config' from manpage or https://www.freebsd.org/doc/handbook/serialconsole-setup.html results in a host that stops after loading the bootblocks, as in:
>> FreeBSD/i386 BOOT
then you face the zfs-related documentation issues.
/boot/zfsloader -D -S 115200 does not work either.
rpool:/boot/zfsloader -D -S 115200 also not.
zfs:rpool:/boot/zfsloader -D -S 115200 also not.
Also, loader(8) says:
During initialization, loader will probe for a console and set the
console variable, or set it to serial console (“comconsole”) if the pre‐
vious boot stage used that. If multiple consoles are selected, they will
be listed separated by spaces.
But, https://www.freebsd.org/doc/handbook/serialconsole-setup.html indicates that the arguments are separated by a comma.
Regarding space vs comma: the loader accepts either separator so both cases work. I always use a space myself and the i386 loader uses spaces when it sets the initial console value in sys/boot/i386/loader/main.c if multiple consoles are enabled.
A commit references this bug:
Date: Sat Jul 11 19:18:44 UTC 2020
New revision: 363107
boot(8): Add additional cross references
Provide hints to direct people towards gptzfsboot, zfsbootcfg, efibootmgr, etc
MFC after: 2 weeks
Sponsored by: Klara Inc.
Event: July 2020 Bugathon
currdev is documented in loader(8), it is not part of the bootstrap.
Although the documentation for it is lacking.
I have started a review to improve it: https://reviews.freebsd.org/D25629