update README

This commit is contained in:
Daniel Langbein 2023-12-21 16:34:17 +01:00
parent fdfb419b6f
commit 34227a6f1b
Signed by: langfingaz
GPG Key ID: 6C47C753F0823002

View File

@ -13,12 +13,12 @@ See also:
* [Table of Contents](#table-of-contents) * [Table of Contents](#table-of-contents)
* [NixOS installation](#nixos-installation) * [NixOS installation](#nixos-installation)
* [Graphical installation](#graphical-installation) * [Graphical installation](#graphical-installation)
* [Remote installation: disko and nixos-anywhere](#remote-installation-disko-and-nixos-anywhere) * [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) * [ARM: SD image for the Raspberry Pi 3B+](#arm-sd-image-for-the-raspberry-pi-3b)
* [ISO](#iso) * [ISO creation](#iso-creation)
* [Default configuration](#default-configuration) * [Default configuration](#default-configuration)
* [Apply modified configuration](#apply-modified-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) * [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, build and switch](#update-build-and-switch)
* [Update](#update) * [Update](#update)
* [Build and switch: Using Colmena](#build-and-switch-using-colmena) * [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 * 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 * 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. 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 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" ];`. 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. 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. 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 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 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. **TODO**: The EFI menu was working. But I got many squashfs errors when booting an USB stick with the NixOS installer.