如何从安装 ISO 构建自定义 LXD 映像

如何从安装 ISO 构建自定义 LXD 映像

我有一个操作系统安装 ISO。我的目标是在运行 LXD 的 Ubuntu 主机的内核上运行第二个操作系统。我找不到该操作系统的任何基础映像。我是否可以构建自定义 lxc 映像以在 ubuntu 内核上运行并访问第二个系统的 shell?

先谢谢了。

答案1

Stéphane Graber 在文章中描述了从头开始创建 LXD 2.0 及以上版本镜像的过程LXD 2.0:图像管理(部分“手动构建图像”):

手动构建镜像

构建你自己的形象也非常简单。

  1. 生成容器文件系统。这完全取决于您使用的发行版。对于 Ubuntu 和 Debian,可以使用debootstrap
  2. 配置分发在容器中正常工作所需的一切(如果需要的话)。
  3. 制作该容器文件系统的 tarball,可选择对其进行压缩。
  4. metadata.yaml根据上面描述的文件编写一个新文件。
  5. 创建另一个包含该metadata.yaml文件的 tarball。
  6. 使用以下命令将这两个 tarball 导入为 LXD 镜像:

    lxc image import <metadata tarball> <rootfs tarball> --alias some-name
    

在一切正常之前,您可能需要重复几次,对一些东西进行调整,可能还要添加一些模板和属性。

该文件metadata.yaml必须至少包含以下两个键/值对(i686用正确的系统架构和1458040200Unix 纪元格式的时间戳替换(例如date +%s):

architecture: "i686"
creation_date: 1458040200

有关的更多信息,metadata.yaml请参见上述文章(部分“图像元数据”)。

答案2

2022 年,我使用 Hashicorp Packer 构建自定义路心得图像(但它停止工作) - 所以我写了并最近发布了:

作为独立应用程序安装:

  • pipx install distrobuilder-menu

Github 上的 README将始终是最新版本并且足以让大多数用户快速上手。

特征

  • 通过 Github REST API 更新的标准模板
  • 当标准模板更新时,自定义模板会自动重新生成(因此它们永远不会过时)
  • LXD 及其新分支incus均受支持
  • 风俗路心得&龙芯可以构建图像

相关内容