Commit Graph

731 Commits

Author SHA1 Message Date
Avi Deitcher
752a35b1aa restructure kernel/Makefile
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-29 15:28:00 +02:00
Avi Deitcher
421b48d43a bump alpine base for kernel, regenerate configs
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-28 22:27:59 +02:00
Avi Deitcher
a1baf077f2 remove extra package which only is available in later alpine
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-01-25 16:27:43 +02:00
Rolf Neugebauer
959dce294c Merge pull request #3904 from qdeslandes/master
Disable CONFIG_BPFILTER for 5.4.x-x86_64 kernel configuration
2023-08-17 10:02:56 +01:00
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
David Gageot
eb81457111 Avoid running git command 254 times (#3915)
Signed-off-by: David Gageot <david.gageot@docker.com>
2023-03-23 10:55:21 +02:00
Quentin Deslandes
9b9d337037 Disable CONFIG_BPFILTER for 5.4.x-x86_64 kernel configuration
bpfilter is not meant to be used at all at this point. Only the module's
boilerplate is available on upstream kernels.

Signed-off-by: Quentin Deslandes <qde@naccy.de>
2023-01-27 11:55:50 +01:00
Avi Deitcher
e668b25a82 Alpine 317 (#3888) 2023-01-05 07:26:50 +02:00
Rolf Neugebauer
b33bda7a33 Merge pull request #3722 from gabchab/openssl-in-kernel-build
Add openssl to the kernel-build
2022-06-03 21:55:47 +01:00
Frédéric Dalleau
4ec8ef8784 Update amd64 kernel config to 5.10.104
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2022-05-25 13:39:09 +02:00
Frédéric Dalleau
71c04547b2 Update arm64 kernel config to 5.10.104
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2022-05-25 13:39:09 +02:00
Frédéric Dalleau
2028ed927d Update kernel version to 5.10.104
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2022-05-25 13:39:09 +02:00
Frédéric Dalleau
7e79fd449a Update amd64 kernel config to 5.15.27
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2022-05-25 13:39:09 +02:00
Frédéric Dalleau
420a08c709 Update arm64 kernel config to 5.15.27
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2022-05-25 13:39:09 +02:00
Frédéric Dalleau
2e62dd078c Update kernel version to 5.15.27
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2022-05-25 13:39:09 +02:00
Rolf Neugebauer
ae87f6a1e2 kernel: Bump Intel ucode to microcode-20210608
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2022-01-18 01:08:45 +00:00
Rolf Neugebauer
bd4d8ff44e kernel: Add support for 5.15.x kernel
The kernel config is derived from the 5.12 kernel
config we used to have

We explicitly enable RANDOMIZE_KSTACK_OFFSET_DEFAULT
which is off by default.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2022-01-18 01:07:41 +00:00
Rolf Neugebauer
ff606216e4 kernel: Update to 5.10.92/5.4.156
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2022-01-18 00:46:21 +00:00
Rolf Neugebauer
8e03866f69 kernel: Remove 5.12.x kernel since it has been EOLed
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2022-01-18 00:37:23 +00:00
Frédéric Dalleau
56c08df66b Refresh configs for kernel update
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2021-11-05 10:28:24 +01:00
Frédéric Dalleau
3cf25af73e kernel: update LTS kernels to 5.10.76/5.4.156
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2021-11-05 10:28:24 +01:00
Frédéric Dalleau
e9e3a8ddce Refresh configs for virtiofs
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2021-11-05 10:28:12 +01:00
Frédéric Dalleau
ad4f9a77a0 Enable CONFIG_VIRTIO_FS=y
Signed-off-by: Frédéric Dalleau <frederic.dalleau@docker.com>
2021-11-05 10:16:18 +01:00
Gabriel Chabot
c37046f617 Add openssl to the kernel-build
Signed-off-by: Gabriel Chabot <gabriel.chabot@qarnot-computing.com>
2021-10-28 10:55:16 +02:00
Rolf Neugebauer
f20e08bcb8 kernel: Enable CONFIG_SQUASHFS_ZSTD
requested/suggested by @olljanat

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-07-04 11:16:45 +01:00
Rolf Neugebauer
01b46ba789 kernel: Add support for 5.12.x kernel
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-07-04 11:16:45 +01:00
Rolf Neugebauer
1e97e29be3 kernel: Remove 5.11.x as it is not longer maintained
Leave it for -rt kernels

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-07-04 11:16:45 +01:00
Rolf Neugebauer
43d3ff0630 kernel: Update LTS kernels to 5.10.47/5.4.129
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-07-04 11:16:45 +01:00
Rolf Neugebauer
25c796e854 kernel: Fix Dockerfile.kconfig
KERNEL_VERSIONS apparently needs to be specified as
argument after the FROM

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-07-04 11:16:45 +01:00
Rolf Neugebauer
a4c518f696 kernel: Remove support for s390x
WIP #3676

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-07-04 11:16:45 +01:00
Rolf Neugebauer
36d8026b17 Merge pull request #3700 from TiejunChina/master-dev
enable 5.11.x-rt
2021-07-03 10:13:15 +01:00
Rolf Neugebauer
aaa30dfc55 Merge pull request #3691 from kmjohansen/topics/kj/bcc-up
Upgrade bcc to 0.20.0 and re-enable it in the kernel build
2021-07-03 00:30:03 +01:00
Tiejun Chen
8183676233 enable 5.11.x-rt build
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2021-06-29 11:09:23 -07:00
Tiejun Chen
ab288c4526 port 5.11.4-rt
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2021-06-29 11:09:20 -07:00
Frederic Dalleau
194a055d1c Disable CONFIG_BPFILTER and CONFIG_BPFILTER_UMH
CONFIG_BPFILTER is aimed to provide a replacement for netfilter.

When CONFIG_BPFILTER is enabled, the kernel tries to contact a user mode helper
for each iptable rule update. However the implementation of this helper has not
been upstreamed yet. The communication thus fails and the kernel then falls back
to netfilter.
As a result, the rule update takes more than ten times the duration of the
netfilter implementation alone.

This has been reported by Docker Desktop users for whom it can take minutes to
start a container sharing a few hundred ports. https://github.com/for-mac/issues/5668

More details on the situation is described in https://lwn.net/Articles/822744/.

Signed-off-by: Frederic Dalleau <frederic.dalleau@docker.com>
2021-06-28 21:14:27 +02:00
Krister Johansen
13068d54d4 Enable bcc in the kernel build again.
The bcc portion of the build had been disabled because it wasn't
building.  Now that bcc is building again, add it back to the list of
default targets in the kernel build.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2021-06-08 21:00:05 -07:00
Krister Johansen
898232ceab Get BCC building again.
This moves up to bcc 0.20.0 and builds on the latest 3.13 Alpine base
image.  It uses libelf from Alpine, which allows us to drop a number of
the patches we were carrying and reduce the number of steps taken in the
bcc build.

This builds for me on a branch of tip against 5.11.x, 5.10.x,
5.10.x-dbg, and 5.4.x on x86_65.  I have not had a chance to attempt
this on other platforms due to lack of hardware.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2021-06-08 20:57:10 -07:00
Rolf Neugebauer
5f959a9bcd kernel: Move build label add to Makefile
where the other labels are defined

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-27 13:06:15 +01:00
Rolf Neugebauer
70ac373206 kernel: Fix ARG handling in Dockerfiles
At least for the perf image I got an error when
not having the ARG up front.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-27 00:16:26 +00:00
Rolf Neugebauer
c25cc37643 kernel: Remove remnants of DOCKER_CONTENT_TRUST
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-27 00:16:26 +00:00
Rolf Neugebauer
2c728f89d9 kernel: Update to 5.11.22/5.10.39/5.4.121
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-26 22:33:23 +01:00
Rolf Neugebauer
9c7f158bd1 kernel: Fix KERNEL_SOURCE
Declare KERNEL_SOURCE as an environment variable so it
get's picked up in kernel-source-info

fixes #3653

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-26 22:33:23 +01:00
Rolf Neugebauer
fb283d2baf kernel: Remove out of kernel WireGuard build
5.4.x is the only kernel left which does not have
WireGuard in tree and it people should be using more
recent kernels. Remove the now special case for
compiling out of tree WireGuard.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-26 22:33:23 +01:00
Rolf Neugebauer
1337e07d3e kernel: Remove 4.19 patches
Must have missed those when removing 4.19 support in
f9f85bd4b3 ("kernel: Remove older LTS kernels")

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-26 22:33:23 +01:00
Avi Deitcher
d053a0f279 tag kernel with builder version; simplify Makefile
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2021-05-25 15:51:01 +03:00
Rolf Neugebauer
c0f50012d2 kernel: Disable bcc
The build fails, see https://github.com/linuxkit/linuxkit/issues/3652

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-03 17:05:39 +00:00
Rolf Neugebauer
198f6222dd kernel: Update kernel config to new alpine tools
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-03 15:59:01 +00:00
Rolf Neugebauer
5167746df9 kernel: Add patches for 5.10.x/5.11.x
This fixes some compile issues with bcc.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-03 15:58:48 +00:00
Rolf Neugebauer
a87a666408 kernel: Pick python3 for bcc builds
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-03 14:20:24 +00:00
Rolf Neugebauer
2d92dc189c kernel: Add libelf-static to perf build
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2021-05-03 13:54:20 +00:00