我有一个操作系统安装 ISO。我的目标是在运行 LXD 的 Ubuntu 主机的内核上运行第二个操作系统。我找不到该操作系统的任何基础映像。我是否可以构建自定义 lxc 映像以在 ubuntu 内核上运行并访问第二个系统的 shell?
先谢谢了。
答案1
Stéphane Graber 在文章中描述了从头开始创建 LXD 2.0 及以上版本镜像的过程LXD 2.0:图像管理(部分“手动构建图像”):
手动构建镜像
构建你自己的形象也非常简单。
- 生成容器文件系统。这完全取决于您使用的发行版。对于 Ubuntu 和 Debian,可以使用
debootstrap
。- 配置分发在容器中正常工作所需的一切(如果需要的话)。
- 制作该容器文件系统的 tarball,可选择对其进行压缩。
metadata.yaml
根据上面描述的文件编写一个新文件。- 创建另一个包含该
metadata.yaml
文件的 tarball。使用以下命令将这两个 tarball 导入为 LXD 镜像:
lxc image import <metadata tarball> <rootfs tarball> --alias some-name
在一切正常之前,您可能需要重复几次,对一些东西进行调整,可能还要添加一些模板和属性。
该文件metadata.yaml
必须至少包含以下两个键/值对(i686
用正确的系统架构和1458040200
Unix 纪元格式的时间戳替换(例如date +%s
):
architecture: "i686"
creation_date: 1458040200
有关的更多信息,metadata.yaml
请参见上述文章(部分“图像元数据”)。
答案2
2022 年,我使用 Hashicorp Packer 构建自定义路心得图像(但它停止工作) - 所以我写了并最近发布了:
- distrobuilder 菜单- Distrobuilder 的 Python 控制台前端
作为独立应用程序安装:
pipx install distrobuilder-menu
这Github 上的 README将始终是最新版本并且足以让大多数用户快速上手。
- 通过 Github REST API 更新的标准模板
- 当标准模板更新时,自定义模板会自动重新生成(因此它们永远不会过时)
- LXD 及其新分支
incus
均受支持 - 风俗路心得&龙芯可以构建图像