Skip to content

[r2cn] 为 Qlean 镜像模块增加主流发行版以及自定义镜像支持 #14

@genedna

Description

@genedna

[任务] 为 Qlean 镜像模块增加主流发行版以及自定义镜像支持

[任务分值] 20 分

[背景描述] Qlean 是一个基于 QEMU/KVM 的系统级隔离测试库,为 Rust 项目提供完全独立的虚拟机测试环境。目前 Qlean 仅支持 Debian 镜像,需要增加其他主流 Linux 发行版以及自定义虚拟机镜像的支持。

[需求描述]

  • 参考现有的 Debian 镜像实现,通过泛型机制为 Image 模块添加 Ubuntu、Fedora 和 Arch 支持,实现镜像下载以及 kernel/initrd 提取
  • 在上述内容的基础上为 Image 模块添加自定义镜像支持,允许通过指定下载链接/本地路径+文件哈希值的方式使用自定义镜像
  • 探索在下载镜像的同时流式计算文件哈希值,要求实现性能与系统命令行工具(sha256sum/sha512sum)相近
    以上内容须配套实现测试,同时建议拆分为独立的 PR 提交

[代码标准]

  1. 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide
  2. 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
  3. 代码注释均需要使用英文;

[PR 提交地址] 提交到 mega 仓库的 main 分支 src 目录;

[开发指导]

  1. 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;

[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。

  1. Quanyi Ma genedna@qq.com
  2. Tianxing Ye yetianxing2014@gmail.com

[备注]

  1. 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务r2cn 开源实习计划 - 学生注册与审核

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions