On 8/6/19, Grant Taylor via TUHS <tuhs(a)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.