63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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][1].
 | |
| 
 | |
| [1]: https://nixos.org/manual/nixos/stable/index.html#sec-installation-manual-partitioning.
 | |
| 
 | |
| ```
 | |
| # 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
 | |
| ```
 |