OS: PRAKTIKUM — Custom Kernel Ubuntu
Tujuan
Praktikum ini bertujuan membawa mahasiswa satu tingkat lebih dekat ke dunia kernel engineer. Mahasiswa tidak hanya meng-compile kernel, tetapi juga:
- Memberi identitas kernel sendiri
- Menambahkan dukungan file system Windows
- Mem-boot sistem menggunakan kernel hasil karyanya
Pada tahap ini, mahasiswa akan menyadari bahwa kernel Linux adalah sistem yang sangat dapat dikustomisasi, sebagaimana ditekankan bahwa kernel bukan artefak statis, melainkan living system yang dapat dibentuk sesuai kebutuhan .
Compile Kernel Sendiri
Konteks Akademik
Kernel Linux merupakan komponen paling kritis dari sistem operasi. Ia mengelola CPU, memori, I/O, filesystem, dan device driver.
Dengan meng-compile kernel sendiri, mahasiswa:
- Memahami struktur internal kernel
- Melihat langsung dampak konfigurasi terhadap sistem
- Menghilangkan persepsi bahwa kernel adalah black box
Persiapan Lingkungan Build (Ubuntu 24.04)
Pastikan semua dependency tersedia.
sudo apt update sudo apt install -y \ build-essential \ libncurses-dev \ bison \ flex \ libssl-dev \ libelf-dev \ dwarves \ bc \ git
Catatan penting:
Kernel Ubuntu modern mewajibkan dukungan BTF, sehingga paket dwarves harus terpasang, jika tidak proses build akan gagal.
Mengambil Kernel Source
mkdir -p ~/kernel cd ~/kernel wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.tar.xz tar -xvf linux-6.8.tar.xz cd linux-6.8
Menggunakan Konfigurasi Kernel Ubuntu Agar aman dan stabil, gunakan konfigurasi kernel yang sedang berjalan.
cp /boot/config-$(uname -r) .config make oldconfig
Tekan Enter untuk menerima nilai default.
Pendekatan ini dianjurkan dalam untuk menghindari kegagalan boot pada pemula .
Compile Kernel Awal
make -j$(nproc)
Estimasi waktu:
- VM: 20–40 menit
- Bare metal: 10–25 menit
Enable / Disable Fitur Kernel
Masuk ke Menu Konfigurasi
make menuconfig
Di sinilah mahasiswa secara aktif “mendesain” kernel-nya sendiri.
Contoh Enable / Disable Fitur (Aman & Edukatif)
Menonaktifkan Sound Driver
Cocok untuk server dan VM.
Device Drivers └── Sound card support
Ubah menjadi:
Sound card support = [ ]
Dampak:
- Kernel lebih kecil
- Boot lebih cepat
- Tidak ada driver audio yang dimuat
Memastikan File System Penting Aktif
Masuk ke:
File systems
Pastikan aktif (y):
- EXT4 filesystem support
- Pseudo filesystems
- /proc & /sys filesystem
Filesystem root yang tidak aktif = kernel tidak bisa boot.
Menambahkan Nama Versi Kernel (Identitas Kernel)
Konsep Version Signature
Kernel Linux menyediakan opsi untuk menambahkan string identitas khusus, sangat berguna untuk:
- Identifikasi kernel custom
- Debugging
- Dokumentasi praktikum
Masuk ke:
General setup └── Local version - append to kernel release
Isi dengan:
-itts-custom-kernel
Contoh hasil:
6.8.0-itts-custom-kernel
Praktik ini sangat dianjurkan dalam pembelajaran, agar mahasiswa tidak tertukar dengan kernel bawaan distro.
Simpan Konfigurasi
- Simpan dan keluar dari menuconfig.
- File .config akan diperbarui.
Menambahkan File System Windows (NTFS & FAT)
Konteks Akademik
Dalam lingkungan dual-boot atau data exchange, Linux sering berinteraksi dengan file system Windows. Oleh karena itu, kernel harus memiliki dukungan filesystem yang sesuai.
Mengaktifkan NTFS & FAT di Kernel
Masuk ke:
File systems └── DOS/FAT/NT Filesystems
Aktifkan:
- FAT filesystem support
- VFAT (Windows-95) fs support
- NTFS filesystem support
- NTFS write support (opsional, untuk eksperimen)
Set sebagai:
y (built-in) atau m (module, disarankan)
Module lebih fleksibel dan aman untuk sistem produksi.
Dampak Praktis
Setelah kernel ter-boot:
lsmod | grep ntfs
Atau mount filesystem Windows:
sudo mount -t ntfs /dev/sdb1 /mnt
Recompile & Install Kernel
Recompile Kernel
make -j$(nproc)
Install Module & Kernel
sudo make modules_install sudo make install
Secara otomatis:
- Kernel disalin ke /boot
- initramfs dibuat
- GRUB diperbarui
Boot Kernel Hasil Compile
Reboot System
sudo reboot
Saat boot:
- Tekan Shift / Esc
- Masuk menu GRUB
Pilih kernel dengan nama:
6.8.0-itts-custom-kernel
Verifikasi Kernel Aktif
uname -r
Contoh output:
6.8.0-itts-custom-kernel
Kernel custom berhasil dijalankan
Troubleshooting Wajib
Kernel Tidak Muncul di GRUB
sudo update-grub
Kernel Gagal Boot
Langkah aman:
- Pilih kernel lama di GRUB
- Login normal
- Perbaiki .config
- Recompile
Kernel lama adalah “lifeboat” mahasiswa.
Refleksi Akademik & OBE
Praktikum ini secara langsung memenuhi profil lulusan:
- System Builder → membangun kernel sendiri
- Kernel Tinkerer → mengatur fitur & filesystem
( Low-Level Engineer Mindset → memahami konsekuensi konfigurasi Filosofi-nya, keberanian menyentuh kernel adalah kunci membangun kepercayaan diri mahasiswa di dunia sistem operasi .
Challenge Mandiri (Fun & Menantang)
- Tambahkan tag nama sendiri pada kernel
- Bandingkan ukuran kernel sebelum & sesudah NTFS
- Uji mount partisi Windows di VM
- Dokumentasikan perubahan .config