Files
linuxkit/linuxkit.yml
Frédéric Dalleau c2df261e01 Add a target for building kernel with buildx (#3792)
* Use latest kernel in linuxkit

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Parallelize kernel source compression

This surpringly saves a lot of time:
M1: from 340 to 90 seconds
Intel: from 527 to 222 seconds (2 cores 4 threads)

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Add buildx target

buildx can use remote builders and automatically generate the multiarch manifest.
A properly configured builder is required :

First create docker context for the remote builders :
$ docker context create node-<arch> --docker "host=ssh://<user>@<host>"

Then create a buildx configuration using the remote builders:
$ docker buildx create --name kernel_builder --platform linux/amd64
$ docker buildx create --name kernel_builder --node node-arm64 --platform linux/arm64 --append
$ docker buildx use kernel_builder
$ docker buildx ls

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Add a PLATFORMS variable to declare platforms needed for buildx

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Make image name customizable

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Do not tag use the architecture suffix for images built with buildx

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

* Add make kconfigx to upgrade configs using buildx

To update configuration for 5.10 kernels use :
make -C kernel KERNEL_VERSIONS=5.10.104 kconfigx

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>

---------

Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2023-04-28 11:49:08 +03:00

39 lines
1.2 KiB
YAML

kernel:
image: linuxkit/kernel:5.15.27
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:14df799bb3b9e0eb0491da9fda7f32a108a2e2a5
- linuxkit/runc:436357ce16dd663e24f595bcec26d5ae476c998e
- linuxkit/containerd:eeb3aaf497c0b3f6c67f3a245d61ea5a568ca718
- linuxkit/ca-certificates:4de36e93dc87f7ccebd20db616ed10d381911d32
onboot:
- name: sysctl
image: linuxkit/sysctl:e5959517fab7b44692ad63941eecf37486e73799
- name: dhcpcd
image: linuxkit/dhcpcd:2a8ed08fea442909ba10f950d458191ed3647115
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
onshutdown:
- name: shutdown
image: busybox:latest
command: ["/bin/echo", "so long and thanks for all the fish"]
services:
- name: getty
image: linuxkit/getty:06f34bce0facea79161566d67345c3ea49965437
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:331294919ba6d953d261a2694019b659a98535a4
- name: nginx
image: nginx:1.19.5-alpine
capabilities:
- CAP_NET_BIND_SERVICE
- CAP_CHOWN
- CAP_SETUID
- CAP_SETGID
- CAP_DAC_OVERRIDE
binds:
- /etc/resolv.conf:/etc/resolv.conf
files:
- path: etc/linuxkit-config
metadata: yaml