> 2. Being severely limited due to size restrictions (< 900 bytes), the > stage 1 boot loader is just clever enough to locate and load Haiku's > stage 2 boot loader (haiku_loader) from the same partition. This is the platform-dependent part, and it is located in system/boot/platform, I believe? > 3. The stage 2 boot loader loads the kernel and required kernel modules > and starts the kernel. And this is in the system/boot/loader folder, if I am not mistaken? > So I see two reasonable approaches for UEFI: > > 1. Let the firmware directly load the stage 2 boot loader. > > 2. Let the firmware load a stage 1 boot loader that loads the stage 2 > boot loader. You are making a very interesting point. I now understand that shaping the Haiku kernel directly into an UEFI application might be too big of an enterprise. However, it seems to me that your first solution is a perfect middle ground, in-between the original re-write of the BIOS part and the correct use of the UEFI firmware. Where do you think such changes should take place in the source tree? I am having a hard time visualizing how to have both the legacy BIOS booted platforms and the new UEFI booted machines cohexist, both regarding installation or upgrade and the source tree itself. > CU, Ingo Thank you for your quick answer, I now understand way better how the Haiku OS actually boots! My proposal is evolving slowly but surely, and the work ahead seems more clear now. -- Louis 'manny' Feuvrier LSE - EPITA 2016