Systemd-repart
systemd-repart(8) is a tool for manipulating GPT (GUID Partition Table) partition tables.
Installation
systemd-repart is part of systemd. It is also present on the Arch Linux installation ISO.
Usage
During Arch Linux Installation
systemd-repart can be used to create the necessary partitions during the Arch Linux installation process. Follow the steps below to set up your partitions.
First, create the required repart.d(5) configuration files. The following examples illustrate how to define partitions; adjust the parameters as needed for your specific setup.
Create the directory for the repart configuration files:
# mkdir /etc/repart.d
Then, create the configuration files for each partition:
/etc/repart.d/00-esp.conf
[Partition] Type=esp SizeMinBytes=1G SizeMaxBytes=1G Format=vfat
/etc/repart.d/10-root.conf
[Partition] Type=root SizeMinBytes=23G Encrypt=tpm2 Format=btrfs
/etc/repart.d/30-swap.conf
[Partition] Type=swap SizeMinBytes=4G SizeMaxBytes=4G Encrypt=tpm2
/etc/repart.d/50-home.conf
[Partition] Type=home Format=btrfs
Encrypt=tpm2
option requires a compatible TPM (Trusted Platform Module) to be present on your system. If you do not have a TPM, you may omit this option or use a different encryption method.After creating the configuration files, you can check the proposed changes by running:
# systemd-repart --empty=allow /dev/disk
--empty=allow
automatically creates a GPT partition table if it does not exist. See systemd-repart(8) § OPTIONS.If the output meets your expectations, you can apply the changes by executing:
# systemd-repart --dry-run=no --empty=allow /dev/disk
This command will create the partitions as specified in your configuration files, and automatically encrypt and/or format them if required. Ensure that you have backed up any important data before proceeding, as this operation may overwrite existing data on the specified disk.
For more advanced configurations, refer to repart.d(5).
Then, mount the required partitions and proceed with the rest of the installation:
# cryptsetup open /dev/disk/by-partlabel/root-x86-64 root # mount /dev/mapper/root /mnt # mount -m /dev/disk/by-partlabel/esp /mnt/boot
mkswap
on it).