Commit Graph

59 Commits

Author SHA1 Message Date
Zach Dykstra d4de21329c
README.md: fix logo, use latest screenshot 2024-02-18 11:36:24 -06:00
classabbyamp 747535ecb7
README.md: fix bootenvs and you link 2024-02-10 16:01:27 -05:00
Zach Dykstra 137a0e9f47
README.md: add documentation status badge 2022-12-28 09:13:14 -06:00
Zach Dykstra 8bb2d5fcd9
README.md: update logo 2022-12-22 12:28:14 -06:00
classabbyamp 5876c0f346 migrate README contents to docs/index.rst
also add v2.1.0 screenshot
2022-12-22 10:24:47 -06:00
Andrew J. Hesford 4595d79f53 README.md: link to containerized build example in the wiki 2022-11-27 19:26:00 -05:00
gardar 9c91afa4f4 Make default efi path distro agnostic 2022-08-01 10:27:43 -04:00
Zach Dykstra feb6a26e05
documentation: provide a link to the wiki 2022-06-28 20:56:45 -05:00
Jip de Beer 6f09d39ee1 Fix broken links 2022-03-21 14:33:51 -04:00
Zach Dykstra 17fd12d2d2 Move all documentation to docs/ 2022-03-17 21:52:14 -05:00
Andrew J. Hesford 141e572128 README.md: general cleanup; include reference to building guide 2022-03-10 10:38:37 -05:00
Zach Dykstra f7a9d96e67
README.md: Minor changes to EFI integration steps
Closes #252
2022-02-12 12:48:34 -06:00
Andrew J. Hesford 037bb55aa7 README.md: rework introduction, de-emphasize dracut 2022-01-27 12:56:11 -05:00
Zach Dykstra dd7730f220
Update build status badge 2022-01-24 15:32:06 -06:00
Andrew J. Hesford 70bad3814c Add initial boot-environment guide 2022-01-19 14:47:57 -05:00
Zach Dykstra 223aff598c
Update screenshot 2021-12-22 11:57:12 -06:00
Zach Dykstra 86e3ca37fe Code removal / cleanup pass
Skim hasn't seen a release since February 2021. It's starting to miss a
few features that we come to expect in fzf. Additionally, it has a few
rendering bugs / keybind issues that aren't easily resolved.

Removing skim support ends support for any platform not supported by Go,
but ZFS usage on those platforms isn't really common.

With all debug logging now running through the ztrace script, zlogtail
has been heavily simplified. It's now exclusively geared towards showing
warnning and error logs generated by the zwarn() and zerror() functions.
2021-11-30 22:58:12 -06:00
Andrew J. Hesford 3b160661e8 README: describe usage of org.zfsbootmenu:keysource 2021-10-31 12:30:09 -04:00
Andrew J. Hesford 4e76ba63a7 Doc fixes: remove grub from README, describe KCL inheritance 2021-10-31 11:59:58 -04:00
Andrew J. Hesford 3b4aa0800d Remove stray backtick 2021-05-21 10:35:47 -04:00
Andrew J. Hesford 74b8fd6e76 README: add instructions for verifying signatures 2021-05-21 10:31:22 -04:00
Zach Dykstra b6462521f0 Replace old asciicast with new screenshot 2021-03-30 16:44:44 -05:00
RoundDuckKira a99a8deed4 Update README.md to explain driver exclusions and teardown hooks
Nvidia is poorly documented and this could be a big roadblock for many
to use zfsbootmenu, unless if they beg for help on the issues page or
look deep. So I'm gonna add a section for Nvidia based on the advice I
got from @ahesford.

Co-authored-by: RoundDuckKira <71993575+RoundDuckKira@users.noreply.github.com>
Co-authored-by: Andrew J. Hesford <ajh@sideband.org>

Closes: #141
Closes: #142 [via git-merge-pr]
2021-01-25 15:56:48 -05:00
Witaut Bajaryn 8db6d8f4ce
README: Describe more Perl dependencies (#134)
Describe at least the ones in cpanfile -
those were the ones not present on my system.
2021-01-16 12:13:26 -06:00
Zach Dykstra f8800e1beb
Update asciicast! 2020-11-02 21:28:33 -06:00
Zach Dykstra 12a04ff33c
Add repology badge, move asciicast down 2020-10-28 16:20:28 -05:00
Érico Rolim b04c3efde8 README: general clean up.
- grammar corrections
- clear up language
- fix up some formatting
2020-10-28 14:43:26 -05:00
Zach Dykstra a5aa836c68
Update README.md 2020-10-23 23:03:05 -05:00
Zach Dykstra 219a632dbc Rewrite pool import ahead of OpenZFS 2.0.0
The historical pool import process relied on scraping the pool status
and attempting to import any pool that is marked as ONLINE. This process
fails for pools with feature flags enabled from a newer version of ZFS
than what is in the initramfs. The process has been reworked as follows:

* Rely on zpool to import every pool possible in read-only mode
* If any pool has unavailable feature flags, set a global flag
  disabling read-write pool operations for that pool, and
  then provide a warning indicating that ZFS in the initramfs
  should be upgraded.
* If the preferred zpool could not be imported, warn and then
  drop to a recovery shell.

Additionally, the read_write kernel command line option has been
removed, as this behavior conflicts with the requirement to import
pools read-only initially.

Closes #87

Co-authored-by: Andrew J. Hesford <ajh@sideband.org>
Co-authored-by: Zach Dykstra <dykstra.zachary@gmail.com>
2020-10-23 22:52:14 -05:00
Andrew J. Hesford 2076eaddb8 Move GitHub URLs to new zbm-dev organization 2020-09-18 10:10:20 -04:00
Zach Dykstra b85d836ce6 support sk, an fzf workalike, for menu presentation
fzf, while excellent, has limited support for older architectures due to
Go. skim is flag-compatible with fzf and supports more architectures.
Supporting this in ZFSBootMenu required the following changes:

- Setup a proper TTY; this is done by creating a stub pre-mount hook
  that is sourced into the Dracut master shell. Required variables are
  exported and then a new shell is exec'd that launches the master
  bootmenu script.

- Export defaults for skim and fzf depending on which is found

- Work around a bug in skim where the preview height is off by -1

Co-Authored-by: Andrew J. Hesford <ajh@sideband.org>
Co-Authored-by: Zach Dykstra <dykstra.zachary@gmail.com>
2020-08-22 18:19:15 -05:00
Zach Dykstra 09790518b0 Add documentation for generate-zbm, its config and initramfs options
Master documents reside in the `pod` subdirectory (except for
`generate-zbm.8`, which is inlined in `bin/generate-zbm` and may be
converted to man pages by running, from the repository root, the helper
`releng/pod2man.sh`. The `releng/tag-release.sh` helper will convert the
docs as part of the release process.

Co-authored-by: Zach Dykstra <dykstra.zachary@gmail.com>
Co-authored-by: Andrew J. Hesford <ajh@sideband.org>
Co-authored-by: Érico Rolim <erico.erc@gmail.com>
2020-08-19 10:56:41 -04:00
Andrew J. Hesford 3b2b2f0963 Add explicit --migrate option to generate-zbm
Conversion from INI to YAML is no longer fully automatic, but is instead
accomplished by specifying --migrate with an optional path to the INI
file to migrate. Combined with --config, this allows totally
customizable migration sources and targets.

generate-zbm always terminates immediately after attempted migration,
with the exit code indicating success (zero) or failure (nonzero).

Closes #65
2020-08-10 23:29:32 -04:00
Zach Dykstra 27b5f5e91c
Update final reference to config.ini 2020-08-10 09:58:03 -05:00
Andrew J. Hesford 6351226b2e Move to YAML configuration, improve version handling
- Convert existing INI to YAML if the former exists and the latter doesn't

- In versioned images, increment revision number to distinguish multiple
  images with the same version

- Prune versioned images more intelligently: save the latest N revisions of the
  current image version, along with the last revision of each of the latest N
  prior image versions, where N is a configuration parameter.

- Support string interpolation in references to Kernel.Version (--kver, the
  input kernel version) and Global.Version (--version, the output ZBM version)

- Add support --cmdline argument to override Kernel.CommandLine

- Improve defaults in proposed YAML config

Closes #64.

Co-authored-by: Zach Dykstra <dykstra.zachary@gmail.com>
Co-authored-by: Andrew J. Hesford <ajh@sideband.org>
Co-authored-by: Érico Rolim <erico.erc@gmail.com>
2020-08-09 21:26:14 -04:00
Zach Dykstra 3ea6e8742b
Update additional software list 2020-08-06 21:37:21 -05:00
Zach Dykstra 1190f09a0b
Update README.md
Remove limitations section - this was addressed by @ahesford
2020-07-29 19:59:31 -05:00
Andrew J. Hesford 5fdb8729c8 Add configuration options for kernel, version and prefix
The options "Path", "Version" and "Prefix" in the "[Kernel]" section of
the configuration file now provide respective defaults for the
"--kernel", "--kernel_version" and "--kernel_prefix" command-line args.
2020-07-15 13:17:03 -04:00
Andrew J. Hesford c214ce7d1b Clarify root-prefix text in README.md 2020-07-09 01:23:55 -04:00
Andrew J. Hesford f50f8e4cc2 Minor changes to support booting Arch Linux.
The kernel command line for Arch Linux is supposed to take the form
`zfs=<dataset>` instead of `root=zfs=<dataset>`. The dracut module now
generalizes `org.zfsbootmenu:rootprefix` so the `root=` prefix is not
automatically added, making custom or distribution-specific behavior
more adaptable.

Also, Arch Linux refuses to boot with `mountpoint=legacy` set on the BE;
README.md now notes this restriction.
2020-07-09 01:10:10 -04:00
Andrew J. Hesford 444bf5557b Document org.zfsbootmenu:rootprefix in README.md 2020-07-07 14:57:07 -04:00
Andrew J. Hesford a9652dcaef
Document `Stub` option is configuration 2020-06-27 11:59:06 -04:00
Andrew J. Hesford 63a813951d
Remove objcopy from requirements in README.md 2020-06-27 11:52:15 -04:00
Andrew J. Hesford 95f65a635d Initial support for org.zfsbootmenu:active visibility
If a BE has mountpoint=/, setting org.zfsbootmenu:active=off will hide
the BE from the boot menu; all other values will cause it to be shown.

Conversely, if a BE has mountpoint=legacy, setting
org.zfsbootmenu:active=on will cause the BE to be shown in the boot
menu; all other values will prevent its display.
2020-06-26 15:40:18 -04:00
Zach Dykstra a13a880a3d First attempt at shellcheck pipeline 2020-06-18 10:10:01 -05:00
Andrew J. Hesford b98560f057 Note mbuffer requirement in README.md 2020-06-16 22:04:48 -04:00
Zach Dykstra b2722f51ec
Not everything is VIM. Get it together. 2020-06-08 09:49:01 -05:00
Zach Dykstra 85d7a6f028 Document ZFS properties, clean up trailing whitespace 2020-05-12 14:46:54 -05:00
Andrew J. Hesford eb2c00ff5c Prefer ZFS property org.zfsbootmenu:commandline for command-line args 2020-05-11 11:16:03 -04:00
Zach Dykstra a1286df2e4 Detail tested versions, fix extraneous ` 2020-02-14 10:05:03 -06:00