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