NixOS on ARM/UEFI: Difference between revisions

imported>Samueldr
m edit link to new kernel iso
m Platform Firmware: Add links to U-Boot
Line 17: Line 17:
Let's define what a '''Platform Firmware''' is. It is a generic term I'm using to describe the first thing the CPU starts at boot time. On your typical <tt>x86_64</tt> system, it would be what was previously called the ''BIOS''. Now often diminutively called by the name ''EFI''. This is what initializes enough of the hardware so that the operating system can start. Additionally, it often provides facilities for the user to do basic configuration, and manage boot options.
Let's define what a '''Platform Firmware''' is. It is a generic term I'm using to describe the first thing the CPU starts at boot time. On your typical <tt>x86_64</tt> system, it would be what was previously called the ''BIOS''. Now often diminutively called by the name ''EFI''. This is what initializes enough of the hardware so that the operating system can start. Additionally, it often provides facilities for the user to do basic configuration, and manage boot options.


In the ARM with SBCs landscape, '''U-Boot''' is the de facto solution for the ''Platform Firmware''. Though ''U-Boot'' is confusingly, but rightly, often referred to as a ''Boot Loader''. ''U-Boot'' plays double duties often. It is tasked with ''initializing the hardware'', and often also used to handle ''loading and booting'' the operating system.
In the ARM with SBCs landscape, '''''[[U-Boot]]''''' is the de facto solution for the ''Platform Firmware''. Though ''U-Boot'' is confusingly, but rightly, often referred to as a ''Boot Loader''. ''U-Boot'' plays double duties often. It is tasked with ''initializing the hardware'', and often also used to handle ''loading and booting'' the operating system.


=== UEFI ===
=== UEFI ===
Line 31: Line 31:
== UEFI, on my SBC??? ==
== UEFI, on my SBC??? ==


Believe me or not, it's more likely that you can, if your SBC is well supported by mainline ''U-Boot''. ''U-Boot'' provides enough UEFI to comply with EBBR, which in turn is enough to allow us to boot the <tt>AArch64</tt> UEFI NixOS iso, and with almost  no differences compared to the <tt>x86_64</tt> guide, simply follow the installation instruction to boot into an installed system.
Believe me or not, it's more likely that you can, if your SBC is well supported by mainline ''[[U-Boot]]''. ''U-Boot'' provides enough UEFI to comply with EBBR, which in turn is enough to allow us to boot the <tt>AArch64</tt> UEFI NixOS iso, and with almost  no differences compared to the <tt>x86_64</tt> guide, simply follow the installation instruction to boot into an installed system.


=== Getting a ''Platform Firmware'' ===
=== Getting a ''Platform Firmware'' ===