Firecracker microVM:如何创建自定义 Firecracker microVM 和文件系统映像

V.B*_*.B. 5 linux virtual-machine docker firecracker

我通过 Docker 从源代码构建并按照步骤完成了Firecracker microVM入门指南。我通过 CLI/Visual Studio UI/ECS 了解 Docker,并记得在 Docker 无处不在之前手动构建 AWS AMI...

然而,这部分对我来说是完全未知的领域,过去几周的几次谷歌搜索都没有帮助:

接下来,您将需要一个未压缩的 Linux 内核二进制文件和一个 ext4 文件系统映像(用作 rootfs)。您可以使用我们的 microVM 镜像 S3 存储桶中的这些文件:kernelrootfs

  1. 什么是hello-vmlinux.bin以及如何使用我预装的应用程序构建一个应用程序?是否可以与 Docker 或 AMI 类似,即以简单的方式完成?

  2. 什么是hello-rootfs.ext4文件以及如何为与上述 1. 相同的目的创建自定义文件?

Max*_*axV 5

vmlinux.bin - 它将被 VM 使用的 linux 内核映像。可能您可以使用提供的内核而无需任何修改。

hello-rootfs.ext4 - 它是一个包含 VM 根文件系统的文件。您必须修改该文件才能添加您的应用程序。

  1. Mount 提供了 rootfs 来做你的改变

mkdir -p /tmp/myroot

须藤挂载 rootfs.ext4 /tmp/my-rootfs

  1. 将您的应用程序和所有依赖项复制到 /tmp/my-rootfs/opt/
  2. 将应用程序的启动脚本添加到 /tmp/myroot/etc/init.d/ 必须为 OpenRC init 系统准备启动脚本。

  3. 卸载 rootfs

    须藤 umount /zprojects/modus/sketch/images/hello-rootfs.ext4

启动 firecracker,这样您的应用程序将作为 VM init 系统启动的一部分启动。

您可能还想检查如何为您的 VM 提供网络访问:vm network setup doc