NixOS on ARM: Difference between revisions
imported>Dezgeg Document Beaglebone Black |
imported>Dezgeg Document Raspberry Pi 3 |
||
| Line 3: | Line 3: | ||
A binary cache, containing a subset of the unstable channel, is hosted at http://nixos-arm.dezgeg.me/channel (signed with '''key''' <code>nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%</code>). | A binary cache, containing a subset of the unstable channel, is hosted at http://nixos-arm.dezgeg.me/channel (signed with '''key''' <code>nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%</code>). | ||
Additionally, thanks to [https://github.com/grahamc Graham Christensen] and [https://www.packet.net/ Packet] the official NixOS Hydra (https://cache.nixos.org) builds a full set of binaries for the AArch64 architecture on the nixpkgs-unstable channel. | |||
== Supported devices == | == Supported devices == | ||
| Line 53: | Line 54: | ||
| ARMv7 | | ARMv7 | ||
| 4x Cortex-A7 @ 900 MHz | | 4x Cortex-A7 @ 900 MHz | ||
| 1 GB | |||
| SD/microSD | |||
|- | |||
| Raspberry Pi Foundation | |||
| Raspberry Pi 3 | |||
| Broadcom BCM2837 | |||
| AArch64 / ARMv7 | |||
| 4x Cortex-A53 @ 1.2 GHz | |||
| 1 GB | | 1 GB | ||
| SD/microSD | | SD/microSD | ||
| Line 108: | Line 117: | ||
The ARMv7 image should boot out-of-the-box, though the author hasn't personally tested this. | The ARMv7 image should boot out-of-the-box, though the author hasn't personally tested this. | ||
=== Raspberry Pi 3 === | |||
Both the AArch64 and ARMv7 images boot out-of-the-box. Using the 64-bit AArch64 image is highly recommended, as the availability of binaries is much better and allows the use of the 64-bit instruction set. | |||
=== Wandboard === | === Wandboard === | ||
| Line 138: | Line 151: | ||
boot.kernelPackages = pkgs.linuxPackages_latest; | boot.kernelPackages = pkgs.linuxPackages_latest; | ||
# !!! This is only for ARMv6 / ARMv7. Don't enable this on AArch64, cache.nixos.org works there. | |||
nix.binaryCaches = lib.mkForce [ "http://nixos-arm.dezgeg.me/channel" ]; | nix.binaryCaches = lib.mkForce [ "http://nixos-arm.dezgeg.me/channel" ]; | ||
nix.binaryCachePublicKeys = [ "nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%" ]; | nix.binaryCachePublicKeys = [ "nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%" ]; | ||
# !!! Needed for the virtual console to work on the RPi 3, as the default of 16M doesn't seem to be enough. | |||
boot.kernelParams = ["cma=32M"]; | |||
# File systems configuration for using the installer's partition layout | # File systems configuration for using the installer's partition layout | ||