NixOS on ARM: Difference between revisions

imported>Mausch
Add link to sd image for 21.11
imported>Samueldr
Remove last remaining refs to dezgeg's user provided builds (domain has expired :/)
Line 446: Line 446:
==== First rebuild on ARMv6 and ARMv7 ====
==== First rebuild on ARMv6 and ARMv7 ====


To make the unsupported ARM experience slightly less painful, the config template adds <code>nixos-arm.dezgeg.me</code> as a binary cache, which contains a small subset of packages on the unstable channel (though a caution for US users: the server hosting them is physically located in Finland). Note that the binary cache isn't enabled on the prebuilt images, so enable it via the command line when building for the first time:
{{note|Instructions removed since they referred to a long abandoned user-provided cache...}}
<!--
To make the unsupported ARM experience slightly less painful, the config template adds <code>[...]</code> as a binary cache, which contains a small subset of packages on the unstable channel (though a caution for US users: the server hosting them is physically located in Finland). Note that the binary cache isn't enabled on the prebuilt images, so enable it via the command line when building for the first time:


<syntaxhighlight lang="bash">nixos-rebuild switch --fast --option binary-caches http://nixos-arm.dezgeg.me/channel --option binary-cache-public-keys nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%</syntaxhighlight>
<syntaxhighlight lang="bash">nixos-rebuild switch --fast --option binary-caches [...]/channel --option binary-cache-public-keys [...]-1:XXXXXXXXXXXXXX+XXXXXXXXXXXXXX=%</syntaxhighlight>
-->


== Details about the boot process ==
== Details about the boot process ==
Line 529: Line 532:
=== Contributing new boards to nixpkgs ===
=== Contributing new boards to nixpkgs ===


* Add a new derivation for your board's U-Boot configuration, see for example ubootJetsonTK1 in {{Nixpkgs Link|short=all-packages.nix|pkgs/top-level/all-packages.nix}}.
* Add a new derivation for your board's U-Boot configuration, see for example ubootPine64LTS in {{Nixpkgs Link|short=all-packages.nix|pkgs/top-level/all-packages.nix}}.
* If your board's U-Boot configuration doesn't use the <code>extlinux.conf</code> format by default, create a patch to enable it. Some C hacking skills & U-Boot knowledge might be required. For some pointers, see this patch to enable it on the Versatile Express.
* If your board's U-Boot configuration doesn't use the <code>extlinux.conf</code> format by default, create a patch to enable it. Some C hacking skills & U-Boot knowledge might be required. For some pointers, see this patch to enable it on the Versatile Express.
* Make a pull request, also containing the board-specific instructions. Ping '''@dezgeg''' for review and for building & hosting the U-Boots at http://nixos-arm.dezgeg.me/installer.
* Make a pull request, also containing the board-specific instructions.


== Support ==
== Support ==