KyberImage is a flexible and extensible build system designed to simplify the process of creating virtual machine images for various platforms.
KyberBench is a container-based project for building virtual development environments.
KyberLab Virt-AArch64 is a virtual development platform for AArch64 architecture.
English Version | 中文版本
KyberLab Virt-AArch64 是一个 AArch64 架构的虚拟开发平台:
通过实现多种系统镜像的自动化构建和运行,实现基础软件开发的DevOps,做到从源码和配置到系统镜像的一一映射,简化基础软件开发的配置管理,提高开发效率和质量。
在AI时代,通过 Vibe Coding 和 Spec Coding 进行软件开发的方法已经越来越流行。然而,在基础软件开发领域,由于开发和运行环境多变,构建和部署步骤繁杂,导致开发效率低下。同时也不利于通过AI来自动化的编码和测试,为此,KyberLab 通过简化和自动化基础软件的开发环境的搭建、多种系统镜像的构建、部署和运行,从而使得 AI 和工程师更容易的开发基础软件。
确保系统已安装以下依赖:
git clone https://github.com/KyberLab/Virt-AArch64.git
cd Virt-AArch64
git submodule update --init --recursive
# 构建Dockpin虚拟工作台镜像
make build_dockpin
# 构建Virt-AArch64虚拟工作台镜像
make build_virt-aarch64
# 启动Virt-AArch64虚拟工作台环境,并进入交互式Shell
make run_virt-aarch64
# 构建默认镜像(默认会自动进入容器中执行,并在build目录中执行构建)
make image_build
# 安装默认(由 IMAGE_BUILD_LIST 变量指定)镜像
make image_install
# 安装BusyBox(默认安装到output目录)
make busybox_install
# 运行默认镜像
make run
# 运行BuildRoot镜像
make run QEMU_BOOT_IMAGE=BuildRoot
KyberLab Virt-AArch64/
├── bench/ # 虚拟工作台环境
│ ├── image/ # 工作台镜像配置
│ ├── rules/ # 构建规则和工具
│ └── *.mk # 工作台构建和运行脚本
├── config/ # 配置目录
│ └── image/ # 构建目标(Goal)配置
│ ├── BuildRoot/ # BuildRoot 配置
│ ├── BusyBox/ # BusyBox 配置
│ ├── KyberEmu/ # 模拟器配置
│ ├── Linux/ # Linux 配置
│ ├── U-Boot/ # U-Boot 配置
│ └── Ubuntu/ # Ubuntu 配置
├── image/ # 镜像构建目录
│ ├── goal/ # 构建目标
│ ├── method/ # 构建方法(Method)配置
│ ├── scripts/ # 构建脚本
│ └── type/ # 镜像类型(Type)配置
├── download/ # 下载目录(忽略)
├── build/ # 构建输出目录(忽略)
├── output/ # 最终输出目录(忽略)
├── Makefile # 主构建脚本
├── WorkSpace.mk # 工作空间配置
├── README.md # 英文项目说明
└── README_zh.md # 中文项目说明
构建目标(Goal)位于config/image/目录下,是系统镜像构建的实例,每个构建目标必须指定一个构建类型(Type),并可对其中的构建方法进行重载。
构建类型(Type)定义构建目标(Goal)的构建方法和步骤,目前支持的构建类型有:
构建阶段(Phase)是每个构建目标(Goal)在构建过程中需要执行的基本步骤,主要有:
每个构建类型(Type)和构建阶段(Phase)的具体实现方法,主要有:
项目支持多种镜像构建,位于 config/image/ 目录:
支持多种构建方法,位于 image/method/ 目录, 以及多种构件类型,位于 image/type/ 目录。
有关更多详细信息,请参阅 image 文档。
虚拟工作台环境位于 bench/ 目录,提供了:
有关更多详细信息,请参阅 bench 文档。
本项目采用 Apache License 2.0 许可证。详见 LICENSE 文件。