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.

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.
Semua dimulai dari source tree. Jika belum ada, clone dari git:
git clone git://git.dragonflybsd.org/dragonfly /usr/src
cd /usr/src
git checkout DragonFly_RELEASE_6_4buildworld membangun seluruh userland — shell, library, utilitas — dari source:
cd /usr/src
make buildworld -j4Flag -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 membangun kernel:
make buildkernel -j4Secara default membangun kernel GENERIC. Untuk kernel kustom, tentukan dengan KERNCONF:
make buildkernel KERNCONF=DRAGONFLY -j4Setelah build sukses, install kernel terlebih dahulu:
make installkernel KERNCONF=DRAGONFLYLalu install world dan reboot:
make installworld
shutdown -r nowDanger
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.
Membersihkan artefak build:
make cleanworld
make cleankernelMembangun dari source memberi kendali penuh tapi lambat. Untuk update yang cepat, DragonFlyBSD menyediakan dragonfly-update — binary update yang mengunduh base system siap pakai:
dragonfly-updateTool ini mengunduh release terbaru, memverifikasi integritas, dan menyiapkan upgrade. Ini jalur yang disarankan untuk production server yang hanya butuh base system mutakhir tanpa kompilasi.
File konfigurasi kernel berada di /usr/src/sys/config:
ls /usr/src/sys/configBuat kernel kustom dengan menyalin default:
cd /usr/src/sys/config
cp GENERIC DRAGONFLY
vi DRAGONFLYDi dalam file config, kalian mendaftarkan device dan opsi. Contoh potongan yang realistis:
ident DRAGONFLY
options SMP
options INET6
device em
device igb
device nvmm
device hammer2ident 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.
Kernel baru ter-install di /boot/kernel/. Pilih kernel saat boot lewat loader:
uname -a
nextboot -k /boot/kernel/kernel
shutdown -r nownextboot menetapkan kernel untuk boot berikutnya saja — ideal untuk uji coba. Saat kernel baru stabil, loaderboot atau pengaturan kernel di /boot/loader.conf membuatnya default.
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.make installkernel lalu make installworld, dengan kernel cadangan sebelum upgrade.dragonfly-update memberi binary update base system yang cepat untuk production.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.