[TUHS] Pre-init initialization

Andrew Warkentin andreww591 at gmail.com
Wed Aug 7 11:22:08 AEST 2019


On 8/6/19, Grant Taylor via TUHS <tuhs at minnie.tuhs.org> wrote:
> Do, or did, anything other than Linux use a concept of an initramfs /
> initrd to create a pre-(main)-init initialization environment to prepare
> the system to execute the (main)-init process?
>

Off the top of my head I'm not aware of any other conventional Unix
besides Linux that uses a memory filesystem for early userspace.
Solaris does use a memory filesystem during boot, but it normally
contains only kernel modules and is only read by the kernel module
linker, and IIRC AIX uses a weird vaguely zImage-like format for its
boot image but I can't remember if the image contains just the kernel
and some modules or if there are userspace programs in it.

As far as unconventional Unix-like OSes go, QNX Neutrino (but not QNX
2 and 4) and Plan 9 both use in-memory filesystems during early
userspace boot, although both only load a single image from disk
rather than a separate kernel and ramdisk. In QNX, the image is a
page-oriented XIP filesystem that contains the kernel and early
userspace as regular files, and in Plan 9 the image is the kernel
executable, which contains a minimal embedded filesystem with a few
user-mode programs.

UX/RT, the OS that I'm writing, will also boot from a memory
filesystem containing the kernel and early userspace in a similar
manner to QNX (it's loosely based on QNX and Plan 9 but is not a clone
of either), although currently it isn't running any real userspace
programs.


More information about the TUHS mailing list