Episode ini memandu instalasi Cloud Hypervisor dengan dua cara: mengunduh binary release v53.0 atau mengkompilasi dari source dengan cargo build --release. Kalian juga menyiapkan setcap cap_net_admin+ep, memverifikasi versi, serta memastikan /dev/kvm dan dukungan CPU virtualization siap dipakai.

Setelah memahami arsitektur Cloud Hypervisor di episode 2, saatnya aksi nyata pertama: memasang binary di host kalian. Di episode 3 kita membahas dua jalur instalasi — binary prebuilt untuk kecepatan dan build dari source untuk kontrol penuh — lalu memverifikasi instalasi serta memastikan fondasi KVM siap.
Keputusan "prebuilt atau build sendiri" bukan sekadar soal kemudahan. Di production, binary prebuilt dari rilis resmi adalah pilihan paling waras karena sudah diuji CI dan di-sign. Build dari source berguna ketika kalian ingin memotong fitur, menerapkan patch, atau berkontribusi ke proyek. Kita bahas keduanya.
Sebelum menginstall, pastikan toolchain yang dibutuhkan ada. Untuk binary prebuilt, kalian hanya butuh glibc kompatibel (atau memakai varian statis). Untuk build dari source, siapkan Rust toolchain:
rustc --version
cargo --versionJika belum ada, install lewat rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"Note
Build Cloud Hypervisor membutuhkan versi Rust yang relatif baru karena memakai fitur compiler terbaru. Jika cargo build gagal dengan error tentang versi toolchain, jalankan rustup update stable terlebih dahulu.
Cara tercepat adalah mengunduh rilis resmi dari GitHub. Untuk series ini kita memakai v53.0 (rilis 12 Juli 2026). Pilih file sesuai arsitektur host:
wget https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v53.0/cloud-hypervisor-static-x86_64
chmod +x cloud-hypervisor-static-x86_64
sudo install cloud-hypervisor-static-x86_64 /usr/local/bin/cloud-hypervisorUntuk aarch64, ganti nama file menjadi cloud-hypervisor-static-aarch64. Varian static menggabungkan semua dependency ke dalam satu file, sehingga tidak bergantung pada versi library sistem — sangat membantu saat menyalin binary ke host lain.
Jika ingin mengkompilasi sendiri, clone repository resmi lalu build:
git clone https://github.com/cloud-hypervisor/cloud-hypervisor.git
cd cloud-hypervisor
cargo build --releasecargo build --release menghasilkan binary di target/release/cloud-hypervisor. Proses ini butuh waktu cukup lama (beberapa menit sampai puluhan menit tergantung hardware) karena mengkompilasi ratusan crate. Selesaikan dengan salin binary ke PATH:
sudo install -D target/release/cloud-hypervisor /usr/local/bin/cloud-hypervisorTip
Repo resmi menyediakan script scripts/dev_cli.sh dan scripts/run_cli.sh yang mem-bootstrap environment build di dalam container — berguna jika kalian tidak ingin menginstall toolchain sistem. Untuk kontribusi, baca CONTRIBUTING.md; build lokal yang benar hanyalah langkah pertama.
Seperti disinggung di episode 0, membuat TAP device butuh CAP_NET_ADMIN. Beri capability pada binary agar bisa membuat TAP tanpa harus root:
sudo setcap cap_net_admin+ep /usr/local/bin/cloud-hypervisor
getcap /usr/local/bin/cloud-hypervisorgetcap harus menampilkan cap_net_admin=ep. Tanpa ini, menjalankan VM dengan --net tap=... akan gagal dengan error permission. Kalau tidak ingin mengandalkan setcap, jalankan cloud-hypervisor sebagai root — tetapi itu bukan praktik terbaik (episode 12).
cloud-hypervisor --versionOutputnya berbentuk seperti cloud-hypervisor v53.0 beserta commit hash. Untuk melihat fitur apa saja yang aktif pada binary ini, gunakan --help:
cloud-hypervisor --help | head -60cloud-hypervisor --help menampilkan seluruh opsi global (kernel, firmware, cpus, memory, disk, net, fs, dsb.) yang akan kita pakai sepanjang series. Baca baik-baik — opsi di sini adalah antarmuka utama kalian sehari-hari.
Cloud Hypervisor tidak bisa berjalan tanpa KVM. Verifikasi fondasinya:
ls -l /dev/kvm
grep -cE "(vmx|svm)" /proc/cpuinfoAngka dari grep -cE "(vmx|svm)" adalah jumlah logical CPU yang mendukung virtualisasi. Jika nol, periksa pengaturan virtualization di BIOS/UEFI, atau pakai instance cloud dengan nested virtualization (episode 19). Jika /dev/kvm tidak ada tapi flag CPU ada, muat modul kernel:
sudo modprobe kvm
sudo modprobe kvm_intel # untuk Intel; kvm_amd untuk AMDUji bahwa VMM bisa berinteraksi dengan KVM dengan menjalankan VM kosong (tanpa disk, hanya boot kernel jika tersedia). Untuk sekarang, cukup pastikan proses start tidak langsung error terkait KVM:
cloud-hypervisor --cpus boot=1 --memory size=256MTanpa kernel, perintah ini akan berhenti dengan pesan tentang firmware/kernel yang hilang — itu normal dan justru membuktikan bahwa KVM berhasil diinisialisasi. Di episode 4 kita akan menyediakan kernel dan benar-benar boot.
Warning
Jangan menjalankan cloud-hypervisor tanpa setcap atau di dalam lingkungan tanpa /dev/kvm, lalu menyimpulkan VMM-nya rusak. Selalu urutkan diagnosa: cek /dev/kvm, cek setcap, baru cek konfigurasi VM. Ini menghemat banyak waktu debugging di episode-episode berikutnya.
Inti yang harus dibawa pulang:
cargo build --release untuk kontrol penuh.setcap cap_net_admin+ep agar TAP bisa dibuat tanpa root.cloud-hypervisor --version dan cloud-hypervisor --help adalah gerbang verifikasi pertama./dev/kvm + flag vmx/svm adalah prasyarat mutlak; muat modul KVM jika perlu.Di episode 4 selanjutnya kita akan melakukan boot pertama: Linux & UEFI — direct boot dengan --kernel vmlinux dan PVH, lalu firmware boot dengan hypervisor-fw dan CLOUDHV.fd (edk2) untuk OS penuh. Ini momen pertama VM kalian benar-benar hidup!