Instalasi T4n OS dengan ZFS Root
Karena installer T4n OS tidak mendukung ZFS secara langsung, instalasi harus dilakukan via chroot. Selain beberapa hal terkait bootloader dan initramfs, prosesnya tidak jauh berbeda dari instalasi chroot biasa.
Pilihan Bootloader
ZFSBootMenu (Disarankan)
ZFSBootMenu adalah bootloader yang dirancang khusus untuk booting langsung dari ZFS pool. Fitur unggulan:
- Mendukung enkripsi native ZFS
- Menyediakan recovery environment (clone snapshot, manipulasi pre-boot)
- Dapat booting dari pool manapun yang bisa di-import oleh driver ZFS modern
- Void Linux adalah distribusi first-class di ZFSBootMenu
Panduan instalasi tersedia di dokumentasi ZFSBootMenu:
| Firmware | Panduan |
|---|---|
| UEFI | UEFI guide |
| BIOS/Legacy | syslinux guide |
Bootloader Tradisional (GRUB, dll.)
Jika tidak ingin menggunakan ZFSBootMenu, gunakan bootloader konvensional dengan catatan: buat partisi /boot terpisah menggunakan ext4 atau xfs untuk menghindari kompleksitas yang tidak perlu.
Media Instalasi
Installer T4n OS membutuhkan live image yang sudah menyertakan driver ZFS. Ada dua pilihan:
| Pilihan | Keterangan |
|---|---|
| Build manual | Gunakan mklive.sh -p zfs dari repositori void-mklive |
| hrmpf (x86_64) | Image pre-built dari anggota tim Void, sudah termasuk modul ZFS |
Partisi Disk
Setelah booting dari live image ZFS, buat partisi disk:
| Partisi | Tipe | Keterangan |
|---|---|---|
| EFI System | EFI (khusus UEFI) | Format dengan mkfs.vfat |
| GRUB BIOS boot | BIOS boot (khusus BIOS+GPT) | Tidak diformat |
/boot | ext4 atau xfs | Wajib jika tidak pakai ZFSBootMenu |
| Swap | Linux swap | Opsional — lihat catatan di bawah |
| ZFS pool | Type code: BF00 | Sisa disk, satu partisi untuk satu pool |
Catatan swap:
- Swap bisa diletakkan di ZFS zvol, namun berisiko deadlock kernel saat memory pressure tinggi.
- Jika ingin menggunakan hibernasi, wajib gunakan partisi swap terpisah — kernel tidak dapat resume dari zvol.
Format partisi non-ZFS:
mkfs.vfat /dev/sda1 # EFI
mkfs.ext4 /dev/sda2 # /boot
mkswap /dev/sda3 # swap (opsional)
Membuat ZFS Pool
Buat pool pada partisi yang sudah disiapkan. Gunakan path dari /dev/disk/by-id/ agar lebih aman:
zpool create -f -o ashift=12 \
-O compression=lz4 \
-O acltype=posixacl \
-O xattr=sa \
-O relatime=on \
-o autotrim=on \
-m none zroot /dev/disk/by-id/<id-partisi>
Ganti
<id-partisi>dengan ID disk yang sesuai (cek denganls /dev/disk/by-id/).
⚠️ Selalu gunakan
/dev/disk/by-id/atau/dev/disk/by-partuuid/— hindari/dev/sda3karena penamaan dapat berubah dan menyebabkan gagal import.
Export lalu re-import pool dengan path alternatif sementara:
zpool export zroot
zpool import -N -R /mnt zroot
Membuat Filesystem ZFS
Buat hierarki filesystem. Konvensi umum menempatkan root OS di bawah ROOT:
# Parent untuk boot environments
zfs create -o mountpoint=none zroot/ROOT
# Root filesystem T4n OS
zfs create -o mountpoint=/ -o canmount=noauto zroot/ROOT/void
# Home directory (opsional tapi disarankan)
zfs create -o mountpoint=/home zroot/home
canmount=noautopada filesystem root berguna agar ZFS tidak otomatis me-mount satu boot environment di atas yang lain jika terdapat beberapa sistem yang terpasang.
Mount Hierarki ZFS
# Mount root secara manual terlebih dahulu
zfs mount zroot/ROOT/void
# Mount semua filesystem lainnya secara otomatis
zfs mount -a
Simpan konfigurasi pool ke cache untuk mempercepat import saat boot:
mkdir -p /mnt/etc/zfs
zpool set cachefile=/mnt/etc/zfs/zpool.cache zroot
Mount partisi non-ZFS:
# /boot
mkdir -p /mnt/boot
mount /dev/sda2 /mnt/boot
# EFI (khusus UEFI)
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
Instalasi Sistem
Lanjutkan dengan instalasi chroot standar (lihat Instalasi via Chroot) hingga bagian sebelum Finalisasi.
Sebelum menjalankan langkah finalisasi, instal paket ZFS dan konfigurasi dracut:
mkdir -p /etc/dracut.conf.d
cat > /etc/dracut.conf.d/zol.conf <<EOF
nofsck="yes"
add_dracutmodules+=" zfs "
omit_dracutmodules+=" btrfs resume "
EOF
xbps-install -S zfs
Kemudian lanjutkan langkah Finalisasi dari panduan chroot (generate initramfs, install bootloader, reboot).
Ringkasan Langkah
| # | Langkah | Keterangan |
|---|---|---|
| 1 | Pilih bootloader | ZFSBootMenu (disarankan) atau GRUB + /boot terpisah |
| 2 | Boot live image ZFS | hrmpf atau build manual dengan -p zfs |
| 3 | Partisi disk | EFI + /boot + ZFS (type BF00) |
| 4 | Buat ZFS pool | zpool create dengan opsi yang sesuai |
| 5 | Buat ZFS filesystem | ROOT/void + home |
| 6 | Mount & simpan cache pool | zfs mount -a + zpool set cachefile |
| 7 | Instalasi chroot | Ikuti panduan instalasi chroot standar |
| 8 | Konfigurasi dracut + ZFS | zol.conf + xbps-install zfs |
| 9 | Finalisasi & reboot | Generate initramfs, install bootloader |