Sebelum menyentuh Firecracker, kalian perlu menguasai dasar Linux admin, KVM, container, dan networking. Episode ini menyiapkan host virtualisasi dengan KVM aktif, mengunduh binary firecracker dan jailer, menyiapkan kernel serta rootfs microVM, lalu memverifikasi seluruh environment siap untuk mengikuti series ini.

Selamat datang di series Belajar Firecracker! Series ini akan membawa kalian menguasai Firecracker — Virtual Machine Monitor (VMM) ringan berbasis Rust yang menjadi fondasi AWS Lambda dan Fargate, serta teknologi di balik banyak platform serverless dan PaaS modern. Total ada 23 episode yang tersusun dalam enam fase, dari konsep microVM sampai integrasi container runtime dan produksi.
Firecracker bukan VM biasa. Ia didesain untuk satu tujuan: menjalankan ribuan VM kecil dengan boot super cepat dan overhead sumber daya minimal — pola yang berbeda total dari QEMU yang kalian kenal selama ini. Karena filosofinya beda, cara menggunakannya juga beda: satu proses untuk satu VM, dikelola lewat API di Unix socket, diisolasi dengan jailer.
Episode 0 ini adalah peta jalan kalian. Kita akan memastikan skill dasar terpenuhi, menyiapkan host dengan KVM aktif, mengunduh binary Firecracker, menyiapkan kernel dan rootfs microVM, lalu memverifikasi environment untuk pertama kali. Setelah episode ini selesai, 22 episode berikutnya bisa diikuti dengan nyaman.
Firecracker adalah VMM yang bergantung penuh pada KVM (Kernel-based Virtual Machine). Artinya, kalian harus nyaman mengelola host Linux: manajemen proses, permission, namespace, cgroup, dan memastikan hardware virtualization aktif di BIOS. KVM bukan emulasi — VM dijalankan langsung sebagai proses kernel, dan Firecracker memanfaatkannya agar boot hanya butuh milidetik.
Firecracker dikelola lewat command line dan API HTTP di atas Unix socket. Kalian akan banyak menulis curl, ip, jailer, dan firecracker. Pemahaman container (Docker/containerd) sangat membantu karena pola workload Firecracker — image, filesystem, registry — mirip dengan container, hanya isolasinya lebih dalam di level hardware.
MicroVM butuh jaringan. Kalian akan membuat TAP interface di host, menghubungkannya ke bridge, dan mengonfigurasi IP di dalam guest. Pahami dasar TAP, bridge, dan virtio — ini kunci dari episode 5 dan 13 nanti.
Pemahaman PaaS/serverless seperti Lambda membantu kalian memahami mengapa Firecracker ada. Konsep cold start, scale-to-zero, dan isolasi multi-tenant akan terus muncul di sepanjang series.
Firecracker mendukung x86_64 dan aarch64 (Intel/AMD/Arm), dan membutuhkan hardware virtualization. Cek dulu apakah host kalian siap:
lscpu | grep -i virtualization
ls -l /dev/kvm
lsmod | grep kvm/dev/kvm harus ada, dan lsmod | grep kvm harus menampilkan kvm dan kvm_intel atau kvm_amd. Jika kedua perintah itu kosong, aktifkan virtualisasi di BIOS/UEFI atau gunakan instance cloud dengan nested virtualization. Firecracker tidak bisa dijalankan tanpa KVM — ia bukan emulator murni seperti QEMU tanpa akselerasi.
Untuk verifikasi lebih nyaman, install cpu-checker yang menyediakan kvm-ok:
sudo apt install -y cpu-checker
sudo kvm-okOutput KVM acceleration can be used adalah lampu hijau pertama kalian. Jika host tidak punya /dev/kvm, jangan lanjut ke episode berikutnya sebelum masalah ini beres — semua praktik di series ini membutuhkannya.
Unduh rilis resmi dari GitHub. Di series ini kita memakai v1.16.x (versi stabil terkini; v1.16.1 rilis 2 Juli 2026):
ARCH="x86_64" # atau aarch64
wget "https://github.com/firecracker-microvm/firecracker/releases/download/v1.16.1/firecracker-v1.16.1-${ARCH}.tgz"
tar -xzf "firecracker-v1.16.1-${ARCH}.tgz"
sudo cp "release-v1.16.1-${ARCH}/firecracker-v1.16.1" /usr/local/bin/firecracker
sudo cp "release-v1.16.1-${ARCH}/jailer-v1.16.1" /usr/local/bin/jailerPerhatikan: arsip rilis memuat dua binary penting — firecracker (VMM itu sendiri) dan jailer (isolasi keamanan). Keduanya akan menjadi sahabat kalian sepanjang series. Verifikasi:
firecracker --version
jailer --versionMicroVM butuh dua file: kernel (vmlinux atau linux.bin) dan rootfs. Firecracker tidak melakukan boot via BIOS/UEFI tradisional; ia memuat kernel langsung ke memori dan mulai dari entry point — inilah salah satu rahasia kecepatannya. Untuk episode 0, unduh kernel umum yang sudah tersedia (misalnya dari repositori kernel yang disediakan komunitas Firecracker) dan buat rootfs ext4 minimal:
mkdir -p ~/fc-demo && cd ~/fc-demo
wget https://s3.amazonaws.com/spec.ccfc.min/img/quickstart_guide/x86_64/kernels/vmlinux.bin
dd if=/dev/zero of=rootfs.ext4 bs=1M count=512
mkfs.ext4 rootfs.ext4
mkdir -p /tmp/rootfs && sudo mount rootfs.ext4 /tmp/rootfsIsi rootfs dengan distro minimal (misalnya Alpine via apk di chroot, atau copy rootfs siap pakai). Detail build image yang benar kita bedah mendalam di episode 8 — di episode 0 ini cukup memastikan file vmlinux.bin dan rootfs.ext4 ada. Unmount setelah selesai.
curl wajib ada karena seluruh API Firecracker diakses lewat curl --unix-socket. Docker opsional — berguna di episode 11 untuk membangun image container yang akan dijalankan di dalam microVM:
curl --version
docker --version # opsionalSebelum lanjut, jalankan verifikasi menyeluruh:
uname -a
ls -l /dev/kvm
sudo kvm-ok
firecracker --version
jailer --version
curl --versionSemua perintah harus sukses tanpa error. Pastikan juga host memakai cgroup v2 (Firecracker memanfaatkannya untuk isolasi sumber daya bersama jailer):
stat -fc %T /sys/fs/cgroup/Output cgroup2fs berarti cgroup v2 aktif.
Warning
Firecracker membutuhkan KVM. VM di dalam VM (nested virtualization) kadang tidak meng-expose /dev/kvm ke guest. Pastikan /dev/kvm ada di lingkungan tempat kalian akan menjalankan microVM — verifikasi ini adalah gerbang masuk seluruh series.
Rangkuman yang sudah kalian siapkan di episode 0:
/dev/kvm aktif, cgroup v2.firecracker dan jailer v1.16.x, curl, kvm-ok.vmlinux.bin (kernel) dan rootfs.ext4 (filesystem minimal).Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi. Semua episode berikutnya diasumsikan berjalan di atas environment yang sudah siap ini.
Inti yang harus dibawa pulang:
/dev/kvm, tidak ada microVM.firecracker (VMM) dan jailer (isolasi keamanan).curl adalah fondasi operasional yang akan dipakai terus.kvm-ok, firecracker --version, dan jailer --version.Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa Firecracker dibutuhkan — dari akarnya di proyek crosvm Chromium OS, alasan AWS menulisnya ulang dalam Rust, hingga angka 15 triliun invokasi Lambda per bulan yang berjalan di atas Firecracker. Pastikan host kalian sudah siap, karena perjalanan Belajar Firecracker baru saja dimulai!