Fact-checked by Grok 2 weeks ago

Initial ramdisk

An initial ramdisk, commonly abbreviated as initrd, is a transient file system loaded into (RAM) by the boot loader during system startup, functioning as a temporary file system to facilitate the mounting of the real file system. It enables a two-phase process where the initializes with a minimal set of built-in drivers, then uses the initrd to load additional modules—such as those for controllers or file systems—required to access the permanent partition. This mechanism supports modular configurations, allowing a single image to on diverse without embedding all possible drivers directly. The initrd operates by having the boot loader pass both the and an initrd image to the kernel, which then creates a RAM disk block device, mounts the image as the initial , and executes the /sbin/[init](/page/Init) program from within it. This init script typically handles tasks like module loading, device detection, and file system checks before invoking pivot_root or switch_root to transition to the real file system, after which the initrd is unmounted and its memory freed. Developed in the mid-1990s by Werner Almesberger and later refined by Hans Lermen, initrd was introduced to address limitations in early monolithic kernels by promoting modularity for installations, recovery environments, and booting from varied media like CD-ROMs. A related and more modern implementation is initramfs, which replaces the block-device-based initrd with a compressed archive embedded directly into the image, extracted into a temporary rootfs (a special instance of ramfs or ) at boot time. Unlike initrd, initramfs avoids the overhead of a dedicated RAM disk device and supports early userspace execution via an /init script as process ID 1, making it lighter and more efficient for embedded systems or diskless booting over networks. Tools like mkinitrd or dracut are commonly used to generate these images, often incorporating minimal utilities from to keep sizes small—typically hundreds of kilobytes—while including essentials like module loaders (insmod) and shell interpreters. Initial ramdisks are essential for modern distributions, enabling support for encrypted or logical volume-managed file systems, as well as modes and live environments. Their design ensures flexibility without compromising or , and kernel configuration options like CONFIG_BLK_DEV_INITRD must be enabled for initrd support, while CONFIG_INITRAMFS_SOURCE allows customization of initramfs contents.

Fundamentals

Definition

An initial ramdisk, commonly abbreviated as initrd, is a temporary file system loaded into (RAM) by the boot loader during the early stages of the boot process. It serves as an interim root file system, allowing the to execute essential programs before the permanent root file system on disk becomes accessible. This setup enables a modular boot sequence where the initrd acts as a bridge between the generic kernel and hardware-specific configurations. The core components of an initrd include a filesystem (such as or ), which may contain compressed data in modern implementations, with a minimal set of binaries, device drivers, initialization scripts, and configuration files necessary for continuation. Essential elements within this image encompass the /sbin/[init](/page/Init) executable (or /linuxrc in older implementations), device nodes like /dev/console, and kernel modules required for hardware detection. The image is loaded into a RAM disk device, such as /dev/ram0, and mounted as the initial root . In its role, the initrd facilitates modular kernel loading by providing a controlled, minimal from which the can dynamically load hardware-specific drivers—such as those for controllers or s—needed to locate and the real root . This process begins with the loader transferring control to the , which then mounts the initrd and executes its script to perform these tasks. Once the permanent root is mounted, the initrd is typically unmounted via a operation, freeing its . Unlike the permanent root file system, which resides on persistent storage like a hard drive and supports the full operating system , the initrd is volatile, residing entirely in and designed for short-term use during . It is discarded after the transition to the real root, ensuring no interference with ongoing system operations. This -based nature makes the initrd lightweight and fast to access but dependent on available memory.

History

The concept of the initial ramdisk (initrd) originated in the early during development, as a solution to the challenges posed by increasing hardware diversity, particularly the need for of drivers like those for controllers that could not be reliably included in a static kernel image. Initrd was formally introduced in version 1.3.73 in 1996, developed primarily by Werner Almesberger and Hans Lermen as a temporary RAM-based filesystem to enable early loading during , serving as a for hardware-specific initialization before mounting the real filesystem. Over subsequent kernel versions, initrd evolved with support for compressed images available in early kernels, allowing gzipped filesystems to reduce load times and memory usage, alongside integration of scripting mechanisms for automated loading. Key adoption milestones included its integration into major distributions such as in the late 1990s, where it became essential for supporting varied enterprise hardware configurations during installation and boot. By the 2.6 series, initrd mechanisms were further standardized in kernel documentation, paving the way for the introduction of initramfs as a more efficient cpio-based alternative in version 2.6.13 in 2005, while maintaining . As of 2025, recent updates in the 5.x and 6.x series have enhanced initrd support for booting and Secure Boot environments, including better integration with signed bootloaders, though discussions continue on deprecating the legacy initrd format in favor of initramfs, with removal patches proposed following its official deprecation in 2020.

Purpose

Rationale

The initial ramdisk serves a critical role in providing for operating system , particularly in environments with diverse and evolving configurations. Modern , such as the , cannot practically include all necessary drivers statically due to the enormous variability in components like storage controllers (e.g., , NVMe, or interfaces), which would result in excessively large and inflexible images. Instead, the initial ramdisk allows a minimal to boot first, creating a temporary filesystem in from which essential drivers can be loaded dynamically to access the real device. This modularity ensures compatibility across a wide range of systems without requiring recompilation for each variant. A primary rationale for the initial ramdisk is to enable late-stage loading, where the begins with a stripped-down containing only functionality, followed by the ramdisk's provision of an execution to insert additional modules on demand. This design avoids kernel bloat by excluding non-essential drivers from the primary image, maintaining a compact size—typically under 10 MB for a minimal —while still supporting extensive ecosystems through modular extensions. By reusing -time data in the ramdisk, systems can adapt to specific needs without embedding a "" bloated with unused code, promoting efficiency and maintainability. The initial ramdisk is indispensable for handling complex boot environments that demand specialized initialization before the real filesystem can be mounted. For instance, it supports encrypted filesystems by loading cryptographic modules (e.g., for LUKS) and prompting for decryption keys early in the boot sequence, as seen in distributions like and . Similarly, it facilitates protocols such as PXE, where initial network drivers are inserted to enable mounting a remote filesystem over the network. In storage-heavy setups, the ramdisk loads drivers for booting from USB devices or arrays, assembling the latter using tools like to make the accessible—scenarios common in enterprise and recovery contexts where base kernel drivers alone are insufficient.

Benefits and Limitations

The initial ramdisk (initrd) enhances boot flexibility by enabling the loading of hardware-specific modules during the early phase, allowing a single image to support diverse and heterogeneous configurations without requiring a build for each setup. This modularity facilitates easier updates, as changes to the core do not necessitate recompiling the entire set into the itself, though the initrd may still require regeneration to include compatible modules. Additionally, initrd supports the creation of live CDs and rescue modes by providing a temporary filesystem that can mount the real device, enabling system or on varied without permanent modifications. A key advantage is the reduction in kernel size; a base Linux kernel image is typically around 5-6 MB, while incorporating all necessary drivers statically could significantly inflate its size. This approach also provides fault isolation, as the initrd operates in a controlled environment—if it fails to prepare the real root filesystem, the kernel can invoke a fallback mechanism, such as a secondary initrd or boot, to maintain system stability without a full crash. Despite these benefits, initrd introduces limitations, including additional boot time overhead from loading and unpacking the ramdisk, which can add 0.1-0.5 seconds in typical configurations, though complex setups may extend this to several seconds. It also increases memory usage by allocating RAM for the temporary filesystem, generally consuming 10-20 MB but potentially up to 100 MB or more in environments with extensive modules. Furthermore, a corrupted initrd represents a single point of failure, as it prevents the transition to the real root filesystem and can render the system unbootable without manual intervention or a backup boot option. On security, unencrypted initrd images are vulnerable to tampering, such as modification of scripts or modules, which could compromise the system before the root switch; while initrd can load modules like to enable encryption of the root device (available since 2.6), protecting the initrd itself requires additional measures such as image signing or integration with mechanisms.

Implementation in Linux

Creation Process

The creation of an initial ramdisk image in distributions is primarily automated through specialized tools that assemble essential boot components, modules, and scripts into a compressed archive suitable for loading by the . These tools scan the system's configuration, hardware, and requirements to include only the necessary elements for mounting the filesystem, ensuring compatibility across diverse setups. In Red Hat-based distributions such as and older versions of (RHEL), the mkinitrd tool generates the initrd image by creating a temporary directory, populating it with modules, files, and an init script, then packaging it as a compressed archive. Modern RHEL and systems favor dracut, an event-driven generator that modularly builds the image using hooks to include drivers for storage s, filesystems, and networking, producing a more flexible and customizable initramfs by default. For and , the update-initramfs command from the initramfs-tools package handles generation, integrating with installation hooks to regenerate the image automatically upon updates, supporting both cpio.gz and lz4 compression formats. Manual creation offers fine-grained control for custom environments, beginning with a populated that includes an /init script as the , essential binaries like for device management and for module loading, and relevant drivers copied from /lib/modules. Device nodes such as /dev/console are created using mknod, and the contents are archived via commands like find . | [cpio](/page/Cpio) -H newc -o | [gzip](/page/Gzip) > /boot/initrd.img, resulting in a gzipped format. Configuration of the image involves specifying inclusions such as /etc/fstab for defining mount points and options, curated lists of kernel modules via tool-specific files (e.g., dracut's module configuration), and hooks for pre-mount tasks like filesystem checks with to repair inconsistencies before pivoting to the real . For multi-boot setups, tools generate version-specific images labeled by (e.g., initrd.img-6.1.0), which references using menu entry parameters to select the appropriate image during selection. Best practices emphasize minimalism to optimize boot time and memory usage, such as excluding unnecessary locales and non-essential binaries during generation to keep image sizes under 50 MB where possible, and tying versioning directly to the release for easy management and rollback. As of 2025, enterprise environments increasingly integrate container tools like Podman with dracut in frameworks such as bootc for , allowing Containerfiles to define and generate consistent initramfs-embedded boot images across deployments.

Boot Loading and Execution

During the boot process, boot loaders such as , LILO, or play a crucial role in loading the initial ramdisk (initrd or initramfs) alongside the . These boot loaders read the configuration files—such as /etc/grub.d for or loader entries in the for —and specify the path to the initrd image via kernel command-line parameters, for example, "initrd=/boot/initrd.img" in GRUB's menu configuration or LILO's /etc/lilo.conf. This passes the memory location and size of the loaded initrd to the kernel through the boot protocol, enabling a seamless without / reinitialization. Once the receives control from the boot loader, it follows a defined loading sequence for the initial ramdisk. The first decompresses the initrd image—typically a compressed archive for initramfs—directly into a RAM-based root filesystem (rootfs) at an address provided by the boot protocol. It then mounts this rootfs as the initial root filesystem and executes the /init (or binary) from it as process ID 1 (PID 1), marking the transition to early userspace. This execution occurs in a minimal where the has already set up basic virtual filesystems like /proc and /sys. The /init script initializes the boot environment by performing essential setup tasks. It mounts devtmpfs on /dev to provide a dynamic device node population mechanism and configures (or systemd-udevd in modern systems) to detect and manage devices through event processing. Additionally, the script invokes to load required modules for controllers, filesystems, and other , often based on predefined lists or detection via tools like lsmod or events. These steps ensure that the system can access the real filesystem, with logging captured via the buffer or an early console if enabled through boot parameters like "console=ttyS0". If the /init script fails to execute or terminates abnormally—due to missing dependencies or configuration errors—the kernel typically panics with a message like "No working init found" and may drop into an shell or if supported by the initramfs tools, allowing manual recovery. In contemporary setups as of 2025, support for kexec fast reboots extends this by allowing the preservation of initrd state across kernel handovers in high-availability clusters, where kexec loads a new and initrd directly from the running system to minimize without full hardware reinitialization.

Mount Preparations and Pivot

In the final phase of the initial ramdisk (initrd) lifecycle, the /init script—often implemented as /sbin/init—prepares to transition control to the real root filesystem. This script parses the kernel's root= boot parameter to identify the target device, such as /dev/sda1 for a local disk partition. It subsequently loads required kernel modules to access the device and filesystem, for instance, the ext4 module for an ext4-formatted root or btrfs for Btrfs. If the filesystem requires maintenance, the script invokes fsck to perform checks and repairs before proceeding, ensuring data integrity. The core of the transition involves mounting the real root at a temporary directory, typically /new-root or /sysroot, while the initrd remains the active root. The pivot_root(2) then remounts this new filesystem as the process root, relocating the initrd mount to a subdirectory like /initrd within it; this syscall requires CAP_SYS_ADMIN privileges and operates within the caller's . Alternatively, many distributions employ the switch_root utility, which chroots to the new root, unmounts the old initrd, and executes the handover, providing a higher-level abstraction over pivot_root. Post-pivot, cleanup ensures a clean handover: the initrd filesystem is unmounted (e.g., via umount /initrd), lingering processes in its namespace are terminated (often by killing PID 1 descendants), and the RAM disk memory is freed using commands like blockdev --flushbufs /dev/ram0. The script then executes the real root's init process, such as systemd or a SysV-compatible /sbin/init, passing control for full system initialization. Handling advanced storage configurations adds complexity to these preparations. For Logical Volume Manager (LVM) setups, the script includes LVM2 tools to scan and activate volume groups with vgchange -ay, making logical volumes available as block devices. Similarly, for RAID arrays, mdadm assembles devices via autodetection or explicit configuration. Encrypted roots using LUKS require cryptsetup luksOpen to decrypt the container, often prompting for a passphrase and mapping it to /dev/mapper/ for subsequent mounting; this integrates via /etc/crypttab entries regenerated into the initrd. In network booting scenarios, such as NFS roots, the script uses ipconfig for DHCP-based network configuration before mounting the remote filesystem with parameters like nfsroot=server:/path. The pivot_root mechanism originated in Linux kernel 2.3.41 (circa 1999), replacing earlier chroot-based approaches for more reliable root switching. Refinements in later kernels, including enhanced mount namespace isolation starting from 2.6.x and further optimizations in the 5.x series, have bolstered security and compatibility during the pivot, preventing interference from the transient initrd environment.

Variations and Extensions

Initramfs

Initramfs, or initial RAM filesystem, is a archive format that serves as a complete, self-contained filesystem unpacked directly into by the during boot, providing an early userspace environment before the real filesystem is mounted. Introduced in version 2.6.13 in 2005, it succeeds the older initrd mechanism by eliminating the need for an external block device or filesystem mount, allowing the to extract and populate a tmpfs-based directly. Compared to initrd, initramfs offers faster boot times through direct in-memory unpacking without the overhead of mounting a separate disk filesystem, resulting in reduced memory usage and a smaller overall footprint since it leverages the kernel's and dynamic allocation via rather than a fixed-size block device. It also integrates seamlessly with builds, such as through the gen_initramfs.sh , which generates the archive from a and embeds it into the compressed (vmlinuz) or produces it as a standalone file for loading. The creation of an initramfs typically involves populating a minimal directory tree with essential binaries, libraries, and scripts, often using to provide a compact set of Unix utilities for the /init executable, which the runs as the first process ( 1) to handle tasks like device detection and root mounting. This /init script, usually a shell-based program, ensures a lightweight setup by avoiding full-featured tools, focusing only on necessities. By the 2010s, initramfs had become the default in major distributions, including since version 5 in 2007 and systems relying on tools like for resource-constrained environments. It is also employed in recovery modes to load temporary filesystems for maintenance tasks and in various Linux projects for rapid initialization. Initramfs supports user-space tools such as dracut for dynamic generation, which analyzes hardware and parameters to include only required modules and scripts, optimizing for specific scenarios. Additionally, it enables early userspace (EUS) functionality critical for features like kdump, where a minimal environment loads the crash and captures dumps during early phases to diagnose panics. As of 6.10 and later releases in 2024-2025, ongoing integration for drivers enhances safety in components that may be loaded via initramfs, such as networking and storage modules.

Other Specialized Uses

Initial ramdisks are employed in rescue and recovery scenarios to facilitate system repairs without relying on a fully booted operating system. Custom initial ramdisk images can include essential tools for tasks such as chrooting into the real root filesystem to reset passwords or repair filesystems, often loaded via bootloaders in emergency modes. For instance, in rescue environments, the initial ramdisk mounts necessary drivers and provides a minimal shell for executing commands like fsck on damaged partitions or passwd for root access restoration. In live systems, initial ramdisks enable booting from like or USB drives without persistent , as seen in distributions such as Live. The ramdisk sets up an overlay filesystem in , allowing temporary modifications to the read-only base image while ensuring the system reverts to its original state on . This approach uses the initial ramdisk to load modules for media detection and to pivot to a union-mounted , supporting or environments. Kernel developers customize initial ramdisks for debugging purposes, incorporating tools like gdb or strace to analyze early boot failures or crashes before the full root filesystem is available. Integration with kdump further enhances this by using a dedicated capture kernel with its own initial ramdisk to preserve memory dumps for post-mortem analysis via tools like the Crash utility or GDB. This setup allows examination of kernel panics without overwriting the crashed system's memory. In embedded and applications, minimal initial ramdisks are tailored for systems, including only essential drivers to accelerate boot times on resource-constrained hardware. For example, in automotive environments, the ramdisk loads specific modules like drivers early to enable communication with vehicle networks before switching to the main .

Cross-Platform Perspectives

Similarities in Other Unix-like Systems

In other systems derived from the Berkeley Software Distribution (BSD), initial ramdisk mechanisms share core principles with Linux's initrd, serving as temporary filesystems loaded into memory during to facilitate early hardware initialization and transition to the permanent filesystem, particularly for , , and use cases. FreeBSD lacks a standard initrd equivalent in its process, where the directly mounts the filesystem after loading by the . However, it supports memory disk (md) devices for creating RAM-based environments, and tools like mfsBSD can generate compressed tar-based RAM disk images (e.g., mfsroot.gz) loaded from or sources to provide a temporary for setup or before transitioning to the real filesystem. This approach, used since the 1990s for and systems, allows execution of essential scripts and loading of modules (via kldload) prior to full system startup. NetBSD and OpenBSD provide analogous support through memory disk drivers and boot blocks. In , the md(4) memory disk driver allocates kernel or user memory as a virtual disk, enabling early loading of drivers—such as those for pools—during via ramdisk kernels configured in boot blocks. 's bsd.rd serves as an initrd-like ramdisk kernel, embedding an rd(4) memory disk image with a minimal live environment for installation or recovery, which mounts necessary drivers before switching roots. (successor to ) uses a boot archive—a compressed archive loaded into memory—to provide modular access to drivers and files needed for mounting the root filesystem, similar to initrd for diverse hardware support. These mechanisms ensure modular insertion of drivers at time, akin to Linux's approach, followed by a to the real root filesystem using system-specific initialization tools. Shared traits across these BSD variants and include the emphasis on modular loading (e.g., via kldload in or equivalent loaders in //) for hardware-specific drivers, and a pivot-root operation that unmounts the temporary ramdisk after mounting the persistent root. This process integrates with BSD-style scripts in /etc/rc.d for sequenced startup, providing a lightweight alternative to full userland environments while maintaining Unix heritage. Historically, post-2000 developments in these systems converged on compressed filesystem images to address increasing hardware diversity, paralleling 2.4's initrd enhancements for broader device support during . As of November 2025, 14.3 (released June 2025) and later quarterly updates provide robust NVMe support via the nvme(4) driver for various controllers, supporting modern storage in and standard environments on diverse .

Equivalents in Non-Unix Operating Systems

In Windows, the (WinPE) serves as a lightweight, RAM-based operating system environment primarily used for deploying, installing, and troubleshooting the full Windows OS. WinPE is distributed as a Windows Imaging Format (WIM) file, which the Boot Manager (Bootmgr) loads into during the to create a temporary, self-contained system for tasks like setup or recovery, functioning similarly to a temporary root filesystem but tailored specifically to Windows (PE) binaries and tools. In macOS, based on the , and installation utilize a minimal RAM disk mounted by the to load essential components before transitioning to the full filesystem. During startup in mode, after Secure verification, the mounts the BaseSystem.dmg as a RAM disk and executes the .efi loader, which handles the loading of extensions (kexts) for drivers and performs APFS volume mounting, with integration for disk encryption decryption occurring prior to full system access. The standard , however, loads directly from the boot volume without this RAM disk. These non-Unix equivalents differ from Linux's initial ramdisk in and ; Windows and macOS exhibit tighter kernel-user space due to their designs, where boot environments like WinPE rely on integrated tools such as the Deployment Image Servicing and Management (DISM) utility for image creation and customization, while macOS depends heavily on firmware-level handling without the same degree of user-scriptable separation seen in initrd. Other examples include (formerly AS/400), where the Initial Program Load (IPL) process uses memory overlays to load core system components into RAM for the environment before accessing permanent storage. In operating systems like , the Image File System (IFS) provides a bootable filesystem loaded entirely into RAM by the IPL mechanism, enabling rapid startup and execution of the OS image without initial disk dependency. As of November 2025, version 25H2 (released September 2025) includes cumulative security updates enhancing overall boot security, including Secure Boot compatibility, though specific driver validation improvements are integrated across updates from 24H2 onward.

References

  1. [1]
    Using the initial RAM disk (initrd) - The Linux Kernel documentation
    initrd provides the capability to load a RAM disk by the boot loader. This RAM disk can then be mounted as the root file system and programs can be run from it.
  2. [2]
    Linux initial RAM disk (initrd) overview - IBM Developer
    Jul 31, 2006 · The initial RAM disk (initrd) is an initial root file system that is mounted prior to when the real root file system is available.
  3. [3]
    ramfs-rootfs-initramfs.txt - The Linux Kernel Archives
    - When switching another root device, initrd would pivot_root and then umount the ramdisk. ... If the kernel has initrd support enabled, an external cpio.<|control11|><|separator|>
  4. [4]
    30.5. Verifying the Initial RAM Disk Image - Red Hat Documentation
    The job of the initial RAM disk image is to preload the block device modules, such as for IDE, SCSI or RAID, so that the root file system, on which those ...
  5. [5]
    initrd(4): boot loader initialized RAM disk - Linux man page
    /dev/initrd is a read-only block device. This device is a RAM disk that is initialized (eg, loaded) by the boot loader before the kernel is started.
  6. [6]
    Using the initial RAM disk (initrd) — The Linux Kernel documentation
    initrd provides the capability to load a RAM disk by the boot loader. This RAM disk can then be mounted as the root file system and programs can be run from it.
  7. [7]
    initrd(4) - Linux manual page - man7.org
    In the first boot-up phase, the kernel starts up and mounts an initial root filesystem from the contents of /dev/initrd (e.g., RAM disk initialized by the boot ...Missing: standardization | Show results with:standardization
  8. [8]
    Initrd - Debian Wiki
    Aug 10, 2025 · The kernel can use an initial ram disk (initrd) to start its boot process. The initrd contains filsystem and device modules needed to mount the ...<|control11|><|separator|>
  9. [9]
    [PDF] Booting Linux: The History and the Future - Werner Almesberger
    Jun 25, 2000 · The main limitation of an initial RA M disk is that there has to be enough memory for the kernel, the initrd file as loaded by the boot loader, ...
  10. [10]
    62 Patches Posted For Stripping Classic Initrd Support ... - Phoronix
    Sep 13, 2025 · "This patchset removes classic initrd (initial RAM disk) support, which was deprecated in 2020. Initramfs still stays, and RAM disk itself (brd) ...Missing: favor | Show results with:favor
  11. [11]
    EncryptedFilesystemHowto - Community Help Wiki
    Encryption protects sensitive data by locking it in a secure vault. Linux uses DeviceMapper to create a virtual block device for encryption, using algorithms ...
  12. [12]
    RHEA-2009:0218 - Product Enhancement Advisory - Red Hat ...
    initial initrd ramdisks need to support the decryption of encrypted root and swap devices, as well as the ability to obtain pass phrases via keyboard input ...
  13. [13]
    Chapter 7. Preparing a PXE installation source | 9
    Preparing a PXE installation source. You must configure TFTP and DHCP on a PXE server to enable PXE boot and network installation. 7.1. Network install overview.
  14. [14]
    initrd Cookbook for root mounted RAID
    For the raid boot/rescue system, I chose to create a minimum ramdisk system using the Slackware 'setup' script followed by installing the 'linuxthreads' package ...
  15. [15]
    Why don't we include File System drivers in the kernel itself instead ...
    Dec 26, 2016 · 2. Why is the size of the kernel image vmlinuz(approx 5-6MB) less than size of initrd file(approx 18MB). The kernel contains the ...How does Linux load the 'initrd' image? - Unix & Linux Stack ExchangeWhy do I need initramfs? - linux kernel - Unix & Linux Stack ExchangeMore results from unix.stackexchange.com
  16. [16]
    Booting the Linux Kernel Without an initrd/initramfs - GitHub Pages
    Before we even start, booting without an initrd/initramfs might speed up your boot time by 100ms to 500ms. However, on some setups it may slow down your boot ...
  17. [17]
    Corruption of files used during init(rd) prevents boot #61755 - GitHub
    May 20, 2019 · I'm running NixOS with only one partition formatted in btrfs on a laptop. At some point the disk became full and the laptop ran out of battery.
  18. [18]
    Authenticated Boot and Disk Encryption on Linux
    Sep 23, 2021 · The kernel unpacks the initrd image, and invokes what is contained in it. Typically, the initrd then asks the user for a password for the ...
  19. [19]
    Which Linux Distribution Boots The Fastest? An 11-Way ... - Phoronix
    Nov 25, 2017 · Here is a look at how the out-of-the-box Linux boot performance compares for 11 different distributions.
  20. [20]
    How to rebuild the initial ramdisk image in Red Hat Enterprise Linux
    Jun 12, 2025 · To rebuild the initial ramdisk image in Red Hat Enterprise Linux, you can remake or recreate the initrd or initramfs image.
  21. [21]
    The initial RAM disk (initrd) - Fedora Docs
    This image uses dracut to build an initial RAM disk or "initrd" for short. It is important to understand that the initrd is generated at build time.
  22. [22]
    update-initramfs(8) - Debian Manpages
    Aug 12, 2025 · The update-initramfs script manages your initramfs images on your local box. It keeps track of the existing initramfs archives in /boot.Missing: documentation | Show results with:documentation
  23. [23]
    dracut.cmdline(7) - Linux manual page - man7.org
    skipfsck skip fsck for rootfs and /usr. If you're mounting /usr read-only and the init system performs fsck before remount, you might want to use this ...<|control11|><|separator|>
  24. [24]
    Getting Started with Bootable Containers - Fedora Docs
    Bootable containers are a modern opinionated way of deploying, configuring and managing immutable image based Linux systems using those practices and tooling.Missing: initramfs | Show results with:initramfs
  25. [25]
    GNU GRUB Manual 2.12
    Fully support the Multiboot feature of loading multiple modules. Load a configuration file. Support a human-readable text configuration file with preset boot ...<|control11|><|separator|>
  26. [26]
    systemd-boot - ArchWiki - Arch Linux
    Oct 3, 2025 · An easy-to-configure UEFI boot manager. It provides a textual menu to select the boot entry and an editor for the kernel command line.
  27. [27]
    Ramfs, rootfs and initramfs - The Linux Kernel documentation
    Oct 17, 2005 · The kernel's build-time cpio creation code is entirely self-contained, and the kernel's boot-time extractor is also (obviously) self-contained.
  28. [28]
    Kexec handover and the live update orchestrator - LWN.net
    Aug 18, 2025 · Preserving a workload across a reboot requires somehow saving all of its state, from user-space memory to device-level information within the ...
  29. [29]
    pivot_root(2) - Linux manual page - man7.org
    pivot_root() changes the root mount in the mount namespace of the calling process. More precisely, it moves the root mount to the directory put_old and makes ...
  30. [30]
    Debian Cryptsetup Initramfs integration
    Debian Cryptsetup Initramfs integration. 1. Introduction; 2. A fresh installation; 3. Requirements; 4. Setup (regular dm-crypt); 5. Setup (using LUKS); 6.
  31. [31]
    How to use initramfs - Rob Landley
    Last time, we covered why initramfs was created: because it saves memory, gives the user more control over the boot process, and simplifies the kernel's ...<|separator|>
  32. [32]
    Custom Embedded Linux Distributions
    Feb 1, 2018 · The initramfs filesystem can be built using the Linux kernel itself, but more commonly, it is created using a project called BusyBox. BusyBox ...Missing: adoption | Show results with:adoption
  33. [33]
    What is early kdump support and how do I configure it?
    May 23, 2025 · Two dracut modules are added in the kexec-tools package in order to load the crash kernel and its initramfs as early as possible.Missing: dynamic userspace
  34. [34]
    Using Early Kdump - Oracle Help Center
    To address that problem, you can enable early Kdump by adding a dracut module so that the crash kernel and initramfs are loaded as early as possible. Note.Missing: dynamic generation userspace
  35. [35]
    How Rust's Debut in the Linux Kernel is Shoring Up System Stability
    Jul 15, 2025 · Memory safety vulnerabilities drop out as code gets written in Rust, tackling roughly two-thirds of past CVEs. Kernel maintainers are noticeably ...
  36. [36]
    How to rebuild the initial ramdisk in linux rescue mode?
    Jun 3, 2025 · How can i rebuild the initial ramdisk (initrd/initramfs) file? Server will not boot, potentially due to an issue with initrd file; Server ...
  37. [37]
  38. [38]
    Documentation for Kdump - The kexec-based Crash Dumping Solution
    Kdump uses kexec to quickly boot to a dump-capture kernel when a system kernel memory dump is needed, preserving the memory image.Missing: integration | Show results with:integration<|control11|><|separator|>
  39. [39]
    [PDF] Embedded Linux system development training - Bootlin
    Feb 27, 2014 · These slides are the training materials for Bootlin's Embedded. Linux system development training course.<|control11|><|separator|>
  40. [40]
    LVFS/Fwupd Talked Up For Linux Servers & Being What ... - Phoronix
    May 6, 2025 · LVFS/Fwupd Talked Up For Linux Servers & Being What Customers Want. Written by Michael Larabel in LVFS on 6 May 2025 at 06:25 AM EDT. 20 ...Missing: accelerated boot diagnostics initrd enterprise edge checks
  41. [41]
    Automated FreeBSD Install - Eric Radman
    Jun 16, 2025 · By using TFTP to pivot to a minroot, then switching to HTTP the entire process can be audited and tailored for individual hosts. This ...
  42. [42]
  43. [43]
    Chapter 15. The FreeBSD Booting Process
    Aug 29, 2025 · It demonstrates how to customize the FreeBSD boot process, including everything that happens until the FreeBSD kernel has started, probed for devices, and ...Synopsis · FreeBSD Boot Process · Device HintsMissing: miniroot | Show results with:miniroot
  44. [44]
    md(4) - NetBSD Manual Pages
    The md driver enables use of system or user memory as a disk. Memory for the disk must be allocated within the kernel or with mdconfig(8) before the md device ...Missing: early boot loading
  45. [45]
    zfs - NetBSD Wiki
    NetBSD-9 has ZFS that is considered to be an acceptable alternative to FFS, with some caveats. There have been fixes since 9.0_RELEASE. As always, people ...
  46. [46]
    OpenBSD FAQ: Installation Guide
    The OpenBSD installer uses a special ramdisk kernel ( bsd.rd ) that spawns a live environment running entirely in memory.Missing: initrd | Show results with:initrd
  47. [47]
    Practical rc.d scripting in BSD | FreeBSD Documentation Portal
    In this article, we consider a few typical cases of increasing complexity, show rc.d features suited for each case, and discuss how they work.Missing: driver pivot root
  48. [48]
    [PDF] a brief history of the BSD Fast File System | USENIX
    May 27, 2007 · The first work on the UNIX file system at Berke- ley attempted to improve both the reliability and the throughput of the file system. The ...
  49. [49]
    FreeBSD 14.0-RELEASE Release Notes
    Aug 15, 2025 · This document contains the release notes for FreeBSD 14.0-RELEASE. It describes recently added, changed, or deleted features of FreeBSD.Missing: initramfs dracut
  50. [50]
    FreeBSD 14.3 Hardware Notes
    Oct 2, 2025 · This document contains the hardware compatibility notes for FreeBSD 14.3. It lists the hardware platforms supported by FreeBSD, as well as the various types of ...
  51. [51]
    Windows PE (WinPE) - Microsoft Learn
    Mar 19, 2023 · Windows PE (WinPE) is a small OS used to install, deploy, and repair Windows. It is not for general use, and not for hardware validation.
  52. [52]
    WinPE: Mount and Customize - Microsoft Learn
    Jul 29, 2025 · WinPE ships as a .wim file. You can mounting and customize a WinPE image following the same process as any other Windows image.
  53. [53]
    Configuration Manager - Boot image - Microsoft Learn
    Oct 4, 2022 · A boot image in Configuration Manager is a Windows PE (WinPE) image that's used during an OS deployment. Boot images are used to start a computer in WinPE.Missing: Preinstallation | Show results with:Preinstallation
  54. [54]
    [PDF] Apple Platform Security
    If the verification is successfully completed, the UEFI firmware mounts the BaseSystem. dmg as a RAM disk and launches the boot.efi file that's in it.
  55. [55]
    Comparing the Linux kernel vs. the Windows kernel - TechTarget
    Mar 3, 2025 · When admins compare Windows and Linux, they should consider architecture details such as kernels before deciding on a specific OS.
  56. [56]
    [PDF] AS/400 Disk Storage Topics and Tools - IBM Redbooks
    Sep 24, 1999 · describe the processes the AS/400 system performs during an initial program load (IPL). These processes are described beginning with the ...
  57. [57]
    Image Filesystem (IFS) - QNX
    When the IPL has completed its work, it copies a bootable OS image into RAM and jumps to it to continue execution.
  58. [58]
    Windows message center | Microsoft Learn
    Sep 29, 2025 · Highlights for the Windows 11, version 25H2 update: This security update includes improvements that were a part of update KB5065789 (released ...Missing: prediction | Show results with:prediction
  59. [59]
    [PDF] Windows 11 Security Book: Powerful security by design - Microsoft
    For example, the Secure Boot process provides a secure startup environment that allows devices to boot only with software trusted by the original equipment ...Missing: 2025 | Show results with:2025<|separator|>