NixOS on ARM/UEFI: Difference between revisions

Nicolas-goudry (talk | contribs)
No edit summary
m Getting a Platform Firmware: more specificity
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<language/>
<languages/>
<translate>
<translate>
<!--T:1-->
<!--T:1-->
Line 46: Line 46:
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'' === <!--T:18-->
== Getting a ''Platform Firmware'' == <!--T:18-->


<!--T:19-->
<!--T:19-->
Line 53: Line 53:
<!--T:20-->
<!--T:20-->
As an opinionated example, you can get started with [https://github.com/Tow-Boot/Tow-Boot Tow-Boot, a ''U-Boot'' distribution], which is intended to make the initial setup a bit easier by abstracting the platform differences so that they do not matter.
As an opinionated example, you can get started with [https://github.com/Tow-Boot/Tow-Boot Tow-Boot, a ''U-Boot'' distribution], which is intended to make the initial setup a bit easier by abstracting the platform differences so that they do not matter.
Where supported, Nix can be used to build U-boot from its main-line repositories. See [[U-Boot#Building a packaged U-Boot]] for further information. The resulting firmware image can then be flashed to SPI with tools such as <code>flashcp</code> or <code>flashrom</code>, or installed to EMMC/SD card by writing to specific offsets. This is platform specific, refer to [https://github.com/u-boot/u-boot/tree/master/doc/board upstream U-boot documentation for your platform or board].


<!--T:21-->
<!--T:21-->