# sandbox-kernel **Repository Path**: wu_fengguang/sandbox-kernel ## Basic Information - **Project Name**: sandbox-kernel - **Description**: Build sandbox kernel for epkg, supports both qemu and libkrun VMM modes. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-11 - **Last Updated**: 2026-04-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sandbox-kernel 为 epkg `--vmm=libkrun` 和 `--vmm=qemu` 模式构建沙箱 ELF 内核。 ## 快速开始 ```bash # 安装构建依赖 ./scripts/setup-env.sh # 构建当前架构内核 ./scripts/build.sh # 构建指定架构内核 ./scripts/build.sh x86_64 ./scripts/build.sh aarch64 ./scripts/build.sh riscv64 # 构建所有架构(发布模式) ./scripts/build.sh --tag v6.12.68 ALL ``` ## 目录结构 ``` sandbox-kernel/ ├── kconfig/ │ ├── config-aarch64 # ARM64 内核配置 │ ├── config-riscv64 # RISC-V 64 内核配置 │ └── config-x86_64 # x86_64 内核配置 ├── scripts/ │ ├── setup-env.sh # 安装构建依赖 │ └── build.sh # 主构建脚本 ├── boot/ # 本地开发内核缓存 └── dist/ # 发布产物 ``` ## 构建选项 ``` Usage: build.sh [OPTIONS] [ARCH] Options: -t, --tag TAG 内核版本标签 (默认: 当前 checkout) -j, --jobs N 并行编译数 (默认: nproc) --clean 清理后重新编译 -h, --help 显示帮助 ARCH: x86_64 | aarch64 | riscv64 | ALL (默认: host 架构) ``` ## Linux 源码 构建脚本期望 Linux 源码位于项目根目录下的 `linux-stable/`。 如果不存在会自动 clone。 ``` LINUX_ROOT=${LINUX_ROOT:-$PROJECT_ROOT/linux-stable} ``` ## 输出 - 单架构 + 匹配 host: `boot/` + `~/.epkg/envs/self/boot/` - ALL 模式: `dist/vmlinux-$KVER-$ARCH.zst` ## 依赖 - epkg (用于 setup-env.sh) - zstd, curl - 构建工具链 (通过 setup-env.sh 安装)