NixOS on ARM: Difference between revisions
imported>Petersjt014 added resource regarding sd images |
imported>Samueldr Renames Crosscompiling section to Compiling through QEMU. |
||
| Line 301: | Line 301: | ||
Note that this requires a machine with aarch64. You can however also build it from your laptop using an aarch64 remote builder as described in [[Distributed build]] or ask for access on the [https://github.com/nix-community/aarch64-build-box community aarch64 builder]. | Note that this requires a machine with aarch64. You can however also build it from your laptop using an aarch64 remote builder as described in [[Distributed build]] or ask for access on the [https://github.com/nix-community/aarch64-build-box community aarch64 builder]. | ||
=== | === Compiling through QEMU === | ||
It is also possible to | It is also possible to compile for aarch64 on your non-aarch64 local machine, or a remote builder, by registering QEMU as a binfmt wrapper for the aarch64 architecture. This <b>wrapper uses emulation</b> and will therefore be slower than comparable native machines. A [https://github.com/cleverca22/nixos-configs/blob/master/qemu.nix module] and and [https://github.com/cleverca22/nixos-configs/tree/master/overlays/qemu overlay] are provided by user '''@clever'''. | ||
If you are building on non-NixOS machine with QEMU binfmt wrapper configured, you will want to configure nix daemon to let it know that it can build for aarch64. Add the following line to <code>/etc/nix/nix.conf</code>: | If you are building on non-NixOS machine with QEMU binfmt wrapper configured, you will want to configure nix daemon to let it know that it can build for aarch64. Add the following line to <code>/etc/nix/nix.conf</code>: | ||