Supported boot parameters
rollback=<on|yes|1> Do a rollback of specified snapshot.
zfs_debug=<on|yes|1> Debug the initrd script
zfs_force=<on|yes|1> Force importing the pool. Should not be necessary.
zfs=<off|no|0> Don't try to import ANY pool, mount ANY filesystem or even load the module.
rpool=<pool> Use this pool for root pool.
bootfs=<pool>/<dataset> Use this dataset for root filesystem.
root=<pool>/<dataset> Use this dataset for root filesystem.
root=ZFS=<pool>/<dataset> Use this dataset for root filesystem.
root=zfs:<pool>/<dataset> Use this dataset for root filesystem.
root=zfs:AUTO Try to detect both pool and rootfs
In all these cases, <dataset> could also be <dataset>@<snapshot>.
Booting from snapshot:
Enter the snapshot for the root= parameter like in this example:
linux /ROOT/funtoo-1@/boot/vmlinuz root=ZFS=rpool/ROOT/funtoo-1@some_snapshot ro boot=zfs $bootfs quiet
This will clone the snapshot rpool/ROOT/funtoo-1@some_snapshot into the filesystem rpool/ROOT/funtoo-1_some_snapshot and use that as root filesystem. The original filesystem and snapshot is left alone in this case.