From 3c51bfe2e6a798a7b811f903159c6a53bb7b1b5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> Date: Tue, 11 May 2021 18:46:11 +0200 Subject: [PATCH] README: add disk format documentation --- README.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6539dcf..3ae37ba 100644 --- a/README.md +++ b/README.md @@ -90,12 +90,38 @@ $ ./deploy --force-reboot --include build02 ``` ## Install/Fix system from Hetzner recovery mode +1. Format and/or mount all filesystems to /mnt: + +``` console +# format disk with as follow: +# - partition 1 will be the boot partition, needed for legacy (BIOS) boot +# - partition 2 is for boot partition +# - partition 3 takes up the rest of the space and is for the system +$ sgdisk -n 1:2048:4095 -n 2:4096:+512M -N 3 -t 1:ef02 -t 2:8304 -t 3:8304 /dev/nvme0n1 +$ sgdisk -n 1:2048:4095 -n 2:4096:+512M -N 3 -t 1:ef02 -t 2:8304 -t 3:8304 /dev/nvme1n1 +# create mdadm raid for /boot with ext4 +$ sudo mdadm --create --verbose /dev/md127 --level=0 --raid-devices=2 /dev/nvme{0,1}n1p2 +$ sudo mkfs.ext4 -F /dev/md127 +# format zpool +$ zpool create zroot -O acltype=posixacl -O xattr=sa -O compression=lz4 mirror /dev/nvme{0,1}n1p3 +$ zfs create -o mountpoint=none zroot/root +$ zfs create -o mountpoint=legacy zroot/root/nixos +$ zfs create -o mountpoint=legacy zroot/root/home + +# and finally mount +$ mount -t zfs zroot/root/nixos /mnt +$ mkdir /mnt/{home,boot} +$ mount -t zfs zroot/root/home /mnt/home +$ mount -t ext4 /dev/md127 /mnt/boot +``` -1. Mount all filesystems to /mnt 2. Install kexec image from Hetzner recovery system as described in [kexec.nix](roles/kexec.nix) and boot into it 3. Download infra repo ``` console $ nix-shell -p git --run "git clone https://github.com/nix-community/infra && cd infra && nix-shell" +# Just in case generate hardware-configuration.nix and compare it with what we have in the repos +$ nixos-generate-config --root /mnt +$ diff -aur /mnt/etc/nixos/hardware-configuration.nix buildXX/hardware-configuration.nix ``` 4. Build new system closure: