<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 4, 2023 at 8:44 AM Norman Wilson <<a href="mailto:norman@oclsc.org">norman@oclsc.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Maybe it was just that the boot environment was simpler<br>
in older systems, without the need to load kernel modules<br>
or support multiple locations and means of access for<br>
the root?<br></blockquote><div><br></div><div>Older systems had fewer choices. On the PDP-11 you had Q-Bus or Unibus.</div><div>You booted off a small selection of disks that converged to MSCP(?), so</div><div>there was THE boot environment and THE driver and THE filesystem. And</div><div>the kernels were often tuned to be exactly what the machine needed.<br></div><div><br></div><div>The VAX, Sun, hp, ibm, etc continued this early trend. Though  the boot process</div><div>was still fairly narrow, with a limited list of supported boot devices.</div><div><br></div><div>In large part this was because the machine was exactly the same every</div><div>time you booted.</div><div><br></div><div>But with USB, PC Card, CardBus, ExpressCard, SCSI, Thunderbolt,</div><div>and a host of other removable technologies with a dizzying array of</div><div>cards, like PCI, ISA, etc, the game changed.</div><div><br></div><div>Also, the number of environments that a FreeBSD GENERIC[*] kernel</div><div>can boot in is huge due to combinatoric explosion due to three or</div><div>four boot environments, vm alternate startup paths, several supported</div><div>root file system, BIOS, UEFI, OpenFirmware, u-boot, coreboot, etc</div><div>as well as several thousand supported boot controller devices, things</div><div>got complex, despite there being several common interfaces that made</div><div>things simpler. I'm running a summer of code project this year to help</div><div>tame the combinatoric explosion to provide better test coverage because</div><div>though attempts were made to make things the same, variations exist that</div><div>can cause unexpected breakage in different environments.</div><div><br></div><div>Warner</div><div><br></div><div>[*] I use GENERIC here as a catch all, including the more recent MINIMAL</div><div>kernels that try to include just the core functionality, and omit the vast</div><div>majority of drivers. Linux has similar issues, but more, and also solves</div><div>them in many interesting ways... But I'm the FreeBSD boot loader guy</div><div>in large part (though there's others that work on it), not a Linux person.<br></div></div></div>