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)
| Partisi | Tipe | Ukuran | Keterangan |
|---|---|---|---|
/dev/sda1 | Linux | Seluruh disk | Partisi tunggal, bootable |
UEFI (GPT)
| Partisi | Tipe | Ukuran | Keterangan |
|---|---|---|---|
/dev/sda1 | EFI System | ~128 MB | Partisi EFI |
/dev/sda2 | Linux Filesystem | Sisa disk | Partisi 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
voidvmdengan 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 outputblkiddi 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/sda1dengan/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
| # | Langkah | Keterangan |
|---|---|---|
| 1 | Partisi disk | MBR (1 partisi) atau GPT + EFI (2 partisi) |
| 2 | Format LUKS1 | cryptsetup luksFormat --type luks1 |
| 3 | Setup LVM | vgcreate → lvcreate → mkfs |
| 4 | Mount & instalasi | xbps-install base-system + lvm2 + cryptsetup |
| 5 | Konfigurasi GRUB | GRUB_ENABLE_CRYPTODISK=y + UUID kernel cmdline |
| 6 | Setup keyfile | Agar tidak input password dua kali saat boot |
| 7 | Generate initramfs & reboot | xbps-reconfigure -fa |