64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
# Provisioning
|
|
|
|
After flasing the Alpine Linux extended ISO on a usbdrive, partition a disk. For this internet is required because `gptfdisk` is only available in the repositories and is not included on the extended ISO.
|
|
|
|
To set it up `setup-interfaces` and `setup-apkrepos` will be used.
|
|
|
|
```
|
|
# setup-interfaces -ar
|
|
# setup-apkrepos -c1
|
|
```
|
|
|
|
Because the Alpine Linux ISO is pretty minimal a few packages will have to be installed first:
|
|
|
|
```
|
|
# apk add cryptsetup lvm2 lsblk e2fsprogs gptfdisk dosfstools
|
|
```
|
|
|
|
The drive should be partitioned using `gdisk` (or `cfdisk`). It should have atleast two partitions with one `EFI System` partition and one `Linux filesystem` partition and look something like this:
|
|
|
|
| Number of partition | Size | Type |
|
|
|:-----:|:-----:|:-----:|
|
|
| 1 | 512 MB or more | EFI System |
|
|
| 2 | Rest of the drive | Linux filesystem |
|
|
|
|
Then to create the filesystem on the efi partition.
|
|
|
|
```
|
|
# mkfs.fat -F 32 -n efi /dev/<disk1>
|
|
```
|
|
|
|
And the encrypted filesystem on the root partition.
|
|
|
|
```
|
|
# cryptsetup luksFormat /dev/<disk2> --type luks2
|
|
# cryptsetup open --type luks /dev/<disk2> luks
|
|
```
|
|
|
|
Now to create a new LVM volume group:
|
|
|
|
```
|
|
# vgcreate vg1 /dev/mapper/luks
|
|
```
|
|
|
|
To create partitions inside the volume group:
|
|
|
|
```
|
|
# lvcreate --name root{n} -L 16G vg1
|
|
# lvcreate --name var{n} -L 8G vg1
|
|
# lvcreate --name tmp{n} -L 16G vg1
|
|
# lvcreate --name nix{n} -L 32G vg1
|
|
# lvcreate --name home{n} -l 100%FREE vg1
|
|
```
|
|
|
|
Choose $n \in \mathbb{N}$ accordingly. Now the home partition fills the entirety of the volume group. These sizes should be changed depending on the needs of the user.
|
|
|
|
To create the filesystems on the logical partitions:
|
|
|
|
```
|
|
for i in root{n} var{n} tmp{n} nix{n} home{n}; do
|
|
> mkfs.ext4 /dev/vg1/$i
|
|
> done
|
|
```
|
|
|
|
Other filesystems can also be used but `ext4` is the standard for most Linux distrobutions.
|