Skip to content

Commit

Permalink
Bump to version 1.11.0
Browse files Browse the repository at this point in the history
  • Loading branch information
ahesford committed Oct 31, 2021
1 parent 9f360ac commit 8a5d71e
Show file tree
Hide file tree
Showing 7 changed files with 146 additions and 41 deletions.
10 changes: 9 additions & 1 deletion 90zfsbootmenu/help-files/134/snapshot-management.pod
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,16 @@

The operation will fail gracefully if the pool can not be set read/write.

[MOD+N] snapshot creation
This creates a new snapshot of the currently selected boot environment. A new snapshot is useful if you need to repair a boot
environment from a chroot, to allow for easy roll-back of the changes.

The operation will fail gracefully if the pool can not be set read/write.

[MOD+D] diff
Compare the differences between the selected snapshot and the current state of the boot environment.
Compare the differences between snapshots and filesystems. A single snapshot can be selected and a diff will be generated between
that and the current state of the filesystem. Two snapshots can be selected (and deselected) with the tab key and a diff will be
generated between them.

The operation will fail gracefully if the pool can not be set read/write.

Expand Down
35 changes: 27 additions & 8 deletions 90zfsbootmenu/help-files/134/zfsbootmenu.7.pod
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ general systems to boot without setting any values.
Note: Setting spl.spl_hostid to a non-zero value on the kernel commandline will make the ZFS kernel modules ignore any value set
in /etc/hostid. To restore standard ZFS behavior on a running system, execute

echo 0 > /sys/module/spl/paramters/spl_hostid
echo 0 > /sys/module/spl/paramters/spl_hostid

zbm.sort_key
This option accepts a ZFS property name by which the boot environment and snapshot lists will be sorted.
Expand Down Expand Up @@ -108,9 +108,18 @@ The following properties can be set at any level of the boot-environment hierarc
If the identifier does not match any kernels, the latest kernel will be chosen as a fallback.

org.zfsbootmenu:commandline
A list of command-line arguments passed to the kernel selected by ZFSBootMenu for final boot.
A list of command-line arguments passed to the kernel selected by ZFSBootMenu for final boot. The special keyword %{parent} will
be recursively expanded to the value of org.zfsbootmenu:commandline at the parent of the boot environment. Thus, for example,

Do not set root=; ZFSBootMenu will set this option for for you.
zfs set org.zfsbootmenu:commandline="zfs.zfs_arc_max=8589934592" zroot
zfs set org.zfsbootmenu:commandline="%{parent} elevator=noop" zroot/ROOT
zfs set org.zfsbootmenu:commandline="loglevel=7 %{parent}" zroot/ROOT/be

will cause ZFSBootMenu to interpret the kernel command-line for zroot/ROOT/be as

loglevel=7 zfs.zfs_arc_max=8589934592 elevator=noop

Never set the root= argument; ZFSBootMenu always sets this option based on the selected boot environment.

org.zfsbootmenu:active
This controls whether boot environments appear in or are hidden from ZFSBootMenu.
Expand Down Expand Up @@ -142,17 +151,27 @@ The following properties can be set at any level of the boot-environment hierarc
boot environment. These passphrases entered are not cached by default.

When org.zfsbootmenu:keysource is a mountable ZFS filesystem, before prompting for a passphrase when keylocation is not set to
prompt, ZFSBootMenu will attempt to mount <filesystem> (unlocking that, if necessary) and search for the key file at keylocation
relative to <filesystem>. If such a file is found, it will be copied to the initramfs, and the copy in the initramfs will be used
to decrypt the original boot environment. Any copied keys are retained until ZFSBootMenu boots an environment, so a single
password prompt can be sufficient to unlock several pools with the same keysource or prevent prompts from reappearing when the
pool must be exported and reimported (for example, to alter boot parameters from within ZFSBootMenu).
prompt, ZFSBootMenu will attempt to mount <filesystem> (unlocking that, if necessary) and search for the key file within
<filesystem>. When <filesystem> specifies a mountpoint property that is not none or legacy, the specified mount point will be
stripped (if possible) from the beginning of any keylocation property to attempt to identify a key at the point where it would
normally be mounted. If no file exists at the stripped path (or the mountpoint specifies none or legacy), keys will be sought at
the full path of keylocation relative to <filesystem>. If a key is found at either location, it will be copied to the initramfs.
The copy in the initramfs will be used to decrypt the original boot environment. Copied keys are retained until ZFSBootMenu boots
an environment, so a single password prompt can be sufficient to unlock several pools with the same keysource or prevent prompts
from reappearing when the pool must be exported and reimported (for example, to alter boot parameters from within ZFSBootMenu).

Dracut Options

In addition to standard dracut configuration options, the ZFSBootMenu dracut module supports addtional options to customize boot
behavior.

zfsbootmenu_early_setup=<executable-list>
An optional variable specifying a space-separated list of paths to setup hooks that will be installed in the ZFSBootMenu
initramfs. Any path in the list <executable-list> that exists and is executable will be installed.

Any installed early hooks are run after SPL and ZFS kernel modules are loaded and a hostid is configured in /etc/hostid, but
before any zpools have been imported.

zfsbootmenu_setup=<executable-list>
An optional variable specifying a space-separated list of paths to setup hooks that will be installed in the ZFSBootMenu
initramfs. Any path in the list <executable-list> that exists and is executable will be installed.
Expand Down
18 changes: 15 additions & 3 deletions 90zfsbootmenu/help-files/54/snapshot-management.pod
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,22 @@
The operation will fail gracefully if the pool can
not be set read/write.

[MOD+N] snapshot creation
This creates a new snapshot of the currently
selected boot environment. A new snapshot is useful
if you need to repair a boot environment from a
chroot, to allow for easy roll-back of the changes.

The operation will fail gracefully if the pool can
not be set read/write.

[MOD+D] diff
Compare the differences between the selected
snapshot and the current state of the boot
environment.
Compare the differences between snapshots and
filesystems. A single snapshot can be selected and a
diff will be generated between that and the current
state of the filesystem. Two snapshots can be
selected (and deselected) with the tab key and a
diff will be generated between them.

The operation will fail gracefully if the pool can
not be set read/write.
Expand Down
66 changes: 50 additions & 16 deletions 90zfsbootmenu/help-files/54/zfsbootmenu.7.pod
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ setting any values.
restore standard ZFS behavior on a running system,
execute

echo 0 > /sys/module/spl/paramters/spl_hostid
echo 0 > /sys/module/spl/paramters/spl_hostid

zbm.sort_key
This option accepts a ZFS property name by which
Expand Down Expand Up @@ -172,10 +172,24 @@ behavior.

org.zfsbootmenu:commandline
A list of command-line arguments passed to the
kernel selected by ZFSBootMenu for final boot.
kernel selected by ZFSBootMenu for final boot. The
special keyword %{parent} will be recursively
expanded to the value of
org.zfsbootmenu:commandline at the parent of the
boot environment. Thus, for example,

Do not set root=; ZFSBootMenu will set this option
for for you.
zfs set org.zfsbootmenu:commandline="zfs.zfs_arc_max=8589934592" zroot
zfs set org.zfsbootmenu:commandline="%{parent} elevator=noop" zroot/ROOT
zfs set org.zfsbootmenu:commandline="loglevel=7 %{parent}" zroot/ROOT/be

will cause ZFSBootMenu to interpret the kernel
command-line for zroot/ROOT/be as

loglevel=7 zfs.zfs_arc_max=8589934592 elevator=noop

Never set the root= argument; ZFSBootMenu always
sets this option based on the selected boot
environment.

org.zfsbootmenu:active
This controls whether boot environments appear in
Expand Down Expand Up @@ -233,25 +247,45 @@ behavior.
filesystem, before prompting for a passphrase when
keylocation is not set to prompt, ZFSBootMenu will
attempt to mount <filesystem> (unlocking that, if
necessary) and search for the key file at
keylocation relative to <filesystem>. If such a
file is found, it will be copied to the initramfs,
and the copy in the initramfs will be used to
decrypt the original boot environment. Any copied
keys are retained until ZFSBootMenu boots an
environment, so a single password prompt can be
sufficient to unlock several pools with the same
keysource or prevent prompts from reappearing when
the pool must be exported and reimported (for
example, to alter boot parameters from within
ZFSBootMenu).
necessary) and search for the key file within
<filesystem>. When <filesystem> specifies a
mountpoint property that is not none or legacy,
the specified mount point will be stripped (if
possible) from the beginning of any keylocation
property to attempt to identify a key at the point
where it would normally be mounted. If no file
exists at the stripped path (or the mountpoint
specifies none or legacy), keys will be sought at
the full path of keylocation relative to
<filesystem>. If a key is found at either
location, it will be copied to the initramfs. The
copy in the initramfs will be used to decrypt the
original boot environment. Copied keys are
retained until ZFSBootMenu boots an environment,
so a single password prompt can be sufficient to
unlock several pools with the same keysource or
prevent prompts from reappearing when the pool
must be exported and reimported (for example, to
alter boot parameters from within ZFSBootMenu).

Dracut Options

In addition to standard dracut configuration options,
the ZFSBootMenu dracut module supports addtional
options to customize boot behavior.

zfsbootmenu_early_setup=<executable-list>
An optional variable specifying a space-separated
list of paths to setup hooks that will be
installed in the ZFSBootMenu initramfs. Any path
in the list <executable-list> that exists and is
executable will be installed.

Any installed early hooks are run after SPL and
ZFS kernel modules are loaded and a hostid is
configured in /etc/hostid, but before any zpools
have been imported.

zfsbootmenu_setup=<executable-list>
An optional variable specifying a space-separated
list of paths to setup hooks that will be
Expand Down
13 changes: 11 additions & 2 deletions 90zfsbootmenu/help-files/94/snapshot-management.pod
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,18 @@

The operation will fail gracefully if the pool can not be set read/write.

[MOD+N] snapshot creation
This creates a new snapshot of the currently selected boot environment. A new snapshot is
useful if you need to repair a boot environment from a chroot, to allow for easy roll-back
of the changes.

The operation will fail gracefully if the pool can not be set read/write.

[MOD+D] diff
Compare the differences between the selected snapshot and the current state of the boot
environment.
Compare the differences between snapshots and filesystems. A single snapshot can be selected
and a diff will be generated between that and the current state of the filesystem. Two
snapshots can be selected (and deselected) with the tab key and a diff will be generated
between them.

The operation will fail gracefully if the pool can not be set read/write.

Expand Down
43 changes: 33 additions & 10 deletions 90zfsbootmenu/help-files/94/zfsbootmenu.7.pod
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Default options were chosen to allow general systems to boot without setting any
ZFS kernel modules ignore any value set in /etc/hostid. To restore standard ZFS behavior
on a running system, execute

echo 0 > /sys/module/spl/paramters/spl_hostid
echo 0 > /sys/module/spl/paramters/spl_hostid

zbm.sort_key
This option accepts a ZFS property name by which the boot environment and snapshot lists
Expand Down Expand Up @@ -130,9 +130,19 @@ boot behavior.

org.zfsbootmenu:commandline
A list of command-line arguments passed to the kernel selected by ZFSBootMenu for final
boot.
boot. The special keyword %{parent} will be recursively expanded to the value of
org.zfsbootmenu:commandline at the parent of the boot environment. Thus, for example,

Do not set root=; ZFSBootMenu will set this option for for you.
zfs set org.zfsbootmenu:commandline="zfs.zfs_arc_max=8589934592" zroot
zfs set org.zfsbootmenu:commandline="%{parent} elevator=noop" zroot/ROOT
zfs set org.zfsbootmenu:commandline="loglevel=7 %{parent}" zroot/ROOT/be

will cause ZFSBootMenu to interpret the kernel command-line for zroot/ROOT/be as

loglevel=7 zfs.zfs_arc_max=8589934592 elevator=noop

Never set the root= argument; ZFSBootMenu always sets this option based on the selected
boot environment.

org.zfsbootmenu:active
This controls whether boot environments appear in or are hidden from ZFSBootMenu.
Expand Down Expand Up @@ -173,19 +183,32 @@ boot behavior.

When org.zfsbootmenu:keysource is a mountable ZFS filesystem, before prompting for a
passphrase when keylocation is not set to prompt, ZFSBootMenu will attempt to mount
<filesystem> (unlocking that, if necessary) and search for the key file at keylocation
relative to <filesystem>. If such a file is found, it will be copied to the initramfs, and
the copy in the initramfs will be used to decrypt the original boot environment. Any
copied keys are retained until ZFSBootMenu boots an environment, so a single password
prompt can be sufficient to unlock several pools with the same keysource or prevent
prompts from reappearing when the pool must be exported and reimported (for example, to
alter boot parameters from within ZFSBootMenu).
<filesystem> (unlocking that, if necessary) and search for the key file within
<filesystem>. When <filesystem> specifies a mountpoint property that is not none or
legacy, the specified mount point will be stripped (if possible) from the beginning of any
keylocation property to attempt to identify a key at the point where it would normally be
mounted. If no file exists at the stripped path (or the mountpoint specifies none or
legacy), keys will be sought at the full path of keylocation relative to <filesystem>. If
a key is found at either location, it will be copied to the initramfs. The copy in the
initramfs will be used to decrypt the original boot environment. Copied keys are retained
until ZFSBootMenu boots an environment, so a single password prompt can be sufficient to
unlock several pools with the same keysource or prevent prompts from reappearing when the
pool must be exported and reimported (for example, to alter boot parameters from within
ZFSBootMenu).

Dracut Options

In addition to standard dracut configuration options, the ZFSBootMenu dracut module supports
addtional options to customize boot behavior.

zfsbootmenu_early_setup=<executable-list>
An optional variable specifying a space-separated list of paths to setup hooks that will
be installed in the ZFSBootMenu initramfs. Any path in the list <executable-list> that
exists and is executable will be installed.

Any installed early hooks are run after SPL and ZFS kernel modules are loaded and a hostid
is configured in /etc/hostid, but before any zpools have been imported.

zfsbootmenu_setup=<executable-list>
An optional variable specifying a space-separated list of paths to setup hooks that will
be installed in the ZFSBootMenu initramfs. Any path in the list <executable-list> that
Expand Down
2 changes: 1 addition & 1 deletion bin/generate-zbm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
use strict;
use warnings;

our $VERSION = '1.10.1';
our $VERSION = '1.11.0';

use Getopt::Long qw(:config no_ignore_case auto_version);
use Pod::Usage qw(pod2usage);
Expand Down

0 comments on commit 8a5d71e

Please sign in to comment.