µgRD is designed to generate a custom initramfs environment to boot the system which built it.
Generated images are as static and secure as possible, only including components and features required to mount the root and switch to it. µgRD generates POSIX shell scripts to mount the rootfs and continue booting.
The final build environment is left in the specified build_dir, where it can be examined or repacked.
Unless validation is disabled, µgRD attemts to validate most configuration against the host system, raising exceptions or logging warnings warnings if the configuration is invalid.
This is free and open source software.
Features include:
- Auto-detection:
- Root mount, using /proc/mounts. root= and rootflags= can be used but are not required.
- MDRAID auto-configuration for the root mount.
- LUKS auto-configuration and validation for the root mount.
- LUKS under LVM support.
- LUKS under MDRAID support.
- LVM based root volumes are auto-mounted.
- BTRFS root subvolumes are automatically detected to root_subvol.
- subvol_selector can be used to select a subvolume at boot time.
- /usr auto-mounting if the init system requires it.
- Auto-detection of kernel modules required by the storage device used by the root filesystem.
- Init system/target auto-detection.
- Validation:
- Configuration validation against the host config in validate mode.
- LUKS header and crypto backend validation.
- Imported binary and shell function collision detection.
- Static output image checks, ensuring necessary files are packed.
- QEMU based test framework with –test or using the ugrd.base.test module.
- Example config and features:
- OpenPGP Smartcards (YubiKey) with the ugrd.crypto.smartcard module yubikey example.
- GPG encrypted LUKS keyfiles with the ugrd.crypto.gpg module gpg example.
- LUKS with detatched headers detached headers example.
- Cryptsetup re-attempts and alternative unlock methods.
- Allows for late insertion of a smartcard cryptsetup_retries and cryptsetup_autoretry.
- Can fail back to plain password entry try_nokey.
- Key entry over serial raid crypt serial.
- Other info:
- Automatic CPIO generation (PyCPIO).
- Device nodes are created within the CPIO only, so true root privileges are not required.
- Hardlinks are automatically created for files with matching SHA256 hashes.
- Automatic xz compression.
- “merged usr” symlinks are creatd by default and can be disabled by setting merge_usr = false.
- ZSH and BASH autocompletion for the ugrd command.
- Basic hibernation/resume support with ugrd.fs.resume.
- Similar usage/arguments as Dracut.
Website: github.com/desultory/ugrd
Support:
Developer: Zen
License: GNU General Public License v2.0
µgRD is written in Python. Learn Python with our recommended free books and free tutorials.
| Explore Linux | |
|---|---|
| Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category. | |
| In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality. | |
| The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions. | |
| Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others. | |
| Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems. | |
| Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks. | |
| Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems. | |
| Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux. | |
| Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools. | |
| Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux. | |
| Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux. | |

Please read our Comment Policy before commenting.