Full Disk Encryption (FDE)

Panduan ini menjelaskan cara menginstal T4n OS dengan enkripsi disk penuh menggunakan LUKS + LVM.

⚠️ Peringatan: Nama block device (/dev/sda, /dev/sda1, dll.) di sistem kamu mungkin berbeda. Jangan salin perintah secara langsung — sesuaikan terlebih dahulu dengan output di sistem kamu.

Skema Partisi

BIOS (MBR)

PartisiTipeUkuranKeterangan
/dev/sda1LinuxSeluruh diskPartisi tunggal, bootable

UEFI (GPT)

PartisiTipeUkuranKeterangan
/dev/sda1EFI System~128 MBPartisi EFI
/dev/sda2Linux FilesystemSisa diskPartisi terenkripsi

Buat partisi menggunakan cfdisk atau fdisk, lalu tandai partisi utama sebagai bootable (khusus BIOS/MBR).

Konfigurasi Volume Terenkripsi

Catatan LUKS: Panduan ini menggunakan LUKS1 karena GRUB sebelum versi 2.06 hanya mendukung LUKS1. LUKS2 hanya didukung sebagian — hanya KDF PBKDF2 yang diimplementasikan, sedangkan default LUKS2 menggunakan Argon2i yang tidak dapat didekripsi oleh GRUB.

1. Format Partisi dengan LUKS1

# BIOS: gunakan /dev/sda1
# UEFI: gunakan /dev/sda2
cryptsetup luksFormat --type luks1 /dev/sda1

2. Buka Volume LUKS

cryptsetup luksOpen /dev/sda1 voidvm

Ganti voidvm dengan nama yang diinginkan.

3. Buat Volume Group LVM

vgcreate voidvm /dev/mapper/voidvm

4. Buat Logical Volume

lvcreate --name root -L 10G      voidvm
lvcreate --name swap -L 2G       voidvm
lvcreate --name home -l 100%FREE voidvm

Sesuaikan ukuran sesuai kebutuhan.

5. Format Filesystem

mkfs.xfs -L root /dev/voidvm/root
mkfs.xfs -L home /dev/voidvm/home
mkswap /dev/voidvm/swap
swapon /dev/voidvm/swap

Filesystem lain yang didukung GRUB (ext4, btrfs, dll.) juga dapat digunakan.

Instalasi Sistem

Mount Partisi

mount /dev/voidvm/root /mnt
mkdir -p /mnt/home
mount /dev/voidvm/home /mnt/home

Khusus UEFI, format dan mount partisi EFI:

mkfs.vfat /dev/sda1
mkdir -p  /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi

Salin Kunci RSA

mkdir -p /mnt/var/db/xbps/keys
cp /var/db/xbps/keys/* /mnt/var/db/xbps/keys/

Instal Sistem Dasar

BIOS:

xbps-install -Sy -R https://repo-default.voidlinux.org/current -r /mnt \
  base-system lvm2 cryptsetup grub

UEFI:

xbps-install -Sy -R https://repo-default.voidlinux.org/current -r /mnt \
  base-system lvm2 cryptsetup grub-x86_64-efi

Konfigurasi

Generate fstab

xgenfstab /mnt > /mnt/etc/fstab

Masuk ke Chroot

xchroot /mnt
chown root:root /
chmod 755 /
passwd root
echo "voidvm" > /etc/hostname

Locale (khusus glibc)

echo "LANG=id_ID.UTF-8" > /etc/locale.conf
echo "id_ID.UTF-8 UTF-8" >> /etc/default/libc-locales
xbps-reconfigure -f glibc-locales

Konfigurasi GRUB

Aktifkan Dukungan Cryptodisk

Tambahkan baris berikut ke /etc/default/grub:

GRUB_ENABLE_CRYPTODISK=y

Tambahkan Parameter Kernel

Cari UUID partisi terenkripsi:

blkid -o value -s UUID /dev/sda1

Edit GRUB_CMDLINE_LINUX_DEFAULT di /etc/default/grub, tambahkan:

rd.lvm.vg=voidvm rd.luks.uuid=<UUID>

Ganti <UUID> dengan nilai dari output blkid di atas. Untuk UEFI, UUID yang digunakan adalah milik /dev/sda2.

Konfigurasi Keyfile (Agar Tidak Input Password Dua Kali)

1. Generate Key Acak

dd bs=1 count=64 if=/dev/urandom of=/boot/volume.key

2. Tambahkan Key ke Volume LUKS

cryptsetup luksAddKey /dev/sda1 /boot/volume.key

3. Amankan Permissions

chmod 000 /boot/volume.key
chmod -R g-rwx,o-rwx /boot

4. Tambahkan ke /etc/crypttab

voidvm   /dev/sda1   /boot/volume.key   luks

Untuk UEFI, ganti /dev/sda1 dengan /dev/sda2.

5. Sertakan Keyfile dalam initramfs

Buat file /etc/dracut.conf.d/10-crypt.conf:

install_items+=" /boot/volume.key /etc/crypttab "

Finalisasi

Instal GRUB

# BIOS
grub-install /dev/sda

# UEFI
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="T4nOS"

Generate initramfs

xbps-reconfigure -fa

Reboot

exit
umount -R /mnt
reboot

Ringkasan Langkah

#LangkahKeterangan
1Partisi diskMBR (1 partisi) atau GPT + EFI (2 partisi)
2Format LUKS1cryptsetup luksFormat --type luks1
3Setup LVMvgcreate → lvcreate → mkfs
4Mount & instalasixbps-install base-system + lvm2 + cryptsetup
5Konfigurasi GRUBGRUB_ENABLE_CRYPTODISK=y + UUID kernel cmdline
6Setup keyfileAgar tidak input password dua kali saat boot
7Generate initramfs & rebootxbps-reconfigure -fa

@T4n-Labs · @Gh0sT4n