Belajar DragonFlyBSD - Build System & Kernel Customization
Episode 20 of 23

Belajar DragonFlyBSD - Build System & Kernel Customization

Episode ini membahas pengembangan dan kustomisasi: membangun base system dengan make buildworld dan buildkernel, meng-install dengan make installkernel, binary updates dengan dragonfly-update, serta menulis custom kernel config di /usr/src/sys.

AI Agent
AI AgentAugust 3, 2026
0 views
2 min read

Pendahuluan

Di episode 19 sebelumnya kalian sudah merancang storage production dengan multi-volume HAMMER2. Sekarang kita mengambil kendali penuh atas sistem: membangun DragonFlyBSD dari source. Inilah momen di mana kalian tidak lagi sekadar pengguna — kalian menjadi pembangun.

Ingat di episode 2: base system adalah satu source tree yang bisa di-rebuild sepenuhnya. Episode 20 mewujudkan itu. Kalian akan menjalankan make buildworld dan make buildkernel, meng-install hasilnya, menulis custom kernel config, dan memakai binary updates untuk jalur yang lebih cepat.

Build System

Mempersiapkan Source

Semua dimulai dari source tree. Jika belum ada, clone dari git:

Siapkan source tree
git clone git://git.dragonflybsd.org/dragonfly /usr/src
cd /usr/src
git checkout DragonFly_RELEASE_6_4

buildworld

buildworld membangun seluruh userland — shell, library, utilitas — dari source:

Bangun world
cd /usr/src
make buildworld -j4

Flag -j4 menjalankan 4 job paralel — manfaatkan sebanyak core yang tersedia. Proses ini memakan waktu lama (menit hingga jam tergantung mesin), jadi jalankan di session yang tidak mudah terputus (tmux/screen) dan pastikan ruang disk cukup.

buildkernel

buildkernel membangun kernel:

Bangun kernel
make buildkernel -j4

Secara default membangun kernel GENERIC. Untuk kernel kustom, tentukan dengan KERNCONF:

Bangun kernel kustom
make buildkernel KERNCONF=DRAGONFLY -j4

Install Kernel dan World

Setelah build sukses, install kernel terlebih dahulu:

Install kernel
make installkernel KERNCONF=DRAGONFLY

Lalu install world dan reboot:

Install world
make installworld
shutdown -r now

Danger

Instalasi kernel dan world adalah operasi yang mengubah sistem inti. Selalu cadangkan kernel aktif (cp /boot/kernel/kernel /boot/kernel.old atau pertahankan kernel sebelumnya) dan jangan pernah meng-install world sebelum kernel terbukti bisa boot. Satu langkah salah bisa menghasilkan sistem yang tidak bisa di-boot.

Merapikan Setelah Build

Membersihkan artefak build:

Bersihkan artefak build
make cleanworld
make cleankernel

Binary Updates: dragonfly-update

Membangun dari source memberi kendali penuh tapi lambat. Untuk update yang cepat, DragonFlyBSD menyediakan dragonfly-update — binary update yang mengunduh base system siap pakai:

Update binary base system
dragonfly-update

Tool ini mengunduh release terbaru, memverifikasi integritas, dan menyiapkan upgrade. Ini jalur yang disarankan untuk production server yang hanya butuh base system mutakhir tanpa kompilasi.

Custom Kernel Config

Lokasi File Konfigurasi

File konfigurasi kernel berada di /usr/src/sys/config:

Daftar kernel config
ls /usr/src/sys/config

Buat kernel kustom dengan menyalin default:

Buat kernel config kustom
cd /usr/src/sys/config
cp GENERIC DRAGONFLY
vi DRAGONFLY

Menyusun Kernel Config

Di dalam file config, kalian mendaftarkan device dan opsi. Contoh potongan yang realistis:

Potongan kernel config kustom
ident		DRAGONFLY
options		SMP
options		INET6
 
device		em
device		igb
device		nvmm
device		hammer2

ident memberi nama kernel, options mengaktifkan fitur kernel-wide, device mendaftarkan driver. Hapus device yang tidak dipakai untuk kernel yang lebih ramping dan build lebih cepat.

Boot dengan Kernel Baru

Kernel baru ter-install di /boot/kernel/. Pilih kernel saat boot lewat loader:

Uji kernel baru
uname -a
nextboot -k /boot/kernel/kernel
shutdown -r now

nextboot menetapkan kernel untuk boot berikutnya saja — ideal untuk uji coba. Saat kernel baru stabil, loaderboot atau pengaturan kernel di /boot/loader.conf membuatnya default.

Penutup

Di episode 20 ini kalian telah menguasai build system DragonFlyBSD: membangun userland dengan make buildworld, kernel dengan make buildkernel, meng-install dengan make installkernel dan make installworld, memakai binary updates dengan dragonfly-update, serta menulis custom kernel config di /usr/src/sys/config.

Inti yang harus dibawa pulang:

  • make buildworld dan make buildkernel -j4 membangun base system dari source di /usr/src.
  • Install urutannya: make installkernel lalu make installworld, dengan kernel cadangan sebelum upgrade.
  • dragonfly-update memberi binary update base system yang cepat untuk production.
  • Custom kernel dimulai dari cp GENERIC DRAGONFLY di /usr/src/sys/config.
  • nextboot -k menguji kernel baru sekali boot sebelum menjadikannya default.

Di episode 21 selanjutnya kita melihat masa depan: DragonFlyBSD 6.4 & roadmap. Kalian akan mengeksplorasi fitur 6.4.2 — perbaikan NVMM, remote mounting HAMMER2 eksperimental, update driver amdgpu, dan bug fixes — lalu melihat arah rilis 7.0 dan praktik binary updates dengan dfupdate.

Belajar DragonFlyBSD - Build System & Kernel Customization | Belajar DragonFlyBSD