zfsbootmenu/contrib
Zach Dykstra b7124bbd6a contrib: add megaraid_sas unbind script 2024-05-01 09:26:13 -05:00
..
README.md contrib: add megaraid_sas unbind script 2024-05-01 09:26:13 -05:00
esp-sync.sh Add minimal documentation to ESP sync hook 2022-03-11 08:53:50 -06:00
keycache.sh zfsbootmenu: rename UI library, normalize imports 2023-09-20 13:05:02 -05:00
luks-unlock.sh Make the emergency shell slightly fancy 2022-03-04 22:06:21 -06:00
megaraid-teardown.sh contrib: add megaraid_sas unbind script 2024-05-01 09:26:13 -05:00
remote-ssh-build.sh contrib/remote-ssh-build.sh: Add pool key to system mkinitcpio config 2023-07-26 09:36:54 -04:00
snapshot-teardown.sh Add a contrib script to snapshot the BE prior to boot 2022-06-28 10:46:00 -05:00
syslinux-update.sh generate-zbm: deprecate syslinux support 2022-11-02 12:41:46 -04:00
zbm-sign.pl contrib/zbm-sign.pl: respect EFI.ImageDir 2023-11-13 18:24:34 -06:00

README.md

User-Contributed Scripts for ZFSBootMenu

The contrib directory contains an assorted collection of helper scripts that augment core functionality. These scripts are reviewed and approved by members of the core team, but not all are thoroughly tested. Some have not been tested at all. User-contributed scripts are intended as starting points for customized setup hooks that can be deployed within the ZFSBootMenu environment or for generate-zbm hooks that alter the process of creating ZFSBootMenu images.

Script Directory

Brief descriptions of contributed scripts appear below for convenience. Please review the scripts themselves for more thorough descriptions of their use.

  • esp-sync.sh - This script can run as a "post-image" hook to generate-zbm to synchronize the contents of one EFI system partition with others, providing tolerance against disk failures.

  • keycache.sh - This early-setup hook provided a simple means for run-time caching of ZFS encryption keys. Although the script has been retained for historical reference, use of the org.zfsbootmenu:keysource property is now the preferred method to control caching of filesystem credentials.

  • luks-unlock.sh - This is a proof of concept for storing ZFS native-encryption keys on a LUKS-encrypted volume. When installed as an early-setup hook, this facilitates, e.g., multiple-slot keys for ZFS pools that use native encryption.

  • megaraid-teardown.sh - Unbind drivers for megaraid_sas devices, so that they're available after a kexec. This is patterned after the XHCI teardown script.

  • remote-ssh-build.sh - This is a standalone script intended to wrap the zbm-builder.sh image-builder script, incorporating a dropbear SSH server, host keys and an authorized_keys file that permit remote access and pool unlocking within a ZFSBootMenu image.

  • snapshot-teardown.sh - This "teardown" hook will capture a pre-boot snapshot of the boot environment that has been selected for booting.

  • syslinux-update.sh - This script can run as a post-image hook for generate-zbm to construct a configuration file for syslinux. This provides an extension to basic functionality that was originally built into generate-zbm itself.

  • zbm-sign.pl - A Perl script, suitable for use as a generate-zbm post-run hook, that will sign ZFSBootMenu EFI images for use with Secure Boot.