NixOS on ARM: Difference between revisions

m →‎Installation: Split installation
Line 454: Line 454:
== Installation ==
== Installation ==


=== Getting the installer ===
{{main|NixOS_on_ARM/Installation}}
 
==== UEFI iso ====
 
{{note| On Raspberry Pi devices, the NixOS ISO are not compatible due to hardware limitations rather than issues with the NixOS installer itself. As a result, it is recommended to use the SD card images files (.img) instead for a successful installation experience.}}
 
Continue to the [[NixOS on ARM/UEFI|UEFI]] page.
 
==== SD card images (SBCs and similar platforms) ====
 
For <code>AArch64</code> it is possible to download images from Hydra.
 
* [https://hydra.nixos.org/job/nixos/release-23.11/nixos.sd_image.aarch64-linux 23.11]
* [https://hydra.nixos.org/job/nixos/trunk-combined/nixos.sd_image.aarch64-linux unstable (LTS kernel)]
* [https://hydra.nixos.org/job/nixos/trunk-combined/nixos.sd_image_new_kernel_no_zfs.aarch64-linux unstable (Latest kernel)]
 
On the page click on the latest successful build to get a download link under build products.
 
If the image has the extension <code>.zst</code>, it will need to be decompressed before writing to installation device. Use <code>nix-shell -p zstd --run "unzstd <img-name>.img.zst"</code> to decompress the image.
 
=== Installation steps ===
 
The .img files can be directly written to a microSD/SD card (minimal recommended size: 4 GB) using dd, once uncompressed from the ZSTD container. The SD card needs to be unmounted first.
 
Once the NixOS image file is downloaded, run the following command to install the image onto the SD Card, replace <code>/dev/mmcblk0</code> with the path to the SD card (use <code>dmesg</code> to find it out).
 
<code>
sudo dd if=nixos-sd-image-23.05pre482417.9c7cc804254-aarch64-linux.img of=/dev/mmcblk0
</code>
 
This should be enough to get you started, you may now boot your device for the first time.
 
The base images are configured to boot up with a serial TTY ( RX/TX UART ) @ 115200 Baud. That way you not necessarily have to have a HDMI Display and keyboard.
 
{{note| For some platforms, manually editing and adding kernel command-line arguments to <code>/boot/extlinux/extlinux.conf</code> may be needed for serial to work, and is "as" supported as would be editing the command-line manually during boot.}}
 
Continue with [[#NixOS installation & configuration]].


== Binary cache ==
== Binary cache ==