Skip to content
Oleg Ginzburg edited this page Nov 10, 2022 · 8 revisions

Firestarter

This page will be devoted to deep optimization of BSDs and Linux distros for virtual systems for the fastest possible work in the bhyve hypervisor. This allows you to use the bhyve hypervisor as a base for the FaaS/high performance platform.

This is a logical continuation of https://github.com/cbsd/microbhyve R&D.

Timing of the accessibility of the entrance to the terminal from the moment the hypervisor starts:

OS/distro time to ssh/login Profile/exec cmd
FreeBSD 1.18s vm_os_type=freebsd vm_os_profile=cloud-firestarter-ufs-x64-14
Linux 1.40s vm_os_type=freebsd vm_os_profile=cloud-firestarter-debian-11

We believe that we will improve (reduce) these by about 5-10+ times!

This work is inspired by https://aws.amazon.com/blogs/aws/firecracker-lightweight-virtualization-for-serverless-computing/ and many more...

Initial 'firestarter' images available in CBSD 13.1.16+:

CBSD version OS/distro what was improved
13.1.6 FreeBSD Firestater custom kernel
Switch to base-in-packages
getting rid of the cloud-init service
-------------- --------------------------------------
Linux Custom kernel
getting rid of the cloud-init service
------------ -------------- --------------------------------------

ℹ️ FreeBSD firestarter image hints: if you didn't find the usual commands/files in the distribution, just install the required package via pkg install -y FreeBSD-XXX, e.g. for 'telnet':

pkg install -y FreeBSD-telnet

Full FreeBSD-base-in packages list: https://github.com/cbsd/cbsd/wiki/Firestarter-FreeBSD

asciicast


Ref:

Clone this wiki locally