https://github.com/e2b-dev/fc-kernels
Repository for kernel configs and build pipeline for Linux kernel
https://github.com/e2b-dev/fc-kernels
Last synced: about 1 month ago
JSON representation
Repository for kernel configs and build pipeline for Linux kernel
- Host: GitHub
- URL: https://github.com/e2b-dev/fc-kernels
- Owner: e2b-dev
- License: apache-2.0
- Created: 2025-06-18T17:43:44.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-02-09T18:36:58.000Z (2 months ago)
- Last Synced: 2026-02-09T22:24:56.111Z (2 months ago)
- Language: HCL
- Homepage:
- Size: 142 KB
- Stars: 12
- Watchers: 0
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fc-kernels
## Overview
This project automates the building of custom Linux kernels for Firecracker microVMs, using the same kernel sources as official Firecracker repo and custom configuration files. It supports building specific kernel versions and uploading the resulting binaries to a Google Cloud Storage (GCS) bucket.
## Prerequisites
- Linux environment (for building kernels)
## Building Kernels
1. **Configure kernel versions:**
- Edit `kernel_versions.txt` to specify which kernel versions to build (one per line, e.g., `6.1.102`).
- Place the corresponding config file in `configs/` (e.g., `configs/6.1.102.config`).
2. **Build:**
```sh
make build
# or directly
./build.sh
```
The built kernels will be placed in `builds/vmlinux-/vmlinux.bin`.
## Development Workflow
- On every push, GitHub Actions will automatically build the kernels and save it as an artifact.
## New Kernel in E2B's infra
_Note: these steps should give you new kernel on your self-hosted E2B using https://github.com/e2b-dev/infra_
- Copy the kernel build in your project's object storage under `e2b-*-fc-kernels`
- In [packages/api/internal/cfg/model.go](https://github.com/e2b-dev/infra/blob/main/packages/api/internal/cfg/model.go) update `DefaultKernelVersion`
- Build and deploy `api`
## License
This project is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.