# banger Minimal Firecracker launcher. ## Requirements - Linux host with KVM (`/dev/kvm` access) - `sudo`, `ip`, `curl`, `ssh` ## Files - `firecracker`: Firecracker binary - `vmlinux`: guest kernel - `rootfs.ext4`: guest root filesystem - `id_ed25519`: SSH key for `root` ## Run ``` ./run.sh ``` ## SSH ``` ssh -i "./id_ed25519" root@ ``` ## Shutdown ``` reboot ``` ## VM Info File Each VM writes a metadata file at `state/vm-*/info` with the following fields: - `vm_id`: unique identifier for the VM instance. - `pid`: Firecracker process ID. - `created_at`: timestamp when the VM was launched. - `guest_ip`: IP address assigned to the guest. - `tap`: host TAP interface name attached to the bridge. - `api_sock`: path to the Firecracker API socket. - `log`: path to the Firecracker log file. - `base_loop`: loop device backing the base rootfs (if present). - `cow_file`: copy-on-write image file (if present). - `cow_loop`: loop device for the COW image (if present). - `dm_name`: device-mapper name for the merged rootfs (if present). - `dm_dev`: device-mapper device path for the merged rootfs (if present). ## Log Notes - `PCI: Fatal: No config space access function found` and `MissingAddressRange` lines are expected with `pci=off` in `run.sh`. - `SELinux: Could not open policy file ...` is expected in the minimal rootfs.