Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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=arm64vmlinux-arm64 (uncompressed Image)
  • make TARGET_ARCH=x86_64vmlinuz-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.