Skip to content

spinupdev/kernel

Repository files navigation

Depot Kernel Builder

This repo builds guest kernels for Depot's two VMMs. They are separate, incompatible artifacts: Firecracker boots an uncompressed vmlinux ELF, Cloud Hypervisor boots a raw bzImage/Image produced from its own linux fork. FLAVOR selects which one to build.

Firecracker (default, local checked-in configs)

  • microvm-kernel-ci-x86_64-6.1.config
  • microvm-kernel-ci-aarch64-6.1.config

The build script uses the selected config file directly; no remote preset merge.

./build.sh --print-config-only

ARCH=x86_64 ./build.sh
ARCH=aarch64 ./build.sh

# Optional: use a custom config file in this repo
ARCH=x86_64 KERNEL_CONFIG_PATH=$PWD/my.config ./build.sh

Output: vmlinux-<arch>-<version>-<sha256>{,.config,.tar.gz}

Cloud Hypervisor

Builds cloud-hypervisor/linux at a pinned commit with upstream's ch_defconfig, plus one deviation: CONFIG_IPV6 is force-enabled, because Depot private networks require an in-guest fdaa::/16 address and a link-local IPv6 gateway that upstream's minimal config disables. Keep the pinned commit in sync with depot/scripts/build_cloud_hypervisor_kernel.sh.

FLAVOR=cloud-hypervisor ARCH=x86_64 ./build.sh
FLAVOR=cloud-hypervisor ARCH=aarch64 ./build.sh

# Optional overrides
FLAVOR=cloud-hypervisor CLOUD_HYPERVISOR_LINUX_COMMIT=<sha> ./build.sh

Output: cloud-hypervisor-kernel-<arch>-<commit>-<sha256>{,.config,.tar.gz}

There is no local config file for this flavor — --list-configs and KERNEL_CONFIG_PATH only apply to the Firecracker flavor.

Build (Docker)

Docker is the default and recommended mode for both flavors, including on arm Macs.

Output

Artifacts are written to dist/.

CI

GitHub Actions builds x86_64 and aarch64 for both flavors and uploads tar.gz artifacts.

Workflow: .github/workflows/build.yaml

Releases

.github/workflows/release.yaml publishes both flavors to the same GitHub release, plus stable alias assets that always point at the latest build:

  • kernel-x86_64.tar.gz, kernel-aarch64.tar.gz (Firecracker)
  • cloud-hypervisor-kernel-x86_64.tar.gz, cloud-hypervisor-kernel-aarch64.tar.gz (Cloud Hypervisor)

About

linux kernel with custom config

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages