diff --git a/README.md b/README.md index d79aae3..c73800e 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,12 @@ See also: * [Table of Contents](#table-of-contents) * [NixOS installation](#nixos-installation) * [Graphical installation](#graphical-installation) - * [Remote installation: disko and nixos-anywhere](#remote-installation-disko-and-nixos-anywhere) - * [ARM device: SD image for the Raspberry Pi 3B+](#arm-device-sd-image-for-the-raspberry-pi-3b) - * [ISO](#iso) - * [Default configuration](#default-configuration) - * [Apply modified configuration](#apply-modified-configuration) - * [ARM device: Vanilla UEFI bootloader for the Raspberry Pi 3B+](#arm-device-vanilla-uefi-bootloader-for-the-raspberry-pi-3b) + * [Remote installation: disko and nixos-anywhere](#remote-installation-disko-and-nixos-anywhere) + * [ARM: SD image for the Raspberry Pi 3B+](#arm-sd-image-for-the-raspberry-pi-3b) + * [ISO creation](#iso-creation) + * [Default configuration](#default-configuration) + * [Apply modified configuration](#apply-modified-configuration) + * [ARM: Vanilla UEFI bootloader for the Raspberry Pi 3B+](#arm-vanilla-uefi-bootloader-for-the-raspberry-pi-3b) * [Update, build and switch](#update-build-and-switch) * [Update](#update) * [Build and switch: Using Colmena](#build-and-switch-using-colmena) @@ -54,15 +54,15 @@ During installation: * One 512MB (or larger) Fat32 partition, mounted at `/boot`, "boot" flag enabled * Another partition (e.g. BTRFS) covering the rest of the drive, mounted at `/`, encryption enabled -## Remote installation: disko and nixos-anywhere +### Remote installation: disko and nixos-anywhere Install NixOS via SSH everywhere. There is a separate repository for these steps. Its README can be found here: https://codeberg.org/privacy1st/nixos-anywhere-example/src/template/README.md -## ARM device: SD image for the Raspberry Pi 3B+ +### ARM: SD image for the Raspberry Pi 3B+ -### ISO +#### ISO creation If you are on an architecture other than aarch64, enable emulation: `boot.binfmt.emulatedSystems = [ "aarch64-linux" ];`. @@ -81,13 +81,13 @@ ls result/sd-image/*.img Alternatively to emulating the aarch64 architecture we could also cross compile from e.g. x86 to it. However, this has one big drawback: The binary cache (https://cache.nixos.org/) won't be used. The reason for this is that packages built with cross compilation are (slightly) different from native built ones. Their checksums don't match. -### Default configuration +#### Default configuration When the Raspberry Pi is booted, run `nixos-generate-config` to generate the default `configuration.nix` and `hardware-configuration.nix` files. -A slightly modified config can be found in [./hosts/pi3bplus/](./hosts/pi3bplus/) +A slightly modified config can be found in [./hosts/pi3bplus](./hosts/pi3bplus) -### Apply modified configuration +#### Apply modified configuration The Rapberry Pi 3B+ has only 1GB RAM, which is not enough for `nixos-rebuild`. It is recommended to create and activate a SWAP file first: https://wiki.archlinux.org/title/swap#Swap_file_creation @@ -106,7 +106,7 @@ nixos-rebuild boot reboot ``` -## ARM device: Vanilla UEFI bootloader for the Raspberry Pi 3B+ +### ARM: Vanilla UEFI bootloader for the Raspberry Pi 3B+ **TODO**: The EFI menu was working. But I got many squashfs errors when booting an USB stick with the NixOS installer.