[TUHS] Paper discussing Unix boot process?

Erik E. Fair fair-tuhs at netbsd.org
Thu Apr 11 03:20:14 AEST 2019


Pat,
	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.

See also

https://www.quora.com/Are-bootloaders-like-GRUB-and-LILO-hardware-specific/answer/Erik-Fair

https://www.quora.com/What-is-a-concise-explanation-for-the-UNIX-bootstrap-process/answer/Erik-Fair

	Erik


More information about the TUHS mailing list