Kernel
Seri Kernel
T4n OS menyediakan beberapa seri kernel di repositori default dengan penamaan linux<x>.<y>. Untuk melihat semua seri yang tersedia:
xbps-query --regex -Rs '^linux[0-9.]+-[0-9._]+' | sort -Vrk2
Meta-paket linux yang terinstal secara default bergantung pada salah satu paket kernel — biasanya kernel mainline terbaru yang kompatibel dengan semua modul DKMS. Kernel yang lebih baru mungkin tersedia di repositori, namun belum tentu cukup stabil untuk dijadikan default — gunakan dengan risiko sendiri.
Jika ingin menggunakan kernel lebih baru dan membutuhkan modul DKMS:
# Instal paket headers sesuai versi kernel
sudo xbps-install -S linux<x>.<y>-headers
# Reconfigure kernel untuk membangun modul DKMS
sudo xbps-reconfigure linux<x>.<y>
Menghapus Kernel Lama
Saat kernel diperbarui, versi lama tetap disimpan sebagai cadangan rollback. Seiring waktu, kernel lama dapat menumpuk dan:
- Menghabiskan ruang disk.
- Memperlambat proses update modul DKMS.
- Jika
/bootadalah partisi terpisah dan penuh, update bisa gagal atau menghasilkan initramfs yang tidak lengkap dan menyebabkan kernel panic.
Gunakan vkpurge untuk membersihkan kernel lama:
sudo vkpurge rm <versi> # Hapus versi tertentu
sudo vkpurge rm all # Hapus semua kernel lama
vkpurgesudah terinstal secara default. Perintah ini hanya menghapus kernel tertentu, bukan paket kernel-nya.
Menghapus Seri Kernel Default
Jika sudah menginstal seri kernel lain dan ingin menghapus kernel default:
- Instal atau tandai
linux-basesebagai manual package:
sudo xbps-install -S linux-base
# atau jika sudah terinstal:
sudo xbps-pkgdb -m manual linux-base
- Tambahkan
linuxdanlinux-headerskeignorepkgdi/etc/xbps.d/*.conf:
ignorepkg=linux linux-headers
- Hapus paket kernel default:
sudo xbps-remove linux linux-headers
Beralih ke Seri Kernel Lain
Untuk beralih ke linux-lts atau linux-mainline:
# Instal seri kernel yang diinginkan
sudo xbps-install -S linux-lts linux-lts-headers
# Tambahkan ke ignorepkg agar tidak ditimpa
# Edit /etc/xbps.d/*.conf:
# ignorepkg=linux linux-headers
# Hapus kernel default
sudo xbps-remove linux linux-headers
Mengganti Generator initramfs
Secara default, T4n OS menggunakan dracut untuk membuat initramfs. Alternatif seperti mkinitcpio juga tersedia.
Untuk beralih ke mkinitcpio:
# Instal mkinitcpio
sudo xbps-install -S mkinitcpio
# Cek daftar alternatif yang tersedia
xbps-alternatives -l -g initramfs
# Set mkinitcpio sebagai generator aktif
sudo xbps-alternatives -s mkinitcpio
# Regenerasi initramfs secara paksa
sudo xbps-reconfigure -f linux<x>.<y>
Kernel Command Line
Parameter kernel dapat dikonfigurasi saat boot. File /proc/cmdline berisi parameter yang aktif saat ini:
cat /proc/cmdline
Melalui GRUB
Edit /etc/default/grub, ubah variabel GRUB_CMDLINE_LINUX_DEFAULT, lalu perbarui GRUB:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Melalui dracut
dracut menyediakan opsi kernel_cmdline di file konfigurasinya. Setelah mengubah konfigurasi dracut, regenerasi initramfs:
sudo xbps-reconfigure -f linux<x>.<y>
Catatan: Opsi ini hanya efektif jika dracut membuat UEFI executable. Untuk initramfs biasa, parameter ditulis ke
/etc/cmdline.ddi dalam image dan hanya dibaca oleh dracut sendiri — bukan oleh kernel.
Kernel Hardening
T4n OS mengaktifkan beberapa opsi keamanan kernel secara default. Sejak kernel 5.3, opsi lama (slub_debug=P, page_poison=1) digantikan oleh:
| Opsi | Default | Dampak Performa | Keterangan |
|---|---|---|---|
init_on_alloc | ON | ~1% (minimal) | Aktif secara default pada linux 5.4+ |
init_on_free | OFF | ~5% (rata-rata) | Harus diaktifkan manual |
Untuk mengaktifkan init_on_free, tambahkan ke kernel command line:
init_on_free=1
Untuk menonaktifkan init_on_alloc (tidak disarankan):
init_on_alloc=0
Jika masih menggunakan kernel di bawah 5.4 dan opsi lama masih aktif, pertimbangkan untuk menghapusnya karena dampak performanya setara dengan
init_on_free=1.
Kernel Modules
Memuat Modul Saat Boot
Buat file .conf di /etc/modules-load.d/. Contoh untuk memuat virtio-net:
# /etc/modules-load.d/virtio.conf
virtio-net
Blacklist Modul
Modul yang Dimuat Setelah initramfs
Buat file .conf di /etc/modprobe.d/. Contoh untuk blacklist radeon:
# /etc/modprobe.d/radeon.conf
blacklist radeon
Modul dalam initramfs
Setelah mengubah konfigurasi, regenerasi initramfs agar perubahan diterapkan saat boot berikutnya.
dracut — buat file di /etc/dracut.conf.d/:
# /etc/dracut.conf.d/radeon.conf
omit_drivers+=" radeon "
mkinitcpio — buat file di /etc/modprobe.d/:
# /etc/modprobe.d/radeon.conf
blacklist radeon
Kernel Hooks
T4n OS menyediakan direktori untuk kernel hooks di:
/etc/kernel.d/pre-install/
/etc/kernel.d/post-install/
/etc/kernel.d/pre-remove/
/etc/kernel.d/post-remove/
Hooks ini digunakan untuk memperbarui boot menu bootloader seperti GRUB.
| Hook | Dijalankan oleh | Kapan |
|---|---|---|
pre/post-install | xbps-reconfigure | Saat kernel diinstal/diperbarui |
pre/post-remove | vkpurge | Saat kernel lama dihapus |
Untuk menerapkan perubahan konfigurasi initramfs secara manual:
sudo xbps-reconfigure --force linux<x>.<y>
DKMS (Dynamic Kernel Module Support)
Beberapa modul kernel di luar source tree Linux dibangun saat instalasi menggunakan DKMS. Untuk melihat modul yang tersedia:
xbps-query -Rs dkms
Log build DKMS tersimpan di:
/var/lib/dkms/