aboutsummaryrefslogtreecommitdiffstats
path: root/readme.org
blob: 6fff04d8ed3988ba63978023fda3da9c2736ae79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
* from existing install
on an existing guix/nix install, you can prep the disks ahead of time.

need ~parted~ and ~btrfs-progs~
: guix shell parted btrfs-progs

* from installer
setting up from the installer requires =configuration.scm= from this
directory. get that on the installer thumb drive, on nfs, or some
other way such that we have access to it from the guix installer.

you'll need to use the terminal-based install, which should have all
the tools you need.

** partition disk
gpt, 3 partitions:
  - 1 :: esp 2GB
  - 2 :: swap 8GB
  - 3 :: linux-fs rest

first create the partition table with ~cfdisk~, using ~gpt~ labels
: cfdisk /dev/vdb

turn on the ‘esp’ flag for partition ~1~:
: parted /dev/vdb set 1 esp on

** create filesystems
: mkfs.vfat -n ESP -F 32 /dev/vdb1

: mkfs.btrfs -L root /dev/vdb3
: mount -m -t btrfs /dev/vdb3 /mnt

: btrfs subvol create /mnt/gnu
: btrfs subvol create /mnt/gnu/store
# : btrfs subvol create /mnt/gnu/etc
: btrfs subvol create /mnt/gnu/var
: btrfs subvol create /mnt/gnu/boot
: btrfs subvol create /mnt/persist
: btrfs subvol create /mnt/persist/home
: btrfs subvol create /mnt/persist/home/root

: umount /mnt

** mount filesystems
: mount -m -t tmpfs tmpfs /mnt
: mount -m -t btrfs -o subvol=/gnu LABEL=root /mnt/gnu
# : mount -m -t btrfs -o subvol=/gnu/etc LABEL=root /mnt/etc
: mount -m -t btrfs -o subvol=/gnu/var LABEL=root /mnt/var
: mount -m -t btrfs -o subvol=/gnu/boot LABEL=root /mnt/boot
: mount -m -t btrfs -o subvol=/persist LABEL=root /mnt/persist
: mount -m -t btrfs -o subvol=/persist/home LABEL=root /mnt/home
: mount -m --bind /mnt/home/root /mnt/root
: mount -m -t vfat LABEL=ESP /mnt/boot/esp

** init system
: guix system init configuration.scm /mnt