q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Shirley Chisholm — Unbought and Unbossed

In 1968 Shirley Chisholm became the first Black woman elected to the United States Congress. In 1972 she launched a campaign for the Democratic presidential nomination, breaking another political barrier.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

Initial ramdisk

In Linux systems, initrd (initial ramdisk) is a scheme for loading a temporary root file system into memory, to be used as part of the Linux startup process. initrd and initramfs (from initial RAM file system) refer to two different methods of achieving this. Both are commonly used to make preparations before the real root file system can be mounted.

Rationale

[edit]

Many Linux distributions ship a single, generic Linux kernel image – one which the distribution's developers create specifically to boot on a wide variety of hardware.[citation needed] The device drivers for this generic kernel image are included as loadable kernel modules because statically compiling many drivers into one kernel causes the kernel image to be much larger, perhaps too large to boot on computers with limited memory, or in some cases to cause boot-time crashes or other problems due to probing for nonexistent or conflicting hardware. This static-compiled kernel approach also leaves modules in kernel memory which are no longer used or needed, which in turn raises the problem of detecting and loading the modules necessary to mount the root file system at boot time, or for that matter, deducing where or what the root file system is.[1]

To further complicate matters, the root file system may be on a software RAID volume, LVM, NFS (on diskless workstations), or on an encrypted partition. All of these require special preparations to mount.[2]

Another complication is kernel support for hibernation, which suspends the computer to disk by dumping an image of the entire contents of memory to a swap partition or a regular file, then powering off. On next boot, this image has to be made accessible before it can be loaded back into memory.

To avoid having to hardcode handling for so many special cases into the kernel, an initial boot stage with a temporary root file-system—now dubbed early user space—is used. This root file-system can contain user-space helpers which perform the hardware detection, module loading and device discovery necessary to mount the actual file-system.[2]

Implementation

[edit]
mkinitcpio, a program to generate initramfs on Arch Linux and related distributions
dracut, another program to generate initramfs on some Linux distributions

An image of this initial root file system (along with the kernel image) must be stored somewhere accessible by the Linux bootloader or the boot firmware of the computer. This can be the root file system itself, a boot image on an optical disc, a small partition on a local disk (a boot partition, usually using ext2 or FAT file systems), or a TFTP server (on systems that can boot from Ethernet).

The bootloader will load the kernel and initial root file system image into memory and then start the kernel, passing in the memory address of the image. At the end of its boot sequence, the kernel tries to determine the format of the image from its first few blocks of data, which can lead either to the initrd or initramfs scheme.

In the initrd scheme, the image may be a file system image (optionally compressed), which is made available in a special block device (/dev/ram) that is then mounted as the initial root file system.[3] The driver for that file system must be compiled statically into the kernel. Many distributions originally used compressed ext2 file system images, while the others (including Debian 3.1) used cramfs in order to boot on memory-limited systems, since the cramfs image can be mounted in-place without requiring extra space for decompression. Once the initial root file system is up, the kernel executes /linuxrc as its first process;[4] when it exits, the kernel assumes that the real root file system has been mounted and executes /sbin/init to begin the normal user-space boot process.[3]

In the initramfs scheme (available since the Linux kernel 2.6.13), the image may be a cpio archive (optionally compressed) or a concatenation of such archives. The archive is unpacked by the kernel into a special instance of a tmpfs that becomes the initial root file system. This scheme has the advantage of not requiring an intermediate file system or block drivers to be compiled into the kernel.[5] Some systems use the dracut package to create an initramfs image.[6] In the initramfs scheme, the kernel executes /init as its first process that is not expected to exit.[5] For some applications, initramfs can use the casper utility to create a writable environment using unionfs to overlay a persistence layer over a read-only root filesystem image. For example, overlay data can be stored on a USB flash drive, while a compressed SquashFS read-only image stored on a live CD acts as a root filesystem.[7][8]

Depending on which algorithms were compiled statically into it, the kernel can unpack initrd/initramfs images compressed with gzip, bzip2, LZMA, XZ, LZO, LZ4,[9] and zstd.

Mount preparations

[edit]

Some Linux distributions such as Debian will generate a customized initrd image which contains only whatever is necessary to boot some particular computer, such as ATA, SCSI and filesystem kernel modules. These typically embed the location and type of the root file system.

Other Linux distributions (such as Fedora and Ubuntu) generate a more generic initrd image. These start only with the device name of the root file system (or its UUID) and must discover everything else at boot time. In this case, the software must perform a complex cascade of tasks to get the root file system mounted:

  • Any hardware drivers that the boot process depends on must be loaded. A common arrangement is to pack kernel modules for common storage devices onto the initrd and then invoke a hotplug agent to pull in modules matching the computer's detected hardware.
  • On systems which display a boot splash screen, the video hardware must be initialized and a user-space helper started to paint animations onto the display in lockstep with the boot process.
  • If the root file system is on NFS, it must then bring up the primary network interface, invoke a DHCP client, with which it can obtain a DHCP lease, extract the name of the NFS share and the address of the NFS server from the lease, and mount the NFS share.
  • If the root file system appears to be on a software RAID device, there is no way of knowing which devices the RAID volume spans; the standard MD utilities must be invoked to scan all available block devices and bring the required ones online.
  • If the root file system appears to be on a logical volume, the LVM utilities must be invoked to scan for and activate the volume group containing it.
  • If the root file system is on an encrypted block device, the software needs to invoke a helper script to prompt the user to type in a passphrase and/or insert a hardware token (such as a smart card or a USB security dongle), and then create a decryption target with the device mapper.

Some distributions use an event-driven hotplug agent such as udev, which invokes helper programs as hardware devices, disk partitions and storage volumes matching certain rules come online. This allows discovery to run in parallel, and to progressively cascade into arbitrary nestings of LVM, RAID or encryption to get at the root file system.

When the root file system finally becomes visible, any maintenance tasks that cannot run on a mounted root file system are done, the root file system is mounted read-only, and any processes that must continue running (such as the splash screen helper and its command FIFO) are hoisted into the newly mounted root file system.

The final root file system cannot simply be mounted over /, since that would make the scripts and tools on the initial root file system inaccessible for any final cleanup tasks:

  • On an initrd, the new root is mounted at a temporary mount point and rotated into place with pivot_root(8) (which was introduced specifically for this purpose). This leaves the initial root file system at a mount point (such as /initrd) where normal boot scripts can later unmount it to free up memory held by the initrd.
  • On an initramfs, the initial root file system cannot be rotated away.[10] Instead, it is simply emptied and the final root file system mounted over the top.

Most initial root file systems implement /linuxrc or /init as a shell script and thus include a minimal shell (usually /bin/ash) along with some essential user-space utilities (usually the BusyBox toolkit). To further save space, the shell, utilities and their supporting libraries are typically compiled with space optimizations enabled (such as with gcc's "-Os" flag) and linked against klibc, a minimal version of the C library written specifically for this purpose.[11]

Other uses

[edit]

Installers for Linux distributions typically run entirely from an initramfs, as they must be able to host the installer interface and supporting tools before any persistent storage has been set up.[citation needed]

Tiny Core Linux[12] and Puppy Linux[13][failed verification] can run entirely from initrd.

Similarities in other operating systems

[edit]

Since Windows Vista,[14] Windows can boot from a WIM disk image file, for which the file format is published;[15] it is similar to the ZIP format except that it supports hard links, deduplicated chunks, and uses chunk-by-chunk compression. In this case, the whole WIM is initially loaded into RAM, followed by the kernel initialisation. Next, the loaded WIM is available as a SystemRoot with an assigned drive letter. The Windows installer uses this so it boots from BOOT.WIM, and then uses INSTALL.WIM as the collection of the Windows files to be installed.

Also, Windows Preinstallation Environment (Windows PE) uses the same, being a base for separate-boot versions of some antivirus and backup/disaster recovery software.

It is also possible to install Windows so that it will always boot from a WIM or VHD file placed on a physical drive. However, this is rarely used since the Windows boot loader is capable of loading the .sys files for boot-time kernel modules itself, which is the task that requires initrd in Linux.

See also

[edit]

References

[edit]
  1. ^ Almesberger, Werner (2000), "Booting linux: the history and the future", Proceedings of the Ottawa Linux Symposium, archived from the original on 24 July 2008
  2. ^ a b Landley, Rob (15 March 2005), Introducing initramfs, a new model for initial RAM disks
  3. ^ a b Almesberger, Werner; Lermen, Hans (2000). "Using the initial RAM disk (initrd)". Archived from the original on 2 April 2015. Retrieved 14 March 2015.
  4. ^ "linux/do_mounts_initrd.c at 4f671fe2f9523a1ea206f63fe60a7c7b3a56d5c7 · torvalds/linux · GitHub". GitHub.
  5. ^ a b Landley, Rob (17 October 2005). "ramfs, rootfs, and initramfs docs, take 2". Linux kernel source tree.
  6. ^ Petersen, Richard Leland (2010). Fedora 13: Administration, Networking, Security. Alameda, California: Surfing Turtle Press. p. 76. ISBN 978-1-936280-02-5. Dracut uses kernel parameters listed on the GRUB kernel command line to configure the initramfs RAM file system on the fly, providing more flexibiltity and furthercutting down on RAM file system code.
  7. ^ "Ubuntu Manpage: casper - a hook for initramfs-tools to boot live systems". manpages.ubuntu.com. Archived from the original on 4 August 2017. Retrieved 7 August 2017.
  8. ^ Shawn Powers. "Casper, the Friendly (and Persistent) Ghost". Linux Journal. 2012.
  9. ^ Kyungsik Lee (30 May 2013). "LZ4 Compression and Improving Boot Time" (PDF). events.linuxfoundation.org. p. 18. Retrieved 29 May 2015.
  10. ^ Fish, Richard (6 July 2005). "pivot_root from initramfs causes circular reference in mount tree". Linux Kernel Bug Tracker. Retrieved 28 February 2009.
  11. ^ Garzik, Jeff (2 November 2002). "initramfs merge, part 1 of N". Linux kernel mailing list.
  12. ^ "Tiny Core Linux - Concepts". ibiblio.org.
  13. ^ Barry Kauler. "Puppy Linux Release Announcement". ibiblio.org.
  14. ^ "Windows Imaging File Format (WIM)". microsoft.com. Microsoft.
  15. ^ "Download Windows Imaging File Format (WIM) from Official Microsoft Download Center". Microsoft.com. Microsoft.
[edit]

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

No preview image
Wikipedia

Initial ramdisk

In Linux systems, initrd (initial ramdisk) is a scheme for loading a temporary root file system into memory, to be used as part of the Linux startup process. initrd and initramfs (from initial RAM file system) refer to two different methods of achieving this. Both are commonly used to make preparations before the real root file system can be mounted.

MORE →
Wikipedia

Toshiba T1200

The Toshiba T1200 is a discontinued laptop that was manufactured by the Toshiba Corporation, first made in 1987. It is an upgraded version of the Toshiba T1100 Plus. It is equipped with an Intel 80C86 processor at 9.54 MHz, 1 MB RAM of which 384 KB can be used for LIM EMS or as a RAMdisk, CGA graphics card, one 720 KB 3.5" floppy drive and one 20 MB hard drive (Some models had two floppy drives and no hard drive controller card.) MS-DOS 3.30 is included with the laptop. It is the first laptop with a swappable battery pack. Its original price was US$6,499 (equivalent to $18,400 in 2025). The T1200's hard drive has an unusual 26-pin interface made by JVC, incompatible with ST506/412 or ATA interfaces. Floppy drives are connected using similar 26-pin connectors. The computer has many unique functions, such as Hard RAM - a small part of RAM is battery-backed and can be used as a non-volatile hard drive. Another function allows to suspend the system or power control the hard drive (which is still dependent on the hard disk's on/off switch). The Toshiba T1200xe is an upgraded model of this laptop, which contained a 12 MHz 80C286 processor and a 20 or 40 MB hard disk drive. It also has 1 MB of RAM expandable to 5 MB. The floppy drive was also upgraded from 720 KB to 1.44 MB.

MORE →
Wikipedia

Plymouth (software)

Plymouth is an application which provides a graphical boot experience for Linux. Plymouth supports animations using Direct Rendering Manager (DRM) and the KMS driver. Plymouth is bundled with an initial ramdisk which allows it to run before the file system is mounted. Some sources claim that Plymouth is named after Plymouth Rock, symbolizing the program's role as the first thing a user sees, but this has not been confirmed in any official capacity.

MORE →
Wikipedia

List of Linux distributions that run from RAM

This is a list of Linux distributions that can be run entirely from a computer's random-access memory (RAM), meaning that once the operating system (OS) has been loaded to the RAM, the media it was loaded from can be removed, and the distribution will run the personal computer (PC) from RAM only. This ability allows them to be very fast, since reading and writing data from and to RAM is far faster than on a hard disk drive or solid-state drive. Many of these operating systems will load from a removable media such as a Live CD or a Live USB stick. A "frugal" install can also often be completed, allowing loading from a hard disk drive instead. This feature is implemented in live initial ramdisks (initramfs) and allows a user to run a live distro that does not run from RAM by default by adding toram to the kernel boot parameters. Further, some distributions can be configured to run from RAM, such as Ubuntu, using the toram option included in the initial ramdisk Casper utility scripts.

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

What prosperous Tulsa district became widely known as “Black Wall Street”?

The Greenwood District.