Files
Michael Crosby ddd19a61a8 add x86 kernel config (#765)
Add x86 kernel config and build scripts.

Signed-off-by: michael_crosby <michael_crosby@apple.com>
2026-06-16 12:47:20 -04:00

25 lines
1.4 KiB
Markdown

# Containerization Kernel Configuration
This directory includes an optimized kernel configuration to produce a fast and lightweight kernel for container use.
- `config-arm64` and `config-x86_64` include the per-arch kernel `CONFIG_` options.
- `Makefile` includes the kernel version and source package URL.
- `build.sh` scripts the kernel build process.
- `image/` includes the configuration for an image with build tooling.
## Building
1. The build process relies on having the `container` tool installed (https://github.com/apple/container/releases).
2. Run `make`. This should create the image used for building the resulting Linux kernel, and then run a container with that image to perform the kernel build.
### Target architecture
The build target is selected by the `TARGET_ARCH` make variable, which accepts either `arm64` or `x86_64`. When unset, it falls back to the build host's architecture (as reported by `uname -m`, with `aarch64`/`amd64` normalized to `arm64`/`x86_64`).
- `make` (default) → builds for the host arch
- `make TARGET_ARCH=arm64``vmlinux-arm64` (uncompressed `Image`)
- `make TARGET_ARCH=x86_64``vmlinuz-x86_64` (compressed `bzImage`, cross-compiled inside the arm64 container)
- `make x86_64` → convenience alias for `make TARGET_ARCH=x86_64`
The `z` suffix on the x86 name follows Linux convention for a compressed kernel image. The resulting kernel is copied into the repo's `bin/` directory.