dracut

dracut, an initrd generator
Introduction
[edit]Find out which initrd Generator is installed
[edit]To check if dracut is already installed, run. On Debian based operating systems such as Kicksecure this can be done using the following commands.
dpkg -l | grep dracut
To check if initramfs-tools is already installed, run.
dpkg -l | grep initramfs-tools
Installation
[edit]1. Notices.
To check your currently installed initrd generator, see Find out which initrd Generator is installed.
2. Warning.
3. Create folder /etc/dracut.conf.d.
sudo mkdir --parents /etc/dracut.conf.d
4. Open file /etc/dracut.conf.d/fix.conf in an editor with administrative ("root") rights.
1 Select your platform.
2 Notes.
- Sudoedit guidance: See Open File with Root Rights for details on why using
sudoeditimproves security and how to use it. - Editor requirement: Close Featherpad (or the chosen text editor) before running the
sudoeditcommand.
3 Open the file with root rights.
sudoedit /etc/dracut.conf.d/fix.conf
2 Notes.
- Sudoedit guidance: See Open File with Root Rights for details on why using
sudoeditimproves security and how to use it. - Editor requirement: Close Featherpad (or the chosen text editor) before running the
sudoeditcommand. - Template requirement: When using Kicksecure-Qubes, this must be done inside the Template.
3 Open the file with root rights.
sudoedit /etc/dracut.conf.d/fix.conf
4 Notes.
- Shut down Template: After applying this change, shut down the Template.
- Restart App Qubes: All App Qubes based on the Template need to be restarted if they were already running.
- Qubes persistence: See also Qubes Persistence
- General procedure: This is a general procedure required for Qubes and is unspecific to Kicksecure-Qubes.
2 Notes.
- Example only: This is just an example. Other tools could achieve the same goal.
- Troubleshooting and alternatives: If this example does not work for you, or if you are not using Kicksecure, please refer to Open File with Root Rights.
3 Open the file with root rights.
sudoedit /etc/dracut.conf.d/fix.conf
5. Paste.
hostonly=yes hostonly_mode=sloppy
6. Save.
7. Install dracut and systemd-cryptsetup.
sudo apt install --no-install-recommends dracut systemd-cryptsetup
8. Done.
Installation of dracut has been completed.
Re-Generate dracut Initrd
[edit]sudo dracut -f
Bugs
[edit]- Specific risk: Issues may occur during migration to
dracutif full disk encryption is used.- Likely issues:
- Package
systemd-cryptsetupis not installed. hostonly=yesconfiguration option is not used.
- Package
- Workaround: If boot fails: setting the kernel parameter
rd.automight help. (Tested on Debian12/bookworm.)
- Likely issues:
- Note on bug status: Closed bugs do not necessarily mean the issue is resolved in your distribution's APT repository. Fixes may have been reverted upstream, making bug status verification difficult.
dracut(abandoned)- fix(crypt): Encrypted root FS handling with generic initrd #2520

(abandoned pull request for dracut)
- Generic initrd does not work with encrypted root FS without further configuration

- fix(crypt): Encrypted root FS handling with generic initrd #2520
dracut-ngupstream bug reports and pull requests:- With encrypted root + unencrypted boot + systemd, dracut may generate an initrd incapable of decrypting the root disk without showing any warnings or errors #684

- fix(systemd-crypt): add potentially needed modules to generic initrd #319

- fix(crypt): unlock encrypted devices by default during boot #320

- revert(crypt): do not unlock encrypted devices by default during boot #529

- With encrypted root + unencrypted boot + systemd, dracut may generate an initrd incapable of decrypting the root disk without showing any warnings or errors #684
- Debian upstream bug reports:
- Forum discussion:
- ram-wipe discussion:
We believe security software like Kicksecure needs to remain Open Source and independent. Would you help sustain and grow the project? Learn more about our 13 year success story and maybe DONATE!