Add steps in install documentation
This commit is contained in:
parent
c3ea8864bb
commit
613a76ac29
62
doc/install.md
Normal file
62
doc/install.md
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# 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
|
||||||
|
```
|
@ -1,12 +1,15 @@
|
|||||||
{ config, pkgs, modulesPath, lib, ... }:
|
{ config, pkgs, modulesPath, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ../common/main.nix (modulesPath + "/installer/netboot/netboot-minimal.nix") ];
|
imports = [
|
||||||
|
#(modulesPath + "/installer/netboot/netboot-minimal.nix")
|
||||||
|
../common/main.nix
|
||||||
|
];
|
||||||
|
|
||||||
# Select the this using the ID to avoid mismatches
|
# Select the this using the ID to avoid mismatches
|
||||||
boot.loader.grub.device = "/dev/disk/by-id/wwn-0x55cd2e414d535629";
|
boot.loader.grub.device = "/dev/disk/by-id/wwn-0x55cd2e414d535629";
|
||||||
#programs.ssh.forwardX11 = false;
|
#programs.ssh.forwardX11 = false;
|
||||||
programs.ssh.setXAuthLocation = lib.mkForce true;
|
#programs.ssh.setXAuthLocation = lib.mkForce true;
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "xeon02";
|
hostName = "xeon02";
|
||||||
|
Loading…
Reference in New Issue
Block a user