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. Learn more →
Top 18 Initramf Open-Source Projects
-
u-root
A fully Go userland with Linux bootloaders! u-root can create a one-binary root file system (initramfs) containing a busybox-like set of tools written in Go.
-
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.
-
dracut-crypt-ssh
dracut initramfs module to start dropbear sshd during boot to unlock the root filesystem with the (cryptsetup) LUKS passphrase remotely
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
dracut-sshd
Provide SSH access to initramfs early user space on Fedora and other systems that use Dracut
-
Archboot
Archboot is a most advanced, modular Arch Linux boot/install image creation utility to generate bootable media for CD/USB/PXE, designed for installation or rescue operation.
-
t4ub
A tool to get root privileges on GNU/Linux, injecting malware early in the boot chain. It also works on systems with root encrypted partition. Useful to grab LUKS passwords.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
It looks similar to u-root https://github.com/u-root/u-root, yes, used as part of host firmware. There's a description of u-root in chapter 6 of https://link.springer.com/book/10.1007/978-1-4842-7939-7, too.
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.
Project mention: How to avoid typing password of LUKS encrypted server every boot? | /r/homelab | 2023-07-05
The https://github.com/garybgenett/gary-os#licensing section is interesting.
Project mention: "The System Found Unauthorized Changes On the Firmware, Operating System UEFI Drivers" | /r/archlinux | 2023-07-08If you can't disable secure boot, the default installer will not work for you. The easiest solution would be to use archboot, an unofficial installer maintained by one of the devs. https://archboot.com/
Project mention: 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? | /r/zfs | 2023-05-29Personally I hate keyfiles and any form of zfs unlocking automation which stores things locally (I suppose TPM cryptography is a good exception). While I use a traditional EFI /boot with systemd-boot (bootctl) I made this initramfs hook so that my machines can dynamically unlock themselves from my vault cluster with a revokable token. Not quite the same approach and if there's no networking a machine could get caught dead in the water for booting back to a password prompt, but it's good enough right now that I use it on everything.
Project mention: Cryptreboot: Convenient reboot for Linux systems with encrypted root partition | news.ycombinator.com | 2024-05-10
I've been working on this for the last year or so: https://github.com/desultory/ugrd
It's mostly made to work with Gentoo (uses pax-utils for finding dependencies), but should work with any distro. It does most of the initramfs creation process rootless. The main consideration is that you need privileges to make device nodes, but I just create them synthetically within the cpio image.
On most systems, this tool still requires root to copy the mount binary.
You can't make them on the filesystem itself, gen_init_cpio lets you specify device nodes to be created within the archive, but they are not actually created on the live system and do not require privileges.
I made my own CPIO library: https://github.com/desultory/pycpio and one of the main goals was this behavior, so I could create CPIO archives with device nodes without privileges. It's really as simple as writing some bytes to a file saying "when you extract this, create this device node". It's not like any archive actually has a device node, just instructions for where to put them, and what properties they have.
Certainly, you can't extract these archives as non-root, but you have to go out of your way to make an initramfs have non-root privileges.
Initramfs related posts
-
Cryptreboot: Convenient reboot for Linux systems with encrypted root partition
-
Build Initramfs Rootless
-
Staking + disk encryption? Updating the kernel may be challenging.
-
How to avoid typing password of LUKS encrypted server every boot?
-
Locked root partition
-
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?
-
ZFSBootMenu boots root dataset just fine but doesn't ask for password even though it's encrypted???
-
A note from our sponsor - InfluxDB
www.influxdata.com | 20 May 2024
Index
What are some of the best open-source Initramf projects? This list will help you:
Project | Stars | |
---|---|---|
1 | u-root | 2,455 |
2 | yubikey-full-disk-encryption | 785 |
3 | zfsbootmenu | 776 |
4 | dracut | 525 |
5 | booster | 466 |
6 | wireguard-initramfs | 276 |
7 | dracut-crypt-ssh | 273 |
8 | ramroot | 262 |
9 | dracut-sshd | 207 |
10 | tinyramfs | 98 |
11 | gary-os | 86 |
12 | Archboot | 34 |
13 | t4ub | 22 |
14 | deckrypt | 20 |
15 | zfsUnlocker | 20 |
16 | cryptreboot | 18 |
17 | ugrd | 18 |
18 | pycpio | 3 |
Sponsored