An initramfs (initial ram file system) is used by Linux systems to prepare the system during boot before the operating systems' init process starts.
The initramfs usually takes care of mounting important file systems (by loading the proper kernel modules and drivers) such as /usr or /var, preparing the /dev file structure, etc. Users who use an encrypted file system will also have the initramfs ask them for the passphrase before it can mount the file systems. When the file systems are mounted, control is passed on to init which then takes care of further starting all necessary services and booting up the remainder of the system.
Available software and articles
- Custom Initramfs — the successor of initrd. It provides early userspace which can do things the kernel can't easily do by itself during the boot process. A guide to the self made "custom initramfs"
- Dracut — an initramfs infrastructure and aims to have as little as possible hard-coded into the initramfs. Initramfs infrastructure, ported from the Fedora Project, that aims to have as little as possible hard-coded into the initramfs.
- Early Userspace Mounting Another worth to read article about custom initramfs
- Genkernel — a tool created by Gentoo used to automate the build process of the kernel and initramfs.
- mkinitramfs-ll, sys-kernel/mkinitramfs-ll
- Initramfs/Guide — covers the concepts of the initramfs as well as how to properly create and manage initramfs instances.
- Handbook:Parts/Installation/Kernel#Optional: Building an initramfs