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 /boot adalah 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

vkpurge sudah 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:

  1. Instal atau tandai linux-base sebagai manual package:
sudo xbps-install -S linux-base
# atau jika sudah terinstal:
sudo xbps-pkgdb -m manual linux-base
  1. Tambahkan linux dan linux-headers ke ignorepkg di /etc/xbps.d/*.conf:
ignorepkg=linux linux-headers
  1. 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.d di 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:

OpsiDefaultDampak PerformaKeterangan
init_on_allocON~1% (minimal)Aktif secara default pada linux 5.4+
init_on_freeOFF~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.

HookDijalankan olehKapan
pre/post-installxbps-reconfigureSaat kernel diinstal/diperbarui
pre/post-removevkpurgeSaat 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/

@T4n-Labs · @Gh0sT4n