jungle/doc/install.md

1.6 KiB

Installing NixOS in a new node

This article shows the steps to install NixOS in a node following the configuration of the repo.

Prepare the disk

Create a main partition and label it nixos following the manual.

# disk=/dev/sdX
# parted $disk -- mklabel msdos
# parted $disk -- mkpart primary 1MB 100%
# parted $disk -- set 1 boot on

Then create an etx4 filesystem, labeled nixos where the system will be installed. Ensure that no other partition has the same label.

# mkfs.ext4 -L nixos "${disk}1"
# mount ${disk}1 /mnt
# lsblk -f $disk
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sdX
`-sdX1 ext4   nixos 10d73b75-809c-4fa3-b99d-4fab2f0d0d8e /mnt

Prepare nix and nixos-install

Mount the nix store from the xeon07 node in read-only /nix.

# mkdir /nix
# mount -o ro xeon07:/nix /nix

Get the nix binary and nixos-install tool from xeon07:

# ssh xeon07 'readlink -f $(which nix)'
/nix/store/0sxbaj71c4c4n43qhdxm31f56gjalksw-nix-2.13.3/bin/nix
# ssh xeon07 'readlink -f $(which nixos-install)'
/nix/store/9yq8ps06ysr2pfiwiij39ny56yk3pdcs-nixos-install/bin/nixos-install

And add them to the PATH:

# export PATH=$PATH:/nix/store/0sxbaj71c4c4n43qhdxm31f56gjalksw-nix-2.13.3/bin
# export PATH=$PATH:/nix/store/9yq8ps06ysr2pfiwiij39ny56yk3pdcs-nixos-install/bin/
# nix --version
nix (Nix) 2.13.3

Build the nixos kexec image

# nix build .#nixosConfigurations.xeon02.config.system.build.kexecTree -v