U-Boot: Difference between revisions

m Fixups
Add more details
Line 3: Line 3:
It may also be used as a bootloader, but with modern U-Boot, UEFI boot is generally possible too.
It may also be used as a bootloader, but with modern U-Boot, UEFI boot is generally possible too.


=== U-Boot in Nixpkgs ===
== U-Boot in Nixpkgs ==
Mainline U-Boot is packaged in Nixpkgs.
Mainline U-Boot is packaged in Nixpkgs.


Line 12: Line 12:
U-Boot may be patched for compatibility reasons mainly, and work should be taken to send them to mainline U-Boot.
U-Boot may be patched for compatibility reasons mainly, and work should be taken to send them to mainline U-Boot.


==== Building a packaged U-Boot ====
=== Building a packaged U-Boot ===
You need to know two things:
You need to know two things:


Line 41: Line 41:
</syntaxhighlight>
</syntaxhighlight>


===== <code>pkgsCross</code> Cheat sheet =====
=== <code>pkgsCross</code> Cheat sheet ===
{| class="wikitable"
{| class="wikitable"
!Architecture
!Architecture
Line 55: Line 55:
|<code>raspberryPi</code> ''[sic]''
|<code>raspberryPi</code> ''[sic]''
|}
|}
== Vendor U-Boot ==
Vendor U-Boot may or may not work to boot and use NixOS.
The answer is actually really complicated, and depends not only about U-Boot, but the intended Linux kernel to be booted, and the boot method in use.
The <code>buildUBoot</code> implementation in Nixpkgs may or may not work to build a vendor U-Boot, and this usage is unsupported.
A few vendors ship good pre-built modern U-Boot implementations. Booting NixOS with those ''should work''. If it does not, things may need to be fixed on any of the end. But also, this depends on the kernel, and boot method in use.
== Other U-Boot distributions ==
There exists other prebuilt U-Boot distributions. As long as they follow the mainline U-Boot semantics, and are close enough in age to the current releases, they should work to boot NixOS.
=== Tow-Boot ===
{{Aside|Tow-Boot is not a NixOS project.<br />Though it is built with Nix expressions, and made by authors involved with the NixOS project.}}
Stock NixOS should be assumed to work with Tow-Boot, always depending on the boot method and kernel in use.
Tow-Boot is currently used as a reference as the only distro-agnostic U-Boot build, for support purposes.
== See also ==
* [[NixOS on ARM/UEFI]]