Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/evan-king/grub2-zfs-be
Utilities to add support for maintaining multiple boot environments for Linux root installations on ZFS.
https://github.com/evan-king/grub2-zfs-be
beadm grub2 zfs zol
Last synced: about 1 month ago
JSON representation
Utilities to add support for maintaining multiple boot environments for Linux root installations on ZFS.
- Host: GitHub
- URL: https://github.com/evan-king/grub2-zfs-be
- Owner: evan-king
- Created: 2017-03-02T21:27:15.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-27T04:22:42.000Z (over 7 years ago)
- Last Synced: 2024-11-04T09:37:30.954Z (about 1 month ago)
- Topics: beadm, grub2, zfs, zol
- Language: Shell
- Homepage:
- Size: 16.6 KB
- Stars: 8
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - evan-king/grub2-zfs-be - Utilities to add support for maintaining multiple boot environments for Linux root installations on ZFS. (others)
README
# Grub2 ZFS Boot Environments
Utilities to add support for maintaining multiple boot environments for
Linux root installations on ZFS. Intended to work with environments based
on following [this guide](https://github.com/zfsonlinux/zfs/wiki/Ubuntu-16.04-Root-on-ZFS)
modified to split `/boot/grub` into a separate dataset shared across
boot environments and identifying boot environments as datasets with zfs
properties `mountpoint=/` and `canmount=noauto`.This project is primarily an effort to satisfy a personal need
(See [Issue 5809](https://github.com/zfsonlinux/zfs/issues/5809)) in absence
of a mature `beadm`-like toolset for Ubuntu's current LTS release.**Warning**: this is an experimental project with currently no participation
by experienced members of the ZOL project, package maintainers, or distribution
developers. Use at your own risk.## grub-mkconfig
At present the primary utility provided is a grub-mkconfig helper script
`15_linux_zfs`, built to run alongside/after and eventually replace
`/etc/grub.d/10_linux`. In its current state, the script *only* supports
zfs roots with some menu entry details still hard-coded to my specific
local environment and configuration.Use the included test.sh script to non-destructively determine whether
your configuration is supported. EFI booting is theoretically supported
but untested. Due to the limited range of test environments and unstable
state, even when installed the script will not replace stock grub scripts
the entries they generate. Boot-environment-specific entries will appear
after the stock entries.## beadm-alt
Lightweight partial implementation of beadm that can list, create, destroy,
and activate boot environments. (Activation requires `GRUB_DEFAULT=saved`
in `/etc/default/grub`.)Supported options:
- beadm list
- beadm create [-a] [-e bename@snapname] bename
- beadm destroy bename
- beadm activate benameCreating boot environments across pools is not supported, nor even is
creating a boot environment in a location separate from the origin dataset.
However, manually created boot environments in separate datasets will
be correctly understood so long as no collissions occur on dataset name.