[TUHS] Paper discussing Unix boot process?
Erik E. Fair
fair-tuhs at netbsd.org
Thu Apr 11 03:20:14 AEST 2019
Any such description is either going to be very hardware/system specific, or vague to the point of uselessness. The experience of the NetBSD community, which prides itself on extreme portability and working around broken or ... let's say "incomplete" vendor firmware, is that such things are highly system-specific.
The vague description is easy:
some booter or firmware loads the kernel into RAM,
the kernel initializes the MMU and the rest of the processor(s),
devices are somehow probed or listed and device drivers called to
initialize minimally necessary I/O devices (console, data storage so
you can mount / (root)),
a process is created, and /sbin/init is exec'd.
Details of firmware or booter provided environment and parameters to the kernel vary a lot; thus that famously small-ish percentage of any Unix kernel that is written in assembler for the processor involved, rather than C.
More information about the TUHS