NixOS on ARM/Raspberry Pi 4: Difference between revisions

imported>Bobbbay
m Add instructions on uncompressing the .zst files.
imported>Samueldr
m Pre-emptively edit instructions
Line 31: Line 31:
== Status ==
== Status ==


{{note|The Raspberry Pi 4 is currently <em>unsupported</em> though the NixOS distribution provides upstream beta-quality images.}}
The default Linux kernel in use, is the Raspberry Pi Foundation's fork. This will change for the mainline kernel once its support for the Raspberry Pi 4 Family is good enough to allow the user to boot, configure, and rebuild a system.


The Raspberry Pi 4 Family is only supported as '''AArch64'''. Use as armv7 is community supported.
The Raspberry Pi 4 Family is only supported as '''AArch64'''. Use as armv7 is community supported.
Line 39: Line 36:
== Board-specific installation notes ==
== Board-specific installation notes ==


<del>First follow the [[NixOS_on_ARM#Installation|generic installation steps]] to get the installer image</del> and install using the [[NixOS_on_ARM#NixOS_installation_.26_configuration|installation and configuration steps]].
First follow the [[NixOS_on_ARM#Installation|generic installation steps]] to get the installer image and install using the [[NixOS_on_ARM#NixOS_installation_.26_configuration|installation and configuration steps]].


''(Until the generic image works, a [https://hydra.nixos.org/job/nixos/trunk-combined/nixos.sd_image_raspberrypi4.aarch64-linux temporary device-specific image is build on Hydra]. Note that this image is not using u-boot, but rather the Raspberry Pi specific bootloader configuration.)''
The Raspberry Pi 4B should work with either the [https://hydra.nixos.org/job/nixos/trunk-combined/nixos.sd_image.aarch64-linux generic SD image] or [https://hydra.nixos.org/job/nixos/trunk-combined/nixos.sd_image_new_kernel.aarch64-linux the new kernel variant], starting with 21.05 (or unstable).


Please note: to uncompress the .zstd, one may use the <code>unzstd</code> command (equivalent to <code>zstd -d</code>) on supported machines. The zstd commands can be accessed from the <code>zstd</code> package.
Please note: to uncompress the .zstd, one may use the <code>unzstd</code> command (equivalent to <code>zstd -d</code>) on supported machines. The zstd commands can be accessed from the <code>zstd</code> package.


=== Configuration ===
=== Configuration ===
{{outdated|These instructions were written when the generic image did not work. Using the vendor kernel may be desirable under some conditions<sup>[which?]</sup>}}


Using <code>nixos-generate-config</code> will not generate the required minimal configuration.
Using <code>nixos-generate-config</code> will not generate the required minimal configuration.