etc VS zfsbootmenu

Compare etc vs zfsbootmenu and see what are their differences.

etc

Things that are too small to keep in a separate repo, but too important not to version them. (by rollcat)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
etc zfsbootmenu
3 161
1 768
- 3.0%
4.4 9.2
10 months ago 8 days ago
Go Shell
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

etc

Posts with mentions or reviews of etc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-25.
  • Starship.rs: minimal, fast prompt for any shell
    6 projects | news.ycombinator.com | 25 Jan 2024
    Since this is now a share your prompt thread, here's mine:

    https://github.com/rollcat/etc/tree/master/cmd/prompter

    It's quite portable (didn't test on Windows though); ~170 lines of Go; no dependencies outside of stdlib; calls no external commands; supports SSH, git, Docker, nix, and virtualenv; extremely simple to hack on.

  • What is in that .git directory?
    3 projects | news.ycombinator.com | 7 Oct 2023
    It's fairly easy to grab info from .git for your own purposes. For example, the program that generates my PS1 peeks there (without wasting precious cycles on shelling out to the git command) to find the current branch we're on:

    https://github.com/rollcat/etc/blob/b2fd739/cmd/prompter/mai...

  • Pure Bash Bible
    13 projects | news.ycombinator.com | 8 Aug 2023
    Depends on what you're trying to do. If you're shelling out to git(1) or docker(1), rather than e.g. recursively checking for the presence of .git in parent directories, or inspecting ~/.docker/config.json, then the fork+exec overhead is already quite significant. Next if you're parsing ~/.docker/config.json in shell, you're most likely either asking for trouble or (again) shelling out to jq. Writing it all in an interpreted language means you're paying the cost of interpreter startup, which on underpowered systems can take hundreds of milliseconds even when idle. OTOH loading a static binary to memory happens only once, and with Go you can trivially cross-compile.

    I also have a fallback shell one-liner, without any of the fanciness like displaying the current git branch:

    https://github.com/rollcat/etc/tree/master/cmd/prompter#i-li...

zfsbootmenu

Posts with mentions or reviews of zfsbootmenu. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-01.
  • Bash Debugging
    7 projects | news.ycombinator.com | 1 Mar 2024
    We use a couple nice home-grown functions in ZFSBootMenu to help debug things. We have a zdebug logging function that's peppered liberally throughout the code base - https://github.com/zbm-dev/zfsbootmenu/blob/master/zfsbootme...

    Hitting ctrl-t on our main menu will, when booting with debug logging enabled, show a screen like this: https://imgur.com/Ge75zkP

    We also have a flamegraph profiling mechanism that can be enabled with https://github.com/zbm-dev/zfsbootmenu/blob/master/zfsbootme... . That will dump data to a serial port, which when re-assembled, can be used to produce a graph like https://raw.githubusercontent.com/zbm-dev/zfsbootmenu/master...

    Bash is suprisingly flexible.

  • Pure Bash Bible
    13 projects | news.ycombinator.com | 8 Aug 2023
    A lot of what's in the Pure Bash Bible is horrifically slow. Many of those things are substantially faster, even when paying the cost of starting a new process, when you use an external and commonly available tool. I wrote a bash performance profiler that outputs data in a format that flamegraph.pl recognizes - it really helped identify where we could improve the performance of ZFSBootMenu.

    https://github.com/zbm-dev/zfsbootmenu/releases/tag/v1.12.0

    Don't fall in the trap of thinking things have to be written entirely in bash; it's okay to use other tools to help fill in the gaps.

  • Some preinstalled options/defaults suggestion
    1 project | /r/openSUSE | 24 Jun 2023
    If instead of "opensuse" you're asking for bootloader as grub can't boot from zfs, then, like i metnioned, i don't use grub2, i uninstalled it, instead i'm using https://github.com/zbm-dev/zfsbootmenu
  • ZFSBootMenu how to increase font resolution?
    1 project | /r/zfs | 11 Jun 2023
    I thought the following was supposed to fix this issue: https://github.com/zbm-dev/zfsbootmenu/commit/84da18e64ebcc0c483e7b2c7d3972f7d91784e63
  • How do I configure the refind.conf and refind_linux.conf (and or config.yaml (for ZFSBootMenu)) files properly when installing Arch Linux with ZFS Native Encryption?
    4 projects | /r/zfs | 29 May 2023
    All release assets, including EFI executables and kernel/initramfs pairs, are signed with signify, which provides a simple method for verifying that the contents of the file are as this project intended. Once you've installed signify (that's left as an exercise, although Void Linux provides the signify package for this purpose), just download the desired assets from the ZFSBootMenu release page, download the file sha256.sig alongside it, and run:
  • How to keep Ubuntu from creating a dozen /var subdirectories?
    2 projects | /r/zfs | 8 May 2023
    I think the consensus is that you probably shouldn't be installing a ZFS on root using the native installer anymore. They aren't really maintaining the packages that make that work. Instead the suggestion is to go the zfsbootmenu route of installing.
  • Cloned my root dataset and now it won't boot because NTP daemon can't reach time servers
    1 project | /r/zfs | 5 May 2023
    Glad to hear that everything is working for you! I've opened a PR that adds a warning about this condition - it should likely make it into 2.2.0.
  • Ubuntu 23.04 Desktop's New Installer Set To Ship Without OpenZFS Install Support
    5 projects | /r/zfs | 17 Apr 2023
    You can install following instructions at https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bullseye%20Root%20on%20ZFS.html which I've automated with https://github.com/HankB/Linux_ZFS_Root/tree/master/Debian. For scripting, you should also look at https://github.com/zbm-dev/zfsbootmenu. I'd probably go that way if I were starting from scratch.
  • Void Linux and root-on-ZFS question
    2 projects | /r/voidlinux | 16 Apr 2023
    ZBM provides an amazingly useful script in it's wiki here. This runs when a new kernel is updated by xbps and it snapshots your system before the kernel is installed. This creates a boot environment, and via the magic of ZFS boot environments, allows you to rollback any kernel update to a known, working configuration.
  • When root on ZFS breaks on Arch Linux
    5 projects | news.ycombinator.com | 26 Mar 2023
    * https://docs.oracle.com/cd/E86824_01/html/E54764/beadm-1m.ht...

    > A ZFS boot environment is a bootable clone of the datasets needed to boot the operating system. Creating a BE before performing an upgrade provides a low-cost safeguard: if there is a problem with the update, the system can be rebooted back to the point in time before the upgrade.

    * https://klarasystems.com/articles/managing-boot-environments...

    Or perhaps:

    > In essence, ZFSBootMenu is a small, self-contained Linux system that knows how to find other Linux kernels and initramfs images within ZFS filesystems. When a suitable kernel and initramfs are identified (either through an automatic process or direct user selection), ZFSBootMenu launches that kernel using the kexec command.

    * https://github.com/zbm-dev/zfsbootmenu

What are some alternatives?

When comparing etc and zfsbootmenu you can also consider the following projects:

shunit2 - shUnit2 is a xUnit based unit test framework for Bourne based shell scripts.

root-on-zfs-systemdboot - Dual-boot Root-on-ZFS config for Debian w/ systemd-boot

bish - Bish is a language that compiles to Bash. It's designed to give shell scripting a more comfortable and modern feel.

archiso-zfs - Easily load ZFS kernel module on any Archiso.

meowatch - watch fs changes and meow

ramroot - Load root file system to ram during boot.

babashka - Native, fast starting Clojure interpreter for scripting

dracut - dracut the event driven initramfs infrastructure

pure-bash-bible - 📖 A collection of pure bash alternatives to external processes.

zectl - ZFS Boot Environment manager for Linux

ShellCheck - ShellCheck, a static analysis tool for shell scripts

nonguix