【问题标题】:Build a rootfs ext4 image from distroless image for firecracker从 distroless 镜像构建 rootfs ext4 镜像 for firecracker
【发布时间】:2022-03-27 20:45:34
【问题描述】:

我需要使用基于 debian 的发行版和 firecracker,我尝试做一些类似于 firecracker 文档给出的操作:here

我尝试运行这个 distroless 映像 gcr.io/distroless/base-debian10 并安装 systemd 并将文件复制到已安装的 rootfs,如下所示:

for d in bin etc lib root sbin usr; do tar c "/$d" | tar x -C /my-rootfs; done
for dir in dev proc run sys var; do mkdir /my-rootfs/${dir}; done

然后更改API调用以添加引导参数init=/bin/systemd

curl --unix-socket /tmp/firecracker.socket -i \
      -X PUT 'http://localhost/boot-source'   \
      -H 'Accept: application/json'           \
      -H 'Content-Type: application/json'     \
      -d "{
            \"kernel_image_path\": \"hello-vmlinux.bin\",
            \"boot_args\": \"init=/bin/systemd reboot=k panic=1 pci=off\"
       }"

但是当我启动虚拟机时我没有得到任何输出,它只是立即关闭。

如何使用最小的 debian distroless 映像创建可启动的 ext4 映像?

【问题讨论】:

    标签: linux docker debian rootfs firecracker


    【解决方案1】:

    我相信您使用的映像没有 systemd 守护程序。如果是这种情况,Firecracker 将尝试在启动时启动 systemd 守护程序(尊重init=/bin/systemd 内核选项)并失败,因为文件系统中没有这样的文件。您可以简单地检查/bin/systemd 在您的文件系统中是否可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-22
      • 1970-01-01
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 2021-11-25
      相关资源
      最近更新 更多