1.9 KiB
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 --label luks
# cryptsetup open --type luks /dev/<disk2> pv1
Now to create a new LVM volume group:
# vgcreate vg1 /dev/mapper/pv1
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.