864 Commits
v0.6 ... v0.8

Author SHA1 Message Date
Rolf Neugebauer
319005e849 Merge pull request #3521 from rn/rel_v0.8
Release packages as v0.8
2020-05-11 21:41:23 +01:00
Rolf Neugebauer
2884ed1996 Update CHANGELOG
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-10 17:35:41 +01:00
Rolf Neugebauer
b1fbe40712 tool: Bump version to v0.8
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-10 16:04:52 +01:00
Rolf Neugebauer
0331aacfe2 Update package tags to v0.8
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-10 16:04:52 +01:00
Rolf Neugebauer
ea8ecd146d pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-10 14:52:05 +01:00
Rolf Neugebauer
58434279cb Merge pull request #3520 from rn/kern-up
Update kernels, re-enable -perf, disable -rt kernels, bump wireguard
2020-05-09 19:30:38 +01:00
Justin Cormack
3ae7fb4e25 Merge pull request #3519 from rn/authors
Update AUTHORS
2020-05-09 17:16:08 +01:00
Rolf Neugebauer
13dd8a7e9e Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:08 +01:00
Rolf Neugebauer
a9516a346c kernel: Vump wireguard to 1.0.20200506
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:07 +01:00
Rolf Neugebauer
2959fc52c5 kernel: Re-enable perf build
resolves #3498

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:07 +01:00
Rolf Neugebauer
f3a0d1c4d8 kernel: Fix perf build
- add static zlib
- add python

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:07 +01:00
Rolf Neugebauer
6a92e2292b kernel: Adjust config files
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:07 +01:00
Rolf Neugebauer
c1f4c392cc kernel: Disable -rt kernel temporarily
The patch we carry for 5.4 and 5.6 does not apply to
5.4.28. Disable the -rt kernel until the version has
been bumped.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:07 +01:00
Rolf Neugebauer
019b4274ea kernel: Update to 5.6.11/5.4.39/4.19.121/4.14.179
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:07 +01:00
Rolf Neugebauer
26f1c75950 test: Update kernel tests to latest alpine base
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:07 +01:00
Rolf Neugebauer
1c5e799782 kernel: Update kernel build to latest alpine base
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-09 11:57:07 +01:00
Rolf Neugebauer
2914fadc47 Update AUTHORS
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-05-08 12:44:42 +01:00
Rolf Neugebauer
47063eee62 Merge pull request #3512 from saljam/master
metadata: add support for digitalocean
2020-05-08 11:53:50 +01:00
Rolf Neugebauer
38b1ee8ff5 Merge pull request #3514 from Kdockerfiles/scw_update
Update, fix (and extend a bit) Scaleway support
2020-05-08 11:48:06 +01:00
Rolf Neugebauer
5bab073bbf Merge pull request #3518 from justincormack/smaller-qemu
Smaller qemu
2020-05-07 23:36:37 +01:00
Justin Cormack
c63ec77e3f Update binfmt package
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2020-05-07 11:58:44 +01:00
Justin Cormack
c01f72d556 Add Risc-V support and only ship binaries we use
Ported from https://github.com/docker/binfmt/pull/21

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2020-05-07 11:53:30 +01:00
Rolf Neugebauer
dbcf2611a0 Merge pull request #3515 from justincormack/qemu-up
Update to Qemu 4.2.0 from Debian testing
2020-05-06 23:27:53 +01:00
Justin Cormack
3887a281b2 Update packages
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2020-05-06 20:03:50 +01:00
Avi Deitcher
c29056aa7a Merge pull request #3516 from errordeveloper/mount-sys-fs-bpf
pkg/init: Mount /sys/fs/bpf
2020-05-06 14:32:01 +03:00
Ilya Dmitrichenko
86fb6ba0aa pkg/init: Mount /sys/fs/bpf
NOTE: This will be a shared mount, due to root being turned into a
shared with `MC_REC` set: `mount("", "/", "", rec|shared, "")`.
For some reason setting `shared` when mounting `/sys/fs/bpf` doesn't
work at all, perhaps that's just a kernel feature.

Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2020-05-06 11:06:54 +01:00
Justin Cormack
d2f55af35c Update to Qemu 4.2.0 from Debian testing
This has fixed a lot of outstanding emulation issues, see comments
in https://github.com/docker/binfmt/pull/24

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2020-05-04 16:22:52 +01:00
salman aljammaz
35ae4e028c metadata: add support for digitalocean
This adds support for fetching metadata and user data from the
DigitalOcean metadata service.

https://www.digitalocean.com/docs/droplets/resources/metadata/

Signed-off-by: salman aljammaz <s@aljmz.com>
2020-05-02 11:24:11 -04:00
Avi Deitcher
39aafb21d0 Merge pull request #3509 from deitch/cidata
find cloud-init on cdrom by label
2020-05-01 17:50:37 +03:00
Karol Woźniak
d861987b79 scaleway: Fix bugs and add option for changing image size
* Fix using ams1 as zone
* Allow specifying image size (+ calculate default from ISO size)
* Fix mangling logs when asking for ssh passphrase
* Some minor code and docs cleanups

Signed-off-by: Karol Woźniak <wozniakk@gmail.com>
2020-05-01 01:15:24 +02:00
Karol Woźniak
c750f54cb0 Update scaleway-sdk-go to v1.0.0-beta.6
Signed-off-by: Karol Woźniak <wozniakk@gmail.com>
2020-05-01 01:15:24 +02:00
Avi Deitcher
3678adeca8 find cloud-init on cdrom by label
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-04-27 17:00:42 +03:00
Rolf Neugebauer
0b488d805e Merge pull request #3513 from rn/ctr-134
Update containerd to v1.3.4
2020-04-27 09:08:25 +01:00
Rolf Neugebauer
6643090752 Update YAMLs to latest containerd/runc/init
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-26 23:52:57 +01:00
Rolf Neugebauer
76d0ed84be tests: Update containerd test to v1.3.4
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-26 23:21:30 +01:00
Rolf Neugebauer
2427145dfc pkg/init: Revert "workaround bad containerd bug"
This reverts commit 6653c3387e.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-26 22:49:48 +01:00
Rolf Neugebauer
1b8cb8b235 pkg/runc: Update to v1.0.0-rc10
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-26 22:47:48 +01:00
Rolf Neugebauer
db1f9c8dc8 pkgs" Update containerd to v1.3.4
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-26 22:47:48 +01:00
Rolf Neugebauer
1c4a4060f1 tools/alpine: Update package
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-26 17:38:54 -04:00
Rolf Neugebauer
bec1041534 tools/alpine: Update containerd to v1.3.4
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-26 18:18:32 +01:00
Rolf Neugebauer
bd336ef94d tools/alpine: Add zlib-static
Needed for kernel perf builds

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-26 18:15:05 +01:00
Rolf Neugebauer
3e12a52a06 Merge pull request #3493 from deitch/native-manifest
Native manifest
2020-04-26 13:31:06 +01:00
Avi Deitcher
afcb0f8abe use manifest-tool as library instead of cmd exec
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-04-26 14:09:12 +03:00
Avi Deitcher
6d1ffc9118 Merge pull request #3508 from federico-pellegatta/extend-pkg-gpt-support
Add GUID Partition Table (GPT) support to `extend` and `mount` packages
2020-04-24 16:16:50 +03:00
Federico Pellegatta
6133c561fd Add GUID Partition Table (GPT) support to extend and mount packages
Signed-off-by: Federico Pellegatta <12744504+federico-pellegatta@users.noreply.github.com>
2020-04-24 12:54:48 +02:00
Avi Deitcher
966cf121a3 Merge pull request #3504 from federico-pellegatta/format-pkg-gpt-support
Add GUID Partition Table (GPT) support to the `format` package
2020-04-23 13:48:25 +03:00
Federico Pellegatta
5fc196c289 Add partition table type selector (defaulted to DOS/MBR) to format package
Signed-off-by: Federico Pellegatta <12744504+federico-pellegatta@users.noreply.github.com>
2020-04-23 10:16:36 +02:00
Rolf Neugebauer
cab95cfc51 Merge pull request #3503 from deitch/metadata-cdrom-cloudinit
read cdrom userdata from spec location
2020-04-20 12:34:51 +01:00
Avi Deitcher
84bfea53b0 Add examples
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-04-20 11:51:31 +03:00
Avi Deitcher
59697ffc62 read cdrom userdata from spec location
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-04-20 10:03:17 +03:00
Rolf Neugebauer
d4c135dbb6 Merge pull request #3502 from deitch/go-1.13
match go version in CI to version in go-compile
2020-04-19 11:47:10 +01:00
Avi Deitcher
fbe9b98d4d match go version in CI to version in go-compile
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-04-19 11:22:32 +03:00
Rolf Neugebauer
a44ea341ca Merge pull request #3500 from rn/alpine_3.11
Update to Alpine 3.11
2020-04-18 12:45:05 +01:00
Rolf Neugebauer
4c0d156042 test: Increase disk size for dm-crypt LUKS test
Otherwise it fails with:

+ cryptsetup --key-file /etc/dm-crypt/key --cipher aes-cbc-essiv:sha256 luksFormat /dev/sda
+ cryptsetup --key-file /etc/dm-crypt/key luksOpen /dev/sda it_is_encrypted
Requested offset is beyond real size of device /dev/sda.
dm-crypt test suite FAILED

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-18 10:54:47 +01:00
Rolf Neugebauer
8278b7311d tool: Revert linuxkit/mkimage-gcp
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 22:45:30 +01:00
Rolf Neugebauer
0f844541cb Revert "Removed size arg from GCP make-fs command."
This reverts commit 1653e9dffb.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 22:40:21 +01:00
Rolf Neugebauer
8f480cc578 kernel/bcc: Disbale -Werror for elfutils buils
with the new C tool chain elfutils fails with with warnings:

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
169f031ce9 kernel: Disable perf build for now.
See: https://github.com/linuxkit/linuxkit/issues/3498

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
ea750c8b7b kernel: Only build bcc/perf on x86 and latest stable and LTS
This was previously build for 5.4 and 4.19. Latest LTS is 5.4 and
latest stable is 5.6. Also skip s390x build for perf

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
0dd1283dec kernel: add findutils to perf build and make it more verbose
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
72fe47557f kernel: Switch -dbg kernel to default 5.4.x kernel
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
db36750deb kernel: Adjust configs to new compiler
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
dbb76cf4d4 kernel: Update kernel builds to latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
ce89479b2d Update use of packages to the latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
463216acda pkg: Add gcc for all packages build for arm64
This is a workaround for https://github.com/linuxkit/linuxkit/issues/3496

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
25d5ba8ef8 Update linuxkit/go-compile to the latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
3eb9a75f9e tools/go-compile: Workaround for go requiring gcc on arm64
See: https://github.com/linuxkit/linuxkit/issues/3496

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
8a03a04454 Bump dind to 19.03.8-dind
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
5301dbf352 pkg/firmware: Disable firmware packages for s390x
Reduce the number of packages to build for s390x. Firmware
is only used for physical devices, so disable it for s390x
where we mostly run in virtual machines.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
cd92ad3f16 pkg/firmware: Fix firmware extraction
Some drivers offer mutliple firmwares with the WHENCE file
defining the default. Use the cope-firmware.sh script to
create a copy of the firmware repository with the defaults
copied in to the right place.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
384b439d05 pkg/firmware: Use kernel v5.4.x as the base
this determines which firmware packages are included.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
bd5fb29ba1 pkg/firmware: update to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
0b750af7cd pkg/node_exporter: Fix build
Add curla and gcc

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
facc612603 pkg/node_exporter: Bump to v0.18.1
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
5c190c96e1 pkg/cadvisor: Bump to v0.36.0
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
2f4034d36c pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
6ae22d1754 tests: Update tests cases to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
678e904ae3 Update all uses of alpine:3.9 to alpine:3.11
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
336f7b44d3 Update use of test packages to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
21852ee16b tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
5d2f1ccbd0 Update use of tools to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
45dcbc38af tools: Update to the latest linuxkit/alpine
with the exception of grub. It does not compile
with the latest version, see: https://github.com/linuxkit/linuxkit/issues/3494

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
2817cdac7c alpine: Update packages
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
2ad6a61079 alpine: Bump containerd to v1.3.3
Note this release has the workaround for the disabling tests.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
2320529f3d alpine/go-compile: Fix go-compile
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
2e0e0fb5e7 alpine: Bump base to 3.11
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-17 10:36:03 +01:00
Rolf Neugebauer
3716b312f6 Merge pull request #3484 from deitch/eliminate-jq
eliminate manifest-push-script, jq dependency, odd logic
2020-04-11 19:15:40 +01:00
Rolf Neugebauer
b1c344828e Merge pull request #3492 from rn/kern-up
Update kernel to 5.4.30/4.19.114/4.14.175 and add 5.6.2
2020-04-11 19:05:42 +01:00
Rolf Neugebauer
673303575d test: Add kernel tests for 5.6.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-10 18:13:03 +01:00
Rolf Neugebauer
1e768f56eb Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-10 18:06:58 +01:00
Rolf Neugebauer
57d5ab8fdf kernel: Tweak s390x config
For some reason, the 'make ARCH=s390 oldconfig' yields
a different config when executing on a real s390c system...

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-10 15:56:20 +01:00
Rolf Neugebauer
0bfaa3becc kernel: Don't install libunwind-dev on s390x
This is a part revert of f49042545e ("libunwind-dev
workaround on x86 is no longer required")

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-10 15:12:15 +01:00
Rolf Neugebauer
42c51fab2b kernel: Use in kernel WireGuard if present
5.6.x has WireGuard upstream. Skip pulling it for kernel
where WireGuard is present.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-10 12:15:25 +01:00
Rolf Neugebauer
e208e3050c kernel: Add v5.6.x kernels
The config is based on 5.4.x and has WireGaurd enabled
manually as a module afterwards.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-10 12:15:25 +01:00
Rolf Neugebauer
51f833aa51 kernel: Update to 5.4.30/4.19.114/4.14.175
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-10 10:28:13 +01:00
Rolf Neugebauer
46f96c5572 kernel: Remove 4.19.x-rt patches and configs
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-04-10 10:19:15 +01:00
Rolf Neugebauer
f98fa5ca41 Merge pull request #3491 from TiejunChina/master-dev
enable rt for 5.4.x
2020-04-09 23:34:21 +01:00
Rolf Neugebauer
447e5fa27c Merge pull request #3487 from TiejunChina/master-dev
update -rt to 4.19.106-rt46
2020-04-09 09:09:35 +01:00
Tiejun Chen
6f40ada81c enable rt for 5.4.x
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2020-04-08 20:18:14 -07:00
Tiejun Chen
98ffcd7b43 update rt example file for 4.19.106-rt
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2020-04-06 11:12:46 -07:00
Rolf Neugebauer
172b04ff67 Merge pull request #3489 from rvs/kernel
libunwind-dev workaround on x86 is no longer required
2020-04-05 14:01:05 +01:00
Roman Shaposhnik
f49042545e libunwind-dev workaround on x86 is no longer required
Signed-off-by: Roman Shaposhnik <rvs@zededa.com>
2020-04-04 14:20:04 -07:00
Rolf Neugebauer
49b62442cb Merge pull request #3488 from zx2c4-forks/jd/longoverduebump
wireguard: bump to 1.0.20200401
2020-04-04 10:46:55 +01:00
Jason A. Donenfeld
3993486b6f wireguard: bump to 1.0.20200401
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2020-04-03 23:48:22 -06:00
Tiejun Chen
a3afa91d9a update -rt to 4.19.106-rt46
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2020-04-03 12:05:02 -07:00
Avi Deitcher
8a81fd0ffc eliminate manifest-push-script, jq dependency, odd logic
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-03-30 11:26:52 +03:00
Avi Deitcher
87f2e75424 Merge pull request #3482 from deitch/handle-containerd-bug
workaround bad containerd bug
2020-03-29 17:46:30 +03:00
Rolf Neugebauer
b32eb2afd9 Merge pull request #3483 from rn/kern-up
Update kernels to 5.4.28/4.19.113/4.14.174 and switch to 5.4.x as default
2020-03-29 00:20:03 +00:00
Rolf Neugebauer
ac94cdc5ec Update dm-crypt/losetup tests/examples to 5.4.x kernel
For some reason these were still using the old 4.14.x kernels.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-03-28 20:29:56 +00:00
Rolf Neugebauer
dfc605d703 Update kernel test YAMLs to the latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-03-28 12:01:50 +00:00
Rolf Neugebauer
6938fe5aa8 Update default kernel to 5.4.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-03-28 11:58:57 +00:00
Rolf Neugebauer
f58d487072 kernel: Adjust kernel config files
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-03-27 17:52:08 +00:00
Rolf Neugebauer
920a2e98cb kernel: Update to 5.4.28/4.19.113/4.14.174
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-03-27 17:41:58 +00:00
Rolf Neugebauer
5c336a9ae7 kernel: Remove 4.19.x for arm64 and s390x
A subsequent commit will make the 5.4 kernel the default.

This is primarily to reduce the number of kernels we need
to compile for every upgrade.

Note, we keep the 4.19 config file for arm64 around since the
-rt kernel config needs it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-03-27 17:41:58 +00:00
Avi Deitcher
7c1df34c38 update hashes
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-03-24 12:13:41 +02:00
Avi Deitcher
6653c3387e workaround bad containerd bug
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2020-03-23 12:18:14 +02:00
Rolf Neugebauer
07f1bae9ce Merge pull request #3479 from guillaumerose/vendoring
Upgrade vpnkit vendoring
2020-03-14 19:25:58 +01:00
Guillaume Rose
57bf9f39de Upgrade vpnkit vendoring
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2020-03-11 14:03:45 +01:00
Rolf Neugebauer
badd791072 Merge pull request #3463 from alex1989hu/feat/add-kubernetes-deployment-open-vm-tools
contrib: Add kubernetes manifest for open-vm-tools
2020-03-07 12:34:53 +01:00
Alex Szakaly
adc649d022 contrib: Add kubernetes manifest for open-vm-tools
This should allow end-users to gracefully reboot or shutdown Kubernetes
nodes (incuding control planes) running on vSphere Hypervisor

There are several use cases when cluster administrators are not able to
install extra packages onto the host OS

Fixes #3462

Signed-off-by: Alex Szakaly <alex.szakaly@gmail.com>
2020-03-04 22:42:42 +01:00
Rolf Neugebauer
a2617fbd39 Merge pull request #3471 from arthurlogilab/patch-1
[README] deprecated infrakit
2020-02-26 00:29:21 +01:00
Arthur Lutz
17619c39d5 [README] deprecated infrakit
deploykit archived in 2018 (review)

Signed-off-by: Arthur Lutz <arthur.lutz@logilab.fr>
2020-02-25 12:20:26 +01:00
Rolf Neugebauer
7b057f503b Merge pull request #3475 from rn/kern-up
Update kernels to 4.14.171/4.19.104/5.4.19
2020-02-21 09:35:35 +01:00
Rolf Neugebauer
03701f44bd Merge pull request #3476 from eon01/fix-aws-howto
add SG to linuxkit run command
2020-02-18 21:59:22 +01:00
Aymen EL AMRI
a7a42e986d add SG to linuxkit run command
Signed-off-by: Aymen EL AMRI <aymen@eralabs.io>
2020-02-17 13:41:09 +01:00
Rolf Neugebauer
7fc0d8a8b2 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-02-15 18:11:03 +00:00
Rolf Neugebauer
66ccad84a6 kernel: Update config files
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-02-14 23:16:02 +00:00
Rolf Neugebauer
25b09592b9 kernel: Update to 5.4.19/4.19.104/5.4.19
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-02-14 22:54:16 +00:00
Rolf Neugebauer
17359f2ed1 Merge pull request #3469 from rn/kern-up
Update kernel to 4.14.168/4.19.99/5.4.9
2020-01-30 19:57:10 +00:00
Rolf Neugebauer
57034d8a49 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-30 09:11:32 +00:00
Rolf Neugebauer
96cfc0919e kernel: Adjust 5.4.x kernel config file
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-30 09:11:32 +00:00
Rolf Neugebauer
7438dcaf08 kernel: Update to 4.14.168/4.19.99/5.4.9
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-30 09:11:32 +00:00
Rolf Neugebauer
c6164a4ca5 kernel: Remove support for v5.3.x kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-30 09:11:32 +00:00
Rolf Neugebauer
4a06b88d1e kernel: Remove support for 4.9.x kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-30 09:11:32 +00:00
Rolf Neugebauer
f06c39545a Merge pull request #3466 from justincormack/nocircle
Remove circleCI
2020-01-27 22:17:52 +00:00
Justin Cormack
2012f4a3a4 Merge pull request #3465 from rvs/eve
Updating pointer to EVE
2020-01-27 22:12:05 +00:00
Justin Cormack
6ebeabc061 Remove circleCI
Using GitHub actions now.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2020-01-27 20:59:36 +00:00
Roman Shaposhnik
d07dd2c28c Updating pointer to EVE
Signed-off-by: Roman Shaposhnik <rvs@zededa.com>
2020-01-27 12:02:05 -08:00
Rolf Neugebauer
1e85ff1050 Merge pull request #3458 from rn/ctr-132
Bump containerd to v1.3.2 and runc to v1.0.0-rc9
2020-01-22 10:42:33 +00:00
Rolf Neugebauer
d1c8eae6a9 Update YAMLs to latest init/containerd/runc packages
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-21 23:17:17 +00:00
Rolf Neugebauer
b5aca63ffc tests: Increase memory for containerd tests to 3GB
It ran out of space with 2GB

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-21 23:17:17 +00:00
Rolf Neugebauer
d9671ee29f tests: Disable containerd devmapper tests
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-21 23:17:17 +00:00
Rolf Neugebauer
7bcd19058b pkg/runc: Update to v1.0.0-rc9
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-21 23:17:17 +00:00
Rolf Neugebauer
11d9acf35b pkg/containerd: Add containerd-shim-runc-v2
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-21 23:17:17 +00:00
Rolf Neugebauer
f14ad3af82 pkgs: Update to containerd v1.3.2
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-21 23:17:17 +00:00
Rolf Neugebauer
44e27a1dfb tools/alpine: Update containerd to v1.3.2
- Disable the devmapper snapshotter. We are not using it
- Cherry-pick and upstream commit to be able to disable
  the devmapper integration tests

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-21 23:17:17 +00:00
Rolf Neugebauer
fb14ee6854 Merge pull request #3461 from dave-tucker/action-fix
actions: Clean Up Post Merge
2020-01-21 23:16:57 +00:00
Dave Tucker
0fb8b116bb actions: Clean Up Post Merge
This commit moves the linuxkit binary in to /usr/local/bin.
It also removes trailing spaces (oops)

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2020-01-21 12:25:26 +00:00
Dave Tucker
4028c363b1 Merge pull request #3442 from dave-tucker/actions
Add GitHub Actions
2020-01-21 12:16:42 +00:00
Dave Tucker
c1644b1d02 actions: Install RTF in /usr/local/bin
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2020-01-14 23:40:54 +00:00
Dave Tucker
f5da1680a1 GitHub Actions: Implement Caching
This commit uses the GitHub Actions cache to ensure that the `rtf`
binary can be re-used between runs if it hasn't changed.
It also caches the linuxkit binaries for use in future stages.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2020-01-14 23:40:54 +00:00
Dave Tucker
63849b606f test: Add GCP Run Test
This commit adds the GCP test that formerly ran in LinuxKitCI to run
under rtf.

As GitHub Actions doesn't currently support adding secret files, I've
skipped this test for now. Credentials can be passed via environment
variable but as RTF runs with `-x` the contents is viewable in the logs.

I will create an issue to follow up and find either a way of writing the
variable to file that doesn't compromise it. Or perhaps another approach
that is more compatible with GH actions

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2020-01-14 23:40:54 +00:00
Dave Tucker
a98046999f Add GitHub Action Workflow for CI
This commit adds a GitHub Actions workflow to replace both CircleCI and
LinuxKit CI.

It will build the Linuxkit binary, run tests and upload artifacts

It replaces the Integration Tests that are run by Linuxkit CI via
the make ci or make ci-pr targets with multiple sets of Integration
Tests that are run in parallel.

It does not yet test GCP. The GCP test in LinuxKit CI could be moved to RTF

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2020-01-14 23:40:54 +00:00
Justin Cormack
fce020a111 Merge pull request #3456 from rn/wg-up
Update WireGuard tools to 0.0.20191219
2020-01-03 16:40:52 +00:00
Rolf Neugebauer
51864cd03c Update YAMLs to latest pkg/ip package
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-03 00:22:06 +00:00
Rolf Neugebauer
bbf174d374 pkg/ip: Pick up the new version of wireguard-tools
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-03 00:15:43 +00:00
Rolf Neugebauer
f7e0dcba0b tools/alpine: Update wireguard-tools to 0.0.20191219
Also update other packages while at it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-03 00:11:23 +00:00
Rolf Neugebauer
27f829f4f5 tools/alpine: Fix WireGuard tools build
The alpine patch is no longer needed

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2020-01-02 23:32:27 +00:00
Rolf Neugebauer
c4aef40418 Merge pull request #3455 from zx2c4-forks/jd/wgbump
wireguard: update to 0.0.20191226
2019-12-31 12:15:26 +00:00
Rolf Neugebauer
2208ee062b Merge pull request #3451 from rn/update
Update use of packages and AUTHORS
2019-12-31 10:34:49 +00:00
Jason A. Donenfeld
08bd5ddbaa wireguard: update to 0.0.20191226
This new snapshot comes from the brand new linux-compat repo, which
follows the recent upstreaming into net-next. When Linux 5.6 lands in
LinuxKit, we'll be able to remove the module entirely.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-12-30 12:31:53 +01:00
Rolf Neugebauer
98de655db1 Merge pull request #3400 from simonferquel/metadata-config-file
Metadata: add support for loading from a file
2019-12-20 17:52:29 +00:00
Rolf Neugebauer
eba4d9de83 Update AUTHORS
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-20 17:52:00 +00:00
Rolf Neugebauer
70df1123d6 Update YAMLs to latest swap and metadata packages
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-20 17:52:00 +00:00
Simon Ferquel
3f56669576 Metadata: add support for loading from a file
This adds a new configuration provider that just reads a file.
This is needed for Docker Desktop, where we will run a LinuxKit distro in an isolated namespace within WSL 2.
In this scenario, the config will be accessible trough the WSL2 built-in 9p mount of the Windows filesystem.

Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
2019-12-20 11:21:20 +01:00
Rolf Neugebauer
8c1fdf8737 Merge pull request #3274 from yankcrime/os-client-config
[OpenStack] Support os-client-config usage for authentication
2019-12-19 19:47:15 +00:00
Rolf Neugebauer
a09b86a8e1 Merge pull request #3371 from guillaumerose/error
Skip disk resize for dos partition if no free space is available
2019-12-19 19:31:58 +00:00
Rolf Neugebauer
868d14803e Merge pull request #3300 from danrzs/bugfix-make-gcp-size-limit
Removed fixed size arg from mkimage-gcp script.
2019-12-19 18:02:58 +00:00
Rolf Neugebauer
547521d146 Merge pull request #3349 from ptone/gcp-fixes
Update GCP metadata provider
2019-12-19 18:00:47 +00:00
Rolf Neugebauer
f0ac623b11 Merge pull request #3430 from Sh4d1/fix_scaleway_metadata
remove sendBootSignal in scaleway metadata package
2019-12-19 17:41:51 +00:00
Rolf Neugebauer
80f0765097 Merge pull request #3429 from zimme/metadata-fix-provider-scaleway
Fix the Scaleway provider in the metadata package
2019-12-19 17:41:10 +00:00
Rolf Neugebauer
725dc47a37 Merge pull request #3431 from zimme/metadata-fix-provider-hetzner
Fix the Hetzner provider in the metadata package
2019-12-19 17:39:45 +00:00
Rolf Neugebauer
2475233653 Merge pull request #3441 from djs55/swap-bigger-blocksize
swap: speed up by preferring a 1MiB blocksize
2019-12-19 17:38:22 +00:00
Justin Cormack
de4364fe68 Merge pull request #3450 from rn/kern-up
Update kernels, and Intel ucode, add support for 5.4.x kernels
2019-12-19 16:59:43 +00:00
Rolf Neugebauer
48f1008ec8 tests: Add kernel tests for 5.4.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 23:44:13 +00:00
Rolf Neugebauer
54a2654501 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 23:41:09 +00:00
Rolf Neugebauer
02ed4c261f kernel: Adjust kernel configs
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 18:54:25 +00:00
Rolf Neugebauer
4e2b69bc2f kernel: Remove 5.3.x kernels for arm64 and s390x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 15:26:46 +00:00
Rolf Neugebauer
a28ebce2f4 kernel: Build perf/bcc for 5.4.x kernels not 5.3.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 15:25:49 +00:00
Rolf Neugebauer
f9fee518a7 kernel: Add support for 5.4.x kernels
The kernel config files are derived from the 5.3.x
config files run through 'make oldconfig'.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 15:24:11 +00:00
Rolf Neugebauer
991eebaeab tests: Re-arrange the kernel tests
This is a simple rename of directories to make more space
in the test namespace for future kernels.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 14:54:48 +00:00
Rolf Neugebauer
7ae9b7b141 kernel: Remove support for 5.2.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 14:48:30 +00:00
Rolf Neugebauer
a638c2814c kernel: Update Intel uCode to microcode-20191115
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 14:44:42 +00:00
Rolf Neugebauer
81c148a3c4 kernel: Update to 5.3.17/4.19.90/4.14.159/4.9.206
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-12-18 14:42:32 +00:00
Rolf Neugebauer
c84b79d9b0 Merge pull request #3439 from kmjohansen/topics/kj/perf-bcc
Re-enable perf build; upgrade bcc
2019-12-17 08:21:45 +00:00
Krister Johansen
4dbdfb65d2 Move up to the 0.11.0 bcc release.
Allows us to drop some patches we were carrying, since the bugs were
fixed upstream.  Gives numerous tooling improvements too.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2019-12-16 14:02:34 -08:00
Krister Johansen
a0d797916d Re-enable perf build. Update bcc build.
Re-enable perf builds for 5.3.x and 4.19.x since they're the latest
stable and LTS, respectively.

Update the bcc build rules to map to these same kernel releases, too.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2019-12-16 14:02:34 -08:00
Krister Johansen
dad20f2e91 Add a patch that ensures that bcc can run on the 5.3.x kernel.
Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2019-12-16 14:00:42 -08:00
Krister Johansen
59481bd5d3 Add patches to unbreak perf and bcc.
The first patch re-adds symbol definitions that were temporarily omitted
from the 4.19 stable branch.

The latter patch corrects the uapi swab.h to that errors about "unknown
type name '__always_inline'" are no longer present in builds.  Without
this patch, bcc would build but attempts to compile the internal
programs at runtime would fail.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2019-12-16 14:00:42 -08:00
Rolf Neugebauer
d47bf4bb3e Merge pull request #3448 from djs55/wireguard.0.0.20191212
wireguard: update to 0.0.20191212
2019-12-16 20:53:42 +00:00
David Scott
e2e941dad3 wireguard: update to 0.0.20191212
Signed-off-by: David Scott <dave.scott@docker.com>
2019-12-16 11:32:02 +00:00
Simon Fridlund
4005082664 Fix the Hetzner provider in the metadata package
There were some mistakes made in the initial code where writes didn't work, this commit fixes that.

Signed-off-by: Simon Fridlund <simon@fridlund.email>
2019-12-04 23:01:40 +01:00
Justin Cormack
3375bd86b3 Merge pull request #3445 from dave-tucker/maintainer
Add Dave Tucker as a Maintainer
2019-12-04 00:42:28 +00:00
Dave Tucker
c31bff1462 Add Dave Tucker as a Maintainer
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2019-12-03 13:27:53 +01:00
Justin Cormack
59d81814f8 Merge pull request #3444 from riyazdf/riyazdf-maintainer
Remove riyazdf from MAINTAINERS
2019-12-03 11:30:09 +00:00
Riyaz Faizullabhoy
ede56b0625 Remove riyazdf from MAINTAINERS
Signed-off-by: Riyaz Faizullabhoy <riyazdf@berkeley.edu>
2019-12-02 08:14:42 -08:00
Justin Cormack
843f7583b8 Merge pull request #3443 from dave-tucker/no-qemu
linuxkit: Remove QEMU Container Backend
2019-11-29 13:53:24 +00:00
Dave Tucker
9a91435076 linuxkit: Remove QEMU Container Backend
This commit removes the container backend for QEMU.
QEMU and it's tools are available on all platforms.

Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
2019-11-27 18:02:12 +00:00
David Scott
57dd4029c8 swap: speed up preferring a 1MiB blocksize
If the swap disk is larger than 1MiB, then use a 1MiB blocksize in `dd`

On my machine using a large block size speeds up swap file creation:

```
/ # time dd if=/dev/zero of=output bs=1024 count=1048576
1048576+0 records in
1048576+0 records out
real    0m 4.61s
user    0m 0.79s
sys     0m 3.77s
/ # time dd if=/dev/zero of=output bs=1048576 count=1024
1024+0 records in
1024+0 records out
real    0m 1.06s
user    0m 0.00s
sys     0m 1.04s
```

Signed-off-by: David Scott <dave.scott@docker.com>
2019-11-22 20:48:31 +00:00
Rolf Neugebauer
4092a10063 Merge pull request #3436 from Ptitpote/kconfig-tag-patch
Add the possibility to tag linuxkit/kconfig with a custom tag
2019-11-06 19:50:02 +00:00
Gabriel Chabot
db10873122 Add the possibility to tag linuxkit/kconfig with a custom tag instead of latest
KCONFIG_TAG variable can be used to set a custom kconfig tag.
If KCONFIG_TAG is not set, the the image is tagged as linuxkit/kconfig:latest
This is useful for projects requiring to build multiple kernels that have
different patches.
When trying to edit an unpatched kernel config after working on a patched
kernel config (same kernel version), one had to rerun make kconfig first
in order to edit the config of an unpatched kernel.
Now it is possible to generate a tegged kconfig image and then, get the wanted
config by selecting the corresponding linuxkit/kexec:tag.

Signed-off-by: Gabriel Chabot <gabriel.chabot@qarnot-computing.com>
2019-10-29 09:26:59 +01:00
Simon Fridlund
ea5f542450 Fix the Scaleway provider in the metadata package
This commit will update the Scaleway provider to fetch the cloud-init/cloud-config data from the user_data/cloud-init endpoint it will also make sure the whole public ssh key is fetched and no longer strip out the `ssh-rsa` part of the keys

Signed-off-by: Simon Fridlund <simon@fridlund.email>
2019-10-15 12:38:52 +02:00
Patrik Cyvoct
1e1326b40a remove sendBootSignal in scaleway metadata package
It's now not needed to send a boot signal when booting an instance on
Scaleway, thus the method is not needed anymore.

Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2019-10-15 09:35:35 +02:00
Avi Deitcher
afff608c49 Merge pull request #3428 from deitch/update-metadata-tags
Update linuxkit/metadata in yml to latest commit
2019-10-09 22:15:39 +03:00
Avi Deitcher
37806f158e Update linuxkit/metadata in yml to latest commit
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2019-10-09 20:57:04 +03:00
Nick Jones
10b2436eec [OpenStack] Support os-client-config usage for authentication
Update Gophercloud dependencies and also bring in the 'utils'
package.  This provides support for configuring access to OpenStack
clouds as detailed in the [official
documentation](https://docs.openstack.org/os-client-config/latest/user/configuration.html).

By relying on this package we can simplify the code required to
interact with OpenStack's APIs.  Support is also provided upstream for
self-signed and insecure SSL configurations.

Tested with a public cloud running OpenStack 'Rocky', the latest release.

Signed-off-by: Nick Jones <nick@dischord.org>
2019-10-08 12:46:43 +01:00
Avi Deitcher
668dc5a6ca Merge pull request #3425 from zimme/metadata-provider-hetzner
Add Hetzner provider in the metadata package
2019-10-07 21:51:02 +03:00
Simon Fridlund
69b586d8c9 Add Hetzner to examples
Signed-off-by: Simon Fridlund <simon@fridlund.email>
2019-10-07 19:34:12 +02:00
Simon Fridlund
fc88e2104e Add Hetzner provider in the metadata package
Signed-off-by: Simon Fridlund <simon@fridlund.email>
2019-10-07 17:31:57 +02:00
Rolf Neugebauer
7dc2fb19c5 Merge pull request #3424 from rn/kern-up
Update kernels, Intel uCode, add 5.3.x kernels
2019-10-02 23:58:18 +01:00
Rolf Neugebauer
da1d859fa8 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 22:29:40 +01:00
Rolf Neugebauer
c2566e8dd0 kernel: Drop 5.2.x kernel from arm64 and s390x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 20:05:44 +01:00
Rolf Neugebauer
b457648c40 kernel: Update to 5.3.2/5.2.18/4.19.76
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 20:05:05 +01:00
Rolf Neugebauer
4379275f45 Update YAMLs with new kernel config test
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:56:45 +01:00
Rolf Neugebauer
5fae83934d tests: Remove rootfs from kernel config test
The rootfs fs was removed in 5.3.x but was mostly a
irrelevant entry in the filesystems list anyway.

Here is the upstream commit:

commit fd3e007f6c6a0f677e4ee8aca4b9bab8ad6cab9a
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Thu May 30 17:48:35 2019 -0400

    don't bother with registering rootfs

    init_mount_tree() can get to rootfs_fs_type directly and that simplifies
    a lot of things.  We don't need to register it, we don't need to look
    it up *and* we don't need to bother with preventing subsequent userland
    mounts.  That's the way we should've done that from the very beginning.

    There is a user-visible change, namely the disappearance of "rootfs"
    from /proc/filesystems.  Note that it's been unmountable all along
    and it didn't show up in /proc/mounts; however, it *is* a user-visible
    change and theoretically some script might've been using its presence
    in /proc/filesystems to tell 2.4.11+ from earlier kernels.

    *IF* any complaints about behaviour change do show up, we could fake
    it in /proc/filesystems.  I very much doubt we'll have to, though.

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:46:52 +01:00
Rolf Neugebauer
9f4895c25a tests: Add 5.3.x kernel tests
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
a87d90332b Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
eeafff3d27 kernel: Add rsync (required by 5.3.x kernel compile)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
d1d731105b kernel: Enable GVE for 5.3.x kernel for x86
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
615303a1e3 kernel: Add support for 5.3.x kernels
The kernel config is copied from the 5.2.x config and
run through make oldconfig

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
4f0cd57748 kernel: Update to 5.2.17/4.19.75/4.14.146/4.9.194
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
c7cf340fd2 kernel: Update Intel ucode to 20190918
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
805271f12c kernel: Adjust kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
acab34371a kernel: Update to 5.2.16/4.19.74/4.14.145/4.9.193
This skips 5.2.10-15, 4.19.72-73, and 4.14.143-144

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
177de7512f kernel: Re-enable 5.2.x kernel for s390x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Rolf Neugebauer
84375a65b9 kernel: Add -fPIC to kernel compile on s390x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-10-02 19:45:33 +01:00
Justin Cormack
9e3f61058f Merge pull request #3389 from rn/mac-qemu-rng
cmd/qemu: Disable rng on macOS
2019-10-02 16:49:37 +01:00
Rolf Neugebauer
d903a8a215 Merge pull request #3422 from justincormack/building
Add local build requirements
2019-10-01 19:45:26 +01:00
Justin Cormack
a0305873c7 Add local build requirements
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2019-10-01 14:27:19 +01:00
Rolf Neugebauer
d94064e65e Merge pull request #3418 from guillaumerose/fixerrormsg
Error message is related to init image, not on boot.
2019-10-01 01:31:27 +02:00
Rolf Neugebauer
9a47b294f1 Merge pull request #3420 from justincormack/fix-parse-new-go
Expand all image references before passing to containerd reference.Parse
2019-10-01 01:30:12 +02:00
Justin Cormack
da533297c1 Expand all image references before passing to containerd reference.Parse
Short references without domains will now fail parsing on recent versions
of Go as net/url parser is more strict.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2019-09-30 12:14:15 +01:00
Rolf Neugebauer
648d0729d4 Merge pull request #3417 from hyperized/patch-1
Fix label argument mkfs.btrfs
2019-09-30 12:54:07 +02:00
Gerben Geijteman
9002602960 Apply image bump: https://github.com/linuxkit/linuxkit/pull/3417\#issuecomment-536217626 (now in correct branch)
Signed-off-by: Gerben Geijteman <gerben@isset.nl>
2019-09-30 09:18:21 +02:00
hyperized
680c6ebd8c Fix label argument mkfs.btrfs
Signed-off-by: Gerben Geijteman <gerben@hyperized.net>
2019-09-30 09:14:40 +02:00
Guillaume Rose
4ffb639105 Error message is related to init image, not on boot.
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-09-30 09:13:48 +02:00
Rolf Neugebauer
3be6466e00 Merge pull request #3399 from guillaumerose/trust
Add trust parameter for docker pull in moby.Formats
2019-09-28 20:24:01 +02:00
Rolf Neugebauer
6db75ee1ab Merge pull request #3416 from qarnot/earlier-microcode-download
Move microcode download earlier in Dockerfile
2019-09-24 06:38:49 +02:00
Yoann Ricordel
1ee293bcc2 Move microcode download earlier in Dockerfile
Intel microrode download is moved earlier in the Dockerfile, before the
kernel is actually built, so that it's available in the context of a
build and can be referenced in CONFIG_EXTRA_FIRMWARE for people who want
the microcode to be built-in the kernel.
It is still copied in the out/ directory and so that it is still
available for addition in a 'ucode:' section in linuxkit.yml.

Signed-off-by: Yoann Ricordel <yoann.ricordel@qarnot-computing.com>
2019-09-23 12:30:35 +02:00
Justin Cormack
27f21a6917 Merge pull request #3413 from rn/kern-up
Update kernel to 5.2.9/4.19.71/4.14.142/4.9.192 and WireGuard to 0.0.20190913
2019-09-19 10:48:31 +02:00
Rolf Neugebauer
3f94b129a5 tests: Update alpine base in kernel tests
Because we updated the alpine for the kernel builds

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
135d9de261 tests: Add 5.2.x tests
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
461fa41176 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
a89c556125 kernel: Disable 5.2.x kernel for s390x for now
see: https://github.com/linuxkit/linuxkit/issues/3412

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
3b00838d6d kernel: Adjust s390x defconfig location
With 5.2.x the location moved to the configs subdirectory
to be more in line with other architectures.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
6649327285 kernel: Bump WireGuard to 0.0.20190913
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
0b352bae73 kernel: Update kernel build to latest alpine base
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
81b78e87a6 tests: Remove 5.1.x kernel tests
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
b406e5358b kernel: Remove 5.1.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:54 +01:00
Rolf Neugebauer
f620837773 kernel: Tweak 5.2.x kernel config
Disable Backlight drivers.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:53 +01:00
Rolf Neugebauer
a1cd1a9c43 kernel: Add 5.2.x kernels
The kernel config is derived from the 5.1.x config and
run through make oldconfig

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:53 +01:00
Rolf Neugebauer
515505b76e kernel: Adjust kernel config files
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:53 +01:00
Rolf Neugebauer
afd271fb85 kernel: Update to v4.19.71/4.14.142/4.9.192
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:53 +01:00
Rolf Neugebauer
ac4786ebb8 kernel: Make VSOCKETS a module in all kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-09-17 21:36:53 +01:00
Rolf Neugebauer
b4e0fdb891 Merge pull request #3407 from djs55/module-vsock
Switch to vsock as a module
2019-09-15 12:03:30 +01:00
Rolf Neugebauer
402184fd1f Merge pull request #3408 from TiejunChina/master-dev
update -rt to 4.19.59-rt24
2019-09-15 10:16:11 +01:00
Tiejun Chen
05b6bb5284 update rt example file
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2019-09-10 17:55:30 -07:00
Tiejun Chen
0388410192 update -rt to 4.19.59-rt24
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2019-09-10 17:54:21 -07:00
Avi Deitcher
c050fb7276 Merge pull request #2742 from deitch/getty-dedup
Keep track of processed ttys and only start same one once
2019-09-10 09:15:35 -04:00
Avi Deitcher
7cca26e3ad Merge pull request #3404 from deitch/proxy-option
Add docker-standard ftp_proxy + socks-standard all_proxy env vars
2019-09-05 18:51:38 +03:00
Avi Deitcher
fad3354448 Add docker-standard ftp_proxy/FTP_PROXY env var, and socks-standard all_proxy/ALL_PROXY
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2019-09-03 11:00:26 +03:00
Justin Cormack
d9bdd77ba7 Merge pull request #3387 from rn/kern-up
Update kernels to 5.1.15/4.19.56/4.14.131/4.9.184
2019-09-02 13:07:25 +01:00
Rolf Neugebauer
c1370780d0 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-29 09:04:42 +01:00
Rolf Neugebauer
472c7d944f kernel: Update to 5.1.15/4.19.56/4.14.131/4.9.184
Note, this skips 4.14.130 and 4.9.183 as the diff
is just one commit.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-29 09:04:42 +01:00
Rolf Neugebauer
315ddf88e2 kernel: Enable WIRELESS and WLAN in x86 and arm64 configs
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-29 09:04:41 +01:00
Rolf Neugebauer
380a05e416 kernel: Update to 5.1.14/4.19.55/4.14.129
This skips 5.1.13 and 4.19.54 because the diff was
a single commit.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-29 09:04:41 +01:00
Rolf Neugebauer
54f54f0791 kernel: Update to 5.1.12/4.19.53/4.14.128
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-29 09:04:41 +01:00
Rolf Neugebauer
d32c4a1c4b Merge pull request #3403 from rn/containerd-1.28
Update to containerd v1.2.8
2019-08-29 09:03:48 +01:00
Avi Deitcher
49ffa978d3 Keep track of processed ttys and only start same one once
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2019-08-29 11:03:18 +03:00
Rolf Neugebauer
cf4be444df Update YAMLs to latest containerd
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-25 14:23:14 +01:00
Rolf Neugebauer
2018f5f499 Bump packages to new alpine w/ containerd v1.2.8
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-25 14:11:09 +01:00
Rolf Neugebauer
71f0cb364d alpine: Update alpine package
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-25 08:56:49 -04:00
Rolf Neugebauer
8940ba5e34 alpine: Bump containerd to v1.2.8
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-25 13:21:29 +01:00
Guillaume Rose
22fb927f2f Add trust parameter for docker pull in moby.Formats
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-08-07 22:56:58 +02:00
Justin Cormack
aa0a76b58b Merge pull request #3397 from rn/fw-fix
Fix path in firmware image (and update while at it)
2019-08-02 10:45:27 +01:00
Rolf Neugebauer
a380dd70d4 examples: Update firmware image to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-02 00:46:11 +01:00
Rolf Neugebauer
3c0131e2e1 pkg/firmware: Update to latest firmware package
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-02 00:32:09 +01:00
Rolf Neugebauer
f6695a7e03 pkg/firmware: Update the kernel package to a newer version.
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-02 00:28:39 +01:00
Rolf Neugebauer
b1bed08f72 pkg/firmware: Fix directory layout
Copy firmaware files to the correct directory. Instead of

<vendor>/<fw-name>/<fw-name> copy it to <vendor>/<fw-name>.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-08-02 00:26:17 +01:00
Justin Cormack
2c89f304ce Merge pull request #3390 from nakato/vultr-ssh
Vultr ssh
2019-07-22 10:09:44 +01:00
Sachi King
d4c6c5be47 Explicitly define metadata provider for Vultr
Vultr provides an API that looks a lot like the AWS api, resulting in
the AWS provider succeeding, but missing certain metadata parts that one
would expect to work out of the box on Vultr, such as SSH PubKey
fetching.

Signed-off-by: Sachi King <nakato@nakato.io>
2019-07-22 17:26:51 +10:00
Sachi King
f966dea6ff metadata: Fix Vultr provider SSH pubkey fetching
The Vultr provider currently never calls handleSSH, resulting in it
being impossible to bring up a LinuxKit image in vultr with the SSH
pubkey provided via the Vultr metadata API.

Signed-off-by: Sachi King <nakato@nakato.io>
2019-07-22 17:14:25 +10:00
Guillaume Rose
97ad842018 Update extend package
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-07-17 21:57:01 +02:00
Guillaume Rose
6a6d169af9 Use ioctl instead of blockdev
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-07-17 21:56:21 +02:00
Guillaume Rose
0fb16ac8b0 Don’t resize dos partition if no free space is available
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-07-17 16:56:02 +02:00
Guillaume Rose
518220ee44 LastLBA is only present for GPT table
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-07-17 16:56:02 +02:00
Guillaume Rose
65f3d9bcc1 Propagate error instead of log.Fatalf()
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-07-17 16:56:02 +02:00
David Scott
138199299a Switch to vsock as a module
Signed-off-by: David Scott <dave.scott@docker.com>
2019-07-09 15:30:01 +01:00
Rolf Neugebauer
5426ae55af cmd/qemu: Disable rng on macOS
With rng-random, booting hangs before switching
to the initrd.

fixes https://github.com/linuxkit/linuxkit/issues/3320

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-07-08 20:04:36 +01:00
Rolf Neugebauer
66cd2b6ee5 Merge pull request #3377 from Sh4d1/update_scaleway_provider
Update Scaleway Provider with new Go SDK
2019-07-05 18:33:14 +01:00
Avi Deitcher
54a13caa8d Merge pull request #3385 from rn/wireguard-up
kernel: Update wireguard to 0.0.20190601
2019-07-03 10:06:31 +03:00
Rolf Neugebauer
8db41028b4 Merge pull request #3386 from rn/containerd-up
Bump containerd to v1.2.7
2019-07-02 21:03:40 +01:00
Rolf Neugebauer
d4d74f0117 Update YAMLs to latest containerd
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-28 02:05:02 +01:00
Rolf Neugebauer
c0fcc3ddac Bump packages to new alpine w/ containerd v1.2.7
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-28 01:56:20 +01:00
Rolf Neugebauer
e927e25c0e alpine: Update alpine package
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-27 20:53:08 -04:00
Rolf Neugebauer
8b9d510467 alpine: Use community instead of testing for wireguard-tools
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-28 01:20:43 +01:00
Rolf Neugebauer
8fd4e7c2fd alpine: Bump contianerd to v1.2.7
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-28 01:13:17 +01:00
Rolf Neugebauer
f7b3eb38ef kernel: Update wireguard to 0.0.20190601
This skips 0.0.20190531

Changelog for 0.0.20190601

== Changes ==

  * compat: don't call xgetbv on cpus with no XSAVE

  There was an issue with the backport compat layer in yesterday's snapshot,
  causing issues on certain (mostly Atom) Intel chips on kernels older than
  4.2, due to the use of xgetbv without checking cpu flags for xsave support.
  This manifested itself simply at module load time. Indeed it's somewhat tricky
  to support 33 different kernel versions (3.10+), plus weird distro
  frankenkernels.

Changelog for 0.0.20190531

== Changes ==

  * tools: add wincompat layer to wg(8)

  Consistent with a lot of the Windows work we've been doing this last cycle,
  wg(8) now supports the WireGuard for Windows app by talking through a named
  pipe. You can compile this as `PLATFORM=windows make -C src/tools` with mingw.
  Because programming things for Windows is pretty ugly, we've done this via a
  separate standalone wincompat layer, so that we don't pollute our pretty *nix
  utility.

  * compat: udp_tunnel: force cast sk_data_ready

  This is a hack to work around broken Android kernel wrapper scripts.

  * wg-quick: freebsd: workaround SIOCGIFSTATUS race in FreeBSD kernel

  FreeBSD had a number of kernel race conditions, some of which we can vaguely
  work around. These are in the process of being fixed upstream, but probably
  people won't update for a while.

  * wg-quick: make darwin and freebsd path search strict like linux

  Correctness.

  * socket: set ignore_df=1 on xmit

  This was intended from early on but didn't work on IPv6 without the ignore_df
  flag. It allows sending fragments over IPv6.

  * qemu: use newer iproute2 and kernel
  * qemu: build iproute2 with libmnl support
  * qemu: do not check for alignment with ubsan

  The QEMU build system has been improved to compile newer versions. Linking
  against libmnl gives us better error messages. As well, enabling the alignment
  check on x86 UBSAN isn't realistic.

  * wg-quick: look up existing routes properly
  * wg-quick: specify protocol to ip(8), because of inconsistencies

  The route inclusion check was wrong prior, and Linux 5.1 made it break
  entirely. This makes a better invocation of `ip route show match`.

  * netlink: use new strict length types in policy for 5.2
  * kbuild: account for recent upstream changes
  * zinc: arm64: use cpu_get_elf_hwcap accessor for 5.2

  The usual churn of changes required for the upcoming 5.2.

  * timers: add jitter on ack failure reinitiation

  Correctness tweak in the timer system.

  * blake2s,chacha: latency tweak
  * blake2s: shorten ssse3 loop

  In every odd-numbered round, instead of operating over the state
      x00 x01 x02 x03
      x05 x06 x07 x04
      x10 x11 x08 x09
      x15 x12 x13 x14
  we operate over the rotated state
      x03 x00 x01 x02
      x04 x05 x06 x07
      x09 x10 x11 x08
      x14 x15 x12 x13
  The advantage here is that this requires no changes to the 'x04 x05 x06 x07'
  row, which is in the critical path. This results in a noticeable latency
  improvement of roughly R cycles, for R diagonal rounds in the primitive. As
  well, the blake2s AVX implementation is now SSSE3 and considerably shorter.

  * tools: allow setting WG_ENDPOINT_RESOLUTION_RETRIES

  System integrators can now specify things like
  WG_ENDPOINT_RESOLUTION_RETRIES=infinity when building wg(8)-based init
  scripts and services, or 0, or any other integer.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-28 00:39:23 +01:00
Rolf Neugebauer
d58859dd7f Merge pull request #3363 from lpottier/fix-kconfig-urls
Fixed urls used to download kernel images from kernel.org in kernel/Dockerfile.kconfig, used by make kconfig
2019-06-25 22:52:39 +02:00
Loïc Pottier
52aa902800 Added --create-dirs to Dockerfile.kconfig to fix a crash when
the sources/ directory does not exist

Signed-off-by: Loïc Pottier <lpottier@isi.edu>
2019-06-25 11:37:45 -07:00
Rolf Neugebauer
4dc5d0a3fb Merge pull request #3370 from guillaumerose/swap
Create swap file only if absent
2019-06-20 12:36:38 +01:00
Rolf Neugebauer
24eb7b048c Merge pull request #3381 from bjornin/update-zfs-0.8.1
Update zfs to 0.8.1
2019-06-20 01:02:38 +01:00
Björn Ingeson
3322e7ad18 Update zfs to 0.8.1
Since SPL is included in the ZFS repo from 0.8.0 this change will not be backwards compatible.

Signed-off-by: Björn Ingeson <bjorn.ingeson@gmail.com>
2019-06-19 23:30:44 +02:00
Rolf Neugebauer
1fd88b1dcc Merge pull request #3380 from TiejunChina/master-dev
update -rt to 4.19.50-rt22
2019-06-19 09:18:32 +01:00
Tiejun Chen
ee4ebc7f2a update -rt to 4.19.50-rt22
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2019-06-18 16:39:12 -07:00
Justin Cormack
2ddfdad1b1 Merge pull request #3378 from rn/kern-up
Update kernels to 5.1.10/4.19.51/4.14.126/4.9.181
2019-06-17 23:57:24 +01:00
Rolf Neugebauer
8922b437dd kernel: Update to 5.1.11/4.19.52/4.14.127/4.9.182/4.4.182
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-17 23:05:46 +01:00
Rolf Neugebauer
5dcccbca50 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-17 21:05:32 +01:00
Patrik Cyvoct
6a4d127fd3 Update Scaleway Provider with new Go SDK
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2019-06-17 19:12:47 +02:00
Guillaume Rose
e57cb35015 Update linuxkit/swap image
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-06-17 10:06:17 +02:00
Guillaume Rose
fa1cd40a2a Create swap file only if absent
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2019-06-17 10:06:17 +02:00
Rolf Neugebauer
b1991877f6 kernel: Update to 5.1.10/4.19.51/4.14.126/4.9.181
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-17 08:38:26 +01:00
Rolf Neugebauer
c77ef1560f kernel: Update to 5.1.9/4.19.50/4.14.125
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-16 21:53:37 +01:00
Justin Cormack
ea23fecdee Merge pull request #3372 from rn/kern-up
Update kernels to 5.1.8/4.19.49/4.14.124 (remove 5.0.x kernel)
2019-06-10 16:48:02 +01:00
Rolf Neugebauer
a59b3a1e01 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-10 09:35:08 +01:00
Rolf Neugebauer
b3805745f2 kernel: Update to 5.1.8/4.19.49/4.14.124
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-10 09:35:08 +01:00
Rolf Neugebauer
4a86f4423d kernel: Adjust 4.19.x kernel config file
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-10 09:35:08 +01:00
Rolf Neugebauer
ae53b3f28f kernel: Update to 5.1.7/4.19.48
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-10 09:35:08 +01:00
Rolf Neugebauer
fcb618822b Remove the 5.0.x kernel
It was EOLed with 5.0.21

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-10 09:35:08 +01:00
Rolf Neugebauer
d50ac51d48 Merge pull request #3367 from singe/patch-1
Update kernel Dockerfile with openssl-dev dep
2019-06-06 19:47:15 +01:00
Rolf Neugebauer
7ca3f6684f Merge pull request #3368 from ndauten/mem-update
Memorizer update
2019-06-06 19:46:26 +01:00
Dominic White
340dba89a0 Update kernel Dockerfile with openssl-dev dep
Kernel series 5.1.x requires openssl headers to compile scripts/extract-cert.c.

Signed-off-by: singe <singe-github@singe.za.net>
2019-06-06 15:24:08 +02:00
Nathan Dautenhahn
d503a77dd4 Update and modify kconfig for memorizer
Signed-off-by: Nathan Dautenhahn <ndd@rice.edu>
2019-06-06 07:58:26 -05:00
Nathan Dautenhahn
6f8510a1fe Use non dirty tag for memorizer
Signed-off-by: Nathan Dautenhahn <ndd@rice.edu>
2019-06-06 07:58:26 -05:00
Justin Cormack
02913f8950 Merge pull request #3366 from rn/may-2019
May 2019 development report (and Author update)
2019-06-05 12:31:09 +01:00
Rolf Neugebauer
cd7ea94fb8 Merge pull request #3345 from kmjohansen/topics/kj/rngd-eintr
rngd exits after being stopped and resumed
2019-06-05 08:39:46 +01:00
Krister Johansen
8159efcf8f Update rngd image.
Move linuxkit/rngd up to 02c555b50c

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2019-06-04 13:25:16 -07:00
Krister Johansen
3b20802be7 rngd exits after being stopped and resumed
Linux has documented but somewhat unusual behavior around
SIGSTOP/SIGCONT and certain syscalls, of which epoll_wait(2) is one.  In
this particular case, rngd exited unexpectedly after getting ptrace'd
mid-epoll_wait.  Fix this by handling EINTR from this syscall, and
continuing to add entropy and wait.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2019-06-04 13:22:50 -07:00
Rolf Neugebauer
4dbba2540b Merge pull request #3357 from riconnon/uboot-dtbs
Support for dynamic selection of Raspberry Pi DTB
2019-06-04 11:20:01 +01:00
Richard Connon
30b78d7e82 Update mkimage-rpi3 tool reference in linuxkit CLI
Update the image tag for the mkimage-rpi3 tool used by the CLI to adopt
the dynamic DTB selection feature.

Signed-off-by: Richard Connon <richard@connon.me.uk>
2019-06-04 08:04:10 +00:00
Richard Connon
5ffbfbbf67 Support loading correct DTB for RPi 3 model B+
U-Boot sets the variable fdtfile to the correct file name for the
detected hardware revision. Use this in the boot script to load either
the 3-b or 3-b-plus DTB

Signed-off-by: Richard Connon <richard@connon.me.uk>
2019-06-04 08:03:31 +00:00
Richard Connon
b97f47b0aa Update rpi3 u-boot to detect newer hardware
Update the u-boot image included in the mkimage-rpi3 image to support
detecting newer hardware versions and setting the fdtfile variable
accordingly
Shallow clone the u-boot repository during docker build to improve build
efficiency

Signed-off-by: Richard Connon <richard@connon.me.uk>
2019-06-04 08:03:31 +00:00
Rolf Neugebauer
ce8e8595d9 May 2019 development report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-03 20:59:11 +01:00
Rolf Neugebauer
7fff877732 Update AUTHORS file
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-03 20:18:06 +01:00
Justin Cormack
38ac762f8b Merge pull request #3362 from rn/kern-up
Update kernels to 5.1.6/5.0.20/4.19.47/4.9.180
2019-06-03 16:53:33 +01:00
Justin Cormack
b980fa72da Merge pull request #3365 from justincormack/log-driver
Do not use a log driver while running containers
2019-06-03 13:03:01 +01:00
Justin Cormack
213d9b0380 Do not use a log driver while running containers
This stops the output from also being copied to logs if the user
has a log driver configured.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2019-06-03 10:44:02 +01:00
Rolf Neugebauer
848ba99223 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-02 00:50:34 +01:00
Rolf Neugebauer
07847a51a5 kernel: Adjust arm64 kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-01 19:26:11 +01:00
Rolf Neugebauer
409a06ba5d kernel: Update to 5.1.6/5.0.20/4.19.47/4.9.180
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-06-01 13:46:12 +01:00
Rolf Neugebauer
845e25a569 Merge pull request #3361 from jterry75/update_linuxkit/runc
Update to latest linuxkit/runc:c1f0db2
2019-06-01 11:43:05 +01:00
Rolf Neugebauer
4d9b9853f0 Merge pull request #3338 from jterry75/update_runc-v1.0.0-rc8
Update opencontainers/runc to v1.0.0-rc8
2019-06-01 11:42:45 +01:00
Rolf Neugebauer
ca376d70db Merge pull request #3359 from TiejunChina/master-dev
update -rt to 4.19.37-rt20
2019-06-01 01:58:24 +01:00
Tiejun Chen
2fc3151ccd update -rt to 4.19.37-rt20
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2019-05-30 17:57:53 -07:00
Justin Terry (VM)
45a354bba9 Update to latest linuxkit/runc:c1f0db2
Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-05-30 11:36:57 -07:00
Justin Cormack
80379b41fd Merge pull request #3358 from rn/kern-up
Upte kernels to 5.1.5/5.0.19/4.19.46/4.14.122/4.9.179
2019-05-30 11:19:45 +03:00
Rolf Neugebauer
64cd724a34 Merge pull request #3351 from riconnon/update-rpi-firmware
Update referenced Raspberry Pi firmware
2019-05-27 14:37:12 -07:00
Rolf Neugebauer
72c0cda916 Update YAMLs to the latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-27 22:31:32 +01:00
Rolf Neugebauer
7b784fedb5 kernel: Adjust kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-27 08:39:19 +01:00
Rolf Neugebauer
747138ca72 kernel: Update to 5.1.5/5.0.19/4.19.46/4.14.122/4.9.179
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-26 23:14:14 +01:00
Rolf Neugebauer
3c983a78e8 kernel: Adjust s390x config file
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-26 16:22:53 +01:00
Rolf Neugebauer
76e9d95fda kernel: Update to 5.1.4/5.0.18/4.19.45/4.14.121/4.9.178
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-26 14:35:06 +01:00
Rolf Neugebauer
fde7e0e612 kernel: Update to 5.1.3/5.0.17/4.19.44/4.14.120/4.9.177
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-26 12:09:27 +01:00
Richard Connon
2f6876b2c1 Update referenced Raspberry Pi firmware
Update Raspberry Pi firmware used in mkimage-rpi3 to the latest stable
version to support newer hardware models such as the 3B+

Signed-off-by: Richard Connon <richard@connon.me.uk>
2019-05-26 08:14:14 +01:00
Rolf Neugebauer
f040d05d20 kernel: Enable HOTPLUG_PCI_ACPI for x86
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-25 18:53:41 +01:00
Rolf Neugebauer
7cb48d2e82 kernel: Update kernels to 5.1.2/5.0.16/4.19.43/4.14.119/4.9.176
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-25 18:37:18 +01:00
Rolf Neugebauer
13e232519b kernel: Update Intel microcode
Intel seem to have switched to hosting the microcode on GitHub.
Use this source and update to the 20190514 version.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-25 18:32:35 +01:00
Rolf Neugebauer
d7d2f1af8e kernel: Remove 5.0.x kernel for arm64 and s390x
To reduce the number of kernels to compile...

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-25 18:32:35 +01:00
Rolf Neugebauer
750bdfd5eb Merge pull request #3350 from schrotthaufen/rpi3bp
kernel: Include lan78xx kernel module for use with rpi3b+
2019-05-25 10:31:35 -07:00
Rolf Neugebauer
d3b28c951e Merge pull request #3355 from rn/wg-0.0.20190406
Update to WireGuard  0.0.20190406
2019-05-25 09:23:15 -07:00
Rolf Neugebauer
20d47a9bc3 Revert "kernel: Disable WireGuard for 5.1.x kernels"
This reverts commit 0a46f29a05.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-25 14:16:25 +01:00
Rolf Neugebauer
9f6b8ee81d kernel: Update WireGuard to 0.0.20190406
== Changes ==

  * allowedips: initialize list head when removing intermediate nodes

  Fix for an important regression in removing allowed IPs from the last
  snapshot. We have new test cases to catch these in the future as well.

  * wg-quick: freebsd: rebreak interface loopback, while fixing localhost
  * wg-quick: freebsd: export TMPDIR when restoring and don't make empty

  Two fixes for FreeBSD which have already been backported into ports.

  * tools: genkey: account for short reads of /dev/urandom
  * tools: add support for Haiku

  The tools now support Haiku! Maybe somebody is working on a WireGuard
  implementation for it?

  * tools: warn if an AllowedIP has a nonzero host part

  If you try to run `wg set wg0 peer ... allowed-ips 192.168.1.82/24`, wg(8)
  will now print a warning. Even though we mask this automatically down to
  192.168.1.0/24, usually when people specify it like this, it's a mistake.

  * wg-quick: add 'strip' subcommand

  The new strip subcommand prints the config file to stdout after stripping
  it of all wg-quick-specific options. This enables tricks such as:
  `wg addconf $DEV <(wg-quick strip $DEV)`.

  * tools: avoid unneccessary next_peer assignments in sort_peers()

  Small C optimization the compiler was probably already doing.

  * peerlookup: rename from hashtables
  * allowedips: do not use __always_inline
  * device: use skb accessor functions where possible

  Suggested tweaks from Dave Miller.

  * qemu: set framewarn 1280 for 64bit and 1024 for 32bit

  These should indicate to us more clearly when we cross the most strict stack
  thresholds expected when using recent compilers with the kernel.

  * blake2s: simplify
  * blake2s: remove outlen parameter from final

  The blake2s implementation has been simplified, since we don't use any of the
  fancy tree hashing parameters or the like. We also no longer separate the
  output length at initialization time from the output length at finalization
  time.

  * global: the _bh variety of rcu helpers have been unified
  * compat: nf_nat_core.h was removed upstream
  * compat: backport skb_mark_not_on_list

  The usual assortment of compat fixes for Linux 5.1.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-25 14:05:51 +01:00
schrotthaufen
0120b7dc74 kernel: Include lan78xx kernel module for use with rpi3b+
Signed-off-by: schrotthaufen <schrotthaufen@invalid.invalid>
2019-05-16 20:32:43 +02:00
Preston Holmes
00b0f8fa90 Change userdata key in cmd src
Signed-off-by: Preston Holmes <preston@ptone.com>
2019-05-15 14:06:42 -07:00
Preston Holmes
d11404ca97 Update GCP metadata provider
Signed-off-by: Preston Holmes <preston@ptone.com>
2019-05-15 13:51:58 -07:00
Rolf Neugebauer
bdf1d0558f Merge pull request #3348 from rn/report-apr-2019
April 2019 report and authors update
2019-05-13 11:25:31 +01:00
Rolf Neugebauer
34b00fa8aa Merge pull request #3347 from rn/kern-up
Update kernels to 5.0.15/4.19.42/4.14.118/4.9.175 and add 5.1.1 kernel
2019-05-12 22:33:50 +01:00
Rolf Neugebauer
59ddbe3f9c Update Authors
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-12 22:08:39 +01:00
Rolf Neugebauer
726a9ee4c9 Development report for April 2019
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-12 22:07:22 +01:00
Rolf Neugebauer
626c6ccef1 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-12 20:58:32 +01:00
Rolf Neugebauer
d72c928a1e tests: Add tests for the 5.1.x kernel
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-12 20:56:26 +01:00
Rolf Neugebauer
0a46f29a05 kernel: Disable WireGuard for 5.1.x kernels
Getting compile errors:

AS [M]  /wireguard/crypto/zinc/chacha20/chacha20-x86_64.o
In file included from <command-line>:
/wireguard/compat/compat.h:795:10: fatal error: net/netfilter/nf_nat_core.h: No such file or directory
 #include <net/netfilter/nf_nat_core.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-12 18:24:40 +01:00
Rolf Neugebauer
63a120c4a1 kernel: Add support for 5.1.x kernels
The config files were derived from the 5.0.x config
files and run through make oldconfig.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-12 16:10:51 +01:00
Rolf Neugebauer
7bebc0fae5 kernel: Update to 5.0.15/4.19.42/4.14.118/4.9.175
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-12 11:54:15 +01:00
Rolf Neugebauer
7cb1d40a4a kernel: Update to 5.0.14/4.19.41/4.14.117/4.9.174
Skip 5.0.13 and 4.19.40 as the delta to the previous
version is like ~25 patches.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-11 18:36:13 +01:00
Justin Cormack
8129070a90 Merge pull request #3344 from rn/kern-up
Update kernels to 5.0.12/4.9.39/4.14.116/4.9.173
2019-05-07 08:03:27 -07:00
Rolf Neugebauer
c16bef3520 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-06 08:49:06 +01:00
Rolf Neugebauer
7e6f117f9e kernel: Update to 5.0.12/4.19.39/4.14.116/4.9.173
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-05 13:31:12 +01:00
Rolf Neugebauer
93a59dc440 Merge pull request #3341 from deitch/fix-kernel-mkimage
Fix issue wherein multiple files named kernel in the tar break various mkimage utils
2019-05-05 12:50:31 +01:00
Rolf Neugebauer
9a969a6bbe kernels: Update to 5.0.11/4.19.38/4.14.115/4.9.172
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-05-05 10:31:40 +01:00
Avi Deitcher
0cb9d79b51 Simplify to static kernel file location
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2019-05-05 12:28:17 +03:00
Justin Terry (VM)
1d9cedc0bb Update opencontainers/runc to v1.0.0-rc8
Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
2019-04-29 16:24:02 -07:00
Rolf Neugebauer
a3ac8f7443 Merge pull request #3335 from nakato/RPi3bp
Update RPi firmware
2019-04-28 22:05:38 +01:00
Rolf Neugebauer
473426229f Merge pull request #3337 from rn/kern-up
Update kernel to 5.0.10/4.19.37/4.14.114/4.9.171
2019-04-28 20:03:03 +01:00
Rolf Neugebauer
4ec32a215d Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-28 16:27:06 +01:00
Rolf Neugebauer
44b91954b6 kernel: Update to 5.0.10/4.19.37/4.14.114/4.9.172
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-28 11:10:30 +01:00
Sachi King
df41414d82 Update RPi builder hash to include FW
Fixes #3324

Signed-off-by: Sachi King <nakato@nakato.io>
2019-04-28 15:38:02 +10:00
Sachi King
ea66def1fb Update RPi3 firmware to fix startup on newer kit
With the current firmware being pulled for the RPi3, recent revisions of
the RPi hardware, such as the 3 B+ will fail to boot.

The issue is exhibited as when RPi 3 B+ receives power and attempts to
boot, the power LED will turn off and the ACT LED will flash 8 times.
According to elinux.org troubleshooting guide[0] this correlates to an
SDRAM initialisation error that can be fixed by updating the firmware.

After updating this firmware the power light stays on, and UBoot can be
seen booting.

[0] - https://elinux.org/R-Pi_Troubleshooting#Green_LED_blinks_in_a_specific_pattern

Signed-off-by: Sachi King <nakato@nakato.io>
2019-04-23 10:30:31 +10:00
Sachi King
0bd28bd3a8 Vendor RPi firmware blob licenese
As per the license, the license must be provided with the binaries.

Signed-off-by: Sachi King <nakato@nakato.io>
2019-04-23 10:30:13 +10:00
Rolf Neugebauer
dd81f840a2 Merge pull request #3334 from rn/kern-up
Update kernels to 5.0.9/4.19.36/4.14.113/4.9.170
2019-04-22 22:35:27 +01:00
Rolf Neugebauer
b837d1125d Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-22 16:47:58 +01:00
Rolf Neugebauer
b22ba61a2b kernel: Update to 5.0.9/4.19.36/4.14.113/4.9.170
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-22 11:03:01 +01:00
Rolf Neugebauer
a39ee60478 kernel: Remove dependency on 'sources'
Commit d47b283df4 ("kernel: Remove fetch target") removed
the 'fetch' target to simplify the Makefile. This left
dependencies on 'sources' lingering. Remove it.

resolves #3333

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-22 11:03:01 +01:00
Rolf Neugebauer
7214e48715 Merge pull request #3332 from rn/kern-up
Kernel update to 5.0.8/4.19.35/4.14.112/4.9.169
2019-04-19 20:25:40 +01:00
Rolf Neugebauer
8c1c7dbf7e Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-19 14:44:31 +01:00
Rolf Neugebauer
724c807b49 kernel: Update config files
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-19 11:19:21 +01:00
Rolf Neugebauer
719a2753db kernel: Update to 5.0.8/4.19.35/4.14.112/4.9.169
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-19 10:54:27 +01:00
Rolf Neugebauer
82a75d4b0f Merge pull request #3330 from deitch/grub-coreos-alpine-3.9
Build coreos grub off of alpine:3.9 and separate build steps for caching
2019-04-18 18:47:39 +01:00
Avi Deitcher
a02537ebe5 Build coreos grub off of alpine:3.9 and separate build steps for caching
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2019-04-18 11:50:05 +03:00
Justin Cormack
e08e5caed7 Merge pull request #3331 from rn/post-v0.7
Bump version to v0.7+
2019-04-17 23:57:51 +01:00
Rolf Neugebauer
8e1b6b0d0b Bump version to v0.7+
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-17 21:57:11 +01:00
Rolf Neugebauer
4f4f7feae1 Merge pull request #3329 from rn/rel_v0.7
Release v0.7
2019-04-17 21:38:31 +01:00
Rolf Neugebauer
ea9a9dd763 Update CHANGELOG
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-17 09:48:29 +01:00
Rolf Neugebauer
ac81de2ac3 Update version in top-level Makefile
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-17 09:48:29 +01:00
Rolf Neugebauer
087badc8b7 Update AUTHORS
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-17 09:48:29 +01:00
Rolf Neugebauer
51fd2916c6 kernel: Update gcc version in kernel config files
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-17 08:28:21 +01:00
Rolf Neugebauer
03e0d67051 kernel: Update alpine to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-17 07:43:18 +01:00
Rolf Neugebauer
291a95d3fa Update package tags to v0.7
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-16 23:46:27 +01:00
Rolf Neugebauer
c7799a9080 pkgs: Update packages to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-16 23:25:22 +01:00
Rolf Neugebauer
ba9a266b6a tests: Update tests cases to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-16 23:23:41 +01:00
Rolf Neugebauer
344cba78e5 Update use of test packages to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-16 23:23:27 +01:00
Rolf Neugebauer
bb313ac560 tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-16 23:16:56 +01:00
Rolf Neugebauer
da3f1e9c6c Update use of tools to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-16 23:16:18 +01:00
Rolf Neugebauer
94bfb97ba3 tools: Update to the latest linuxkit/alpine
Skip tools/grub as this still requires alpine 3.8
to build

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-16 22:53:26 +01:00
Avi Deitcher
6e67121486 Merge pull request #3328 from deitch/grub-coreos
Move coreos-grub build to its own image
2019-04-16 21:04:30 +01:00
Avi Deitcher
99b785f3ee change image used by linuxkit output format for latest mkimage-*-efi
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2019-04-16 15:21:26 +01:00
Avi Deitcher
d6b80396bb Move coreos-grub build to its own image
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2019-04-15 13:00:52 +03:00
Rolf Neugebauer
2f3e42a68c Merge pull request #3327 from rn/containerd-1.2.6
Update containerd to v1.2.6
2019-04-14 14:49:27 +03:00
Rolf Neugebauer
c42569a570 Bump YAMLs to containerd v1.2.6 (and update runc)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-14 11:29:43 +01:00
Rolf Neugebauer
53485a1f83 Bump packages to new alpine w/ containerd v1.2.6
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-14 11:29:08 +01:00
Rolf Neugebauer
fd67969697 pkg/runc: Bump to v1.0.0-rc7-6-g029124da
This is the recommended version for containerd v1.2.6

While at it, also bump the alpine base.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-14 11:29:08 +01:00
Rolf Neugebauer
2b32dde645 alpine: Bump containerd to v1.2.6
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-14 11:29:08 +01:00
Justin Cormack
916b20a919 Merge pull request #3326 from rn/kern-up
Update kernels to 5.0.7/4.19.34/4.14.111/4.9.168
2019-04-14 10:50:34 +01:00
Rolf Neugebauer
f670d0d352 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-13 23:23:42 +01:00
Rolf Neugebauer
74c8caa450 kernel: Update to 5.0.7/4.19.34/4.14.111/4.9.168
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-13 18:36:44 +01:00
Justin Cormack
bd9547fee6 Merge pull request #3323 from rn/kern-up
Update kernels to 5.0.6/4.19.33/4.14.110/4.9.167
2019-04-07 12:13:05 +01:00
Rolf Neugebauer
510f26581f tests: Use elfutils-dev for kmod tests
Commit 250b14661b ("kernel: Use elfutils-dev instead
of libelf-dev") switched the kernel build to use
elfutils-dev instead of libelf-dev. This caused the kernel
module tests to fail. The still installed libelf-dev and
the dunamically linked objtool (and friends) from the
kernel source package failed to execute.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-05 22:55:51 +01:00
Rolf Neugebauer
7f3b13aa92 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-05 20:57:22 +01:00
Rolf Neugebauer
250b14661b kernel: Use elfutils-dev instead of libelf-dev
With kernel 5.0.6 we start seeing compile errors such as:

  HOSTCXX -fPIC scripts/gcc-plugins/randomize_layout_plugin.o
In file included from <stdin>:1:
/usr/include/libelf/libelf.h:28:5: error: "__LIBELF_INTERNAL__" is not defined, evaluates to 0 [-Werror=undef]
 #if __LIBELF_INTERNAL__
     ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

elutils-dev installs a different version of libelf.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-05 19:01:51 +01:00
Justin Cormack
da1854050e Merge pull request #3322 from rn/mar-2019
March 2019 development report
2019-04-05 16:55:55 +01:00
Rolf Neugebauer
50a182936e March 2019 development report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-05 08:25:16 +01:00
Rolf Neugebauer
658da5b94a kernel: Update to 5.0.6/4.19.33/4.14.110/4.9.167
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-04-03 23:26:06 +01:00
Justin Cormack
9d4ebc8ada Merge pull request #3319 from rn/kern-up
Kernel update to 5.0.5/4.19.32/4.14.109/4.9.166
2019-04-01 11:19:19 +01:00
Rolf Neugebauer
1203c54c0a Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-31 22:21:42 +01:00
Rolf Neugebauer
32920fb018 Merge pull request #3317 from justincormack/dockerapi
Update Docker API version
2019-03-31 12:07:57 -07:00
Rolf Neugebauer
01b7472e98 kernel: Update to 5.0.5/4.19.32/4.14.109/4.9.166
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-31 19:45:53 +01:00
Rolf Neugebauer
5737db1429 Merge pull request #3315 from jmccoy555/master
Add static IP example
2019-03-31 11:30:01 -07:00
Justin Cormack
ec31261706 Update Docker API version
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2019-03-31 18:12:34 +01:00
mcy
91bd111dd0 Add static IP example
Signed-off-by: mcy <james@mcy.email>
2019-03-30 19:15:34 +00:00
Rolf Neugebauer
680de1eacf Merge pull request #3314 from rn/kern-up
Update kernels up to 5.0.4/4.19.31/4.14.108/4.9.165
2019-03-25 12:41:05 -07:00
Rolf Neugebauer
2853f71fe5 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-25 17:48:08 +00:00
Rolf Neugebauer
b1249c28ca kernel: Update to 5.0.4/4.19.31
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-25 09:11:10 +00:00
Rolf Neugebauer
e1b94133f1 kernel: Remove 4.20.x
It has been EOLed

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-25 09:07:29 +00:00
Rolf Neugebauer
edb8c29e8e kernel: Update to 5.03/4.20.17/4.19.30/4.14.108/4.9.165
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-24 23:21:29 +00:00
Rolf Neugebauer
f3e7087114 kernel: Enable BFQ in 5.x kernels
All our 4.x kernels had CFQ enabled. This was removed
in 5.x and replaced with BFQ. Enable it.

resolves #3308

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-24 13:41:33 +00:00
Rolf Neugebauer
cf5221eca9 kernel: Adjust 4.20.x/4.19.x x86 kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-24 13:14:18 +00:00
Rolf Neugebauer
0a8d501c41 kernel: Update to 5.02/4.20.16/5/19.29/4.14.107/4.9.164
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-24 13:00:34 +00:00
Rolf Neugebauer
aed0401150 kernel: Adjust 4.14.x/4.9.x config files
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-23 23:21:49 +00:00
Rolf Neugebauer
410aefb425 kernel: Update Intel microcode
Hmm, the URL changed, the md5 changed, but the date
on the website and the file stayed the same...

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-23 21:17:09 +00:00
Rolf Neugebauer
e5d8ded27e kernel: Update to 4.14106/4.9.163
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-23 19:38:49 +00:00
Rolf Neugebauer
8972f35d9a kernel: Remove 4.14.x for s390x and arm64
To reduce the number of kernels we maintain, for s390x
and ar64 we only support the latest LTS and newer kernels.
v4.19.x has been out for a while, so lets remove support for
v4.14.x.

resolves #3302

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-23 19:31:23 +00:00
Rolf Neugebauer
6bc3d2be2f Merge pull request #3310 from sethp/patch-1
Update example link
2019-03-23 11:24:54 -07:00
sethp
993b392bdd Update example link
The directory the link previously went to has changed.

Signed-off-by: Seth Pellegrino <seth@codecopse.net>
2019-03-20 21:58:12 -07:00
Justin Cormack
26e8a72674 Merge pull request #3305 from rn/kern-up
Add support for 5.0.x kernels and update to 4.20.15/4.19.28
2019-03-18 12:07:15 +00:00
Rolf Neugebauer
a43091d27a Merge pull request #3307 from jmccoy555/master
Updated Compose and Docker versions.
2019-03-17 16:16:16 -07:00
Rolf Neugebauer
29aee97416 tests: Update kernel-config check image
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-17 11:59:09 -07:00
Rolf Neugebauer
25e25da424 tests: Skip Moby kernel config checks on 5.x
See https://github.com/moby/moby/issues/38887
for details. Basically 5.x removed support for
CFQ with f382fb0bcef4 ("block: remove legacy IO
schedulers") and the Moby check still requires it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-17 11:56:46 -07:00
James McCoy
a43a3f7165 Updated Compose and Docker versions.
Signed-off-by: James McCoy <james@mcy.email>
2019-03-17 18:18:37 +00:00
Rolf Neugebauer
500c79b970 tests: Use latest moby kernel config test
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-17 11:05:01 -07:00
Rolf Neugebauer
bf81dec5cc tests: Adjust kernel config test for 5.x kernel
Many places where checking for -ge 4 and some minor version.
This will fail for 5.x kernels if their minor version is less.
Fix it.

While at it, also restructure/simplify the code, make it easier
to run against arbitrary kernel configs, and tidy up some
whitespaces.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-17 11:01:24 -07:00
Justin Cormack
9504b935e7 Merge pull request #3306 from ijc/containerd-v1.2.5
Containerd v1.2.5
2019-03-15 13:10:19 +00:00
Ian Campbell
66c72e7444 Bump yml to pickup containerd v1.2.5
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-03-14 10:29:29 +00:00
Ian Campbell
3510c792ea Bump packages to new alpine w/ containerd v1.2.5
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-03-14 10:18:56 +00:00
Ian Campbell
5e97fa4f69 alpine: Bump to containerd v1.2.5
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-03-13 07:15:23 -04:00
Rolf Neugebauer
3df49b9727 tests: Add tests for the 5.0.x kernel
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-10 23:29:48 +00:00
Rolf Neugebauer
72827bc860 Updates YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-10 23:29:41 +00:00
Rolf Neugebauer
419c808f07 kernel: Update to 4.20.15/4.19.28
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-10 23:29:31 +00:00
Rolf Neugebauer
74d9638275 kernel: Add support for the v5.0.x kernel
The kernel config files are 4.20.x config files run through
make oldconfig for the 5.0 kernel.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-10 23:29:19 +00:00
Rolf Neugebauer
d47b283df4 kernel: Remove fetch target
This target allowed to locally download the kernel source
tar balls. We haven't used this foir a while and adding
v5.x kernel support for it would add yet another conditional.

Remove it to keep the Makefile simpler.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-10 23:29:04 +00:00
Rolf Neugebauer
d79e8d9d6c kernel: Support v5.x kernels in kconfig build
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-10 23:28:49 +00:00
Rolf Neugebauer
9502197456 kernel: Add support for building v5.x kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-10 23:28:37 +00:00
Justin Cormack
b5c03581e7 Merge pull request #3304 from rn/feb-report
February 2019 report
2019-03-08 15:30:17 +00:00
Justin Cormack
51a75448d9 Merge pull request #3303 from rn/kern-up
Update kernel to 4.20.14/4.19.27/4,14.105/4.9.162
2019-03-08 13:15:29 +00:00
Rolf Neugebauer
1a954bc873 February 2019 report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-08 00:56:00 +00:00
Rolf Neugebauer
6f30b820a6 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-08 00:52:36 +00:00
Rolf Neugebauer
00b0abcf59 kernel: Update to 4.20.14/4.19.37/4.14.105/4.9.162
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-08 00:52:36 +00:00
Rolf Neugebauer
7d31ea1135 kernel: Reorder build targets to be in numerical order
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-08 00:52:36 +00:00
Rolf Neugebauer
05c8849a97 kernel: Build a 4.19 debug kernel on x86 (instead of 4.14)
We switched to 4.19.x as the default kernel and debug
kernel build was not updated. Fix it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-08 00:52:36 +00:00
Rolf Neugebauer
043faae78e Merge pull request #3298 from TiejunChina/master-dev
Enable Preempt-RT Linux 4.19.x into Linuxkit
2019-03-07 20:16:17 +00:00
Daniel Dean
1653e9dffb Removed size arg from GCP make-fs command.
The make-gcp script in the mkimage-gcp tool creates a virtual fs of 1GB, excactly. If your filesystem needs to be larger, then make-gcp errors in a poorly explained way. Simply removing the arg makes the fs the same size as the image used to build it.

Signed-off-by: Daniel Smith <daniel@razorsecure.com>
2019-03-07 14:20:42 +00:00
Justin Cormack
ff9a659213 Merge pull request #3297 from rn/alpine_3.9
Update to Alpine Linux 3.9 (plus cadvisor and linux-firmware update)
2019-03-07 11:19:12 +00:00
Rolf Neugebauer
3228d21abf kernel: Update gcc version in 4.19.x and 4.20 kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-06 20:12:00 +00:00
Rolf Neugebauer
94cdfb55b6 kernel: Skip perf build for now
See https://github.com/linuxkit/linuxkit/issues/3299

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-06 01:04:54 +00:00
Rolf Neugebauer
d041e7d2bf kernel: Factor our perf build from main kernel build
The build of the perf utility has been quite bothersome,
with different arches and kernel versions failing.

Since we now have the ful kernel source in the package,
factor out the actual build into Dockerfile.perf

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-06 00:37:31 +00:00
Rolf Neugebauer
94516fe2a8 kernel: Remove libressl from kernel build Dockerfile
Alpine 3.9 no longer uses libressl

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-05 23:18:58 +00:00
Tiejun Chen
92ebe10a62 enable 4.19.x-rt with preempt-rt Linux 4.19.15
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2019-03-04 13:43:55 -08:00
Tiejun Chen
daab1a1ecc remove 4.14.x-rt stuff
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2019-03-04 13:43:48 -08:00
Rolf Neugebauer
a0e49c68bf src: De-lint run_packet.go
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 15:11:20 +00:00
Rolf Neugebauer
e71a88a929 src: De-lint scaleway code
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 15:09:13 +00:00
Rolf Neugebauer
e340827c5c src: De-lint push_aws.go
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 15:08:05 +00:00
Rolf Neugebauer
9f9252c3f3 src: De-lint run_qemu.go
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 15:07:05 +00:00
Rolf Neugebauer
27f8e8c850 cmd: de-lint moby/docker.go
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 15:03:37 +00:00
Rolf Neugebauer
7750ac10bf circleci: Bump go to 1.11
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 14:49:46 +00:00
Rolf Neugebauer
7c1952785d Update Authors
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 14:33:53 +00:00
Rolf Neugebauer
e8a80665dc examples: Update to Alpine 3.9
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 14:32:40 +00:00
Rolf Neugebauer
71f87cc6a9 Update package tags to the latest version
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 14:31:42 +00:00
Rolf Neugebauer
a53bfe1b81 tests: Disable the bpftrace test
The package does not build at the moment:
https://github.com/linuxkit/linuxkit/issues/3296

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 14:30:02 +00:00
Rolf Neugebauer
14039d0597 pkg/bpftrace: Disable the package
The compile fails with:

[ 30%] Building CXX object src/ast/CMakeFiles/ast.dir/codegen_llvm.cpp.o
[ 30%] Building CXX object src/ast/CMakeFiles/ast.dir/irbuilderbpf.cpp.o
[ 31%] Building CXX object src/ast/CMakeFiles/ast.dir/printer.cpp.o
[ 31%] Building CXX object src/ast/CMakeFiles/ast.dir/semantic_analyser.cpp.o
/bpftrace/src/ast/irbuilderbpf.cpp: In member function 'llvm::CallInst* bpftrace::ast::IRBuilderBPF::CreateProbeReadStr(llvm::AllocaInst*, size_t, llvm::Value*)':
/bpftrace/src/ast/irbuilderbpf.cpp:279:16: error: 'BPF_FUNC_probe_read_str' was not declared in this scope
       getInt64(BPF_FUNC_probe_read_str),
                ^~~~~~~~~~~~~~~~~~~~~~~
/bpftrace/src/ast/irbuilderbpf.cpp: In member function 'llvm::CallInst* bpftrace::ast::IRBuilderBPF::CreateProbeReadStr(llvm::Value*, size_t, llvm::Value*)':
/bpftrace/src/ast/irbuilderbpf.cpp:294:16: error: 'BPF_FUNC_probe_read_str' was not declared in this scope
       getInt64(BPF_FUNC_probe_read_str),
                ^~~~~~~~~~~~~~~~~~~~~~~
/bpftrace/src/ast/irbuilderbpf.cpp: In member function 'llvm::CallInst* bpftrace::ast::IRBuilderBPF::CreateGetCurrentCgroupId()':
/bpftrace/src/ast/irbuilderbpf.cpp:422:16: error: 'BPF_FUNC_get_current_cgroup_id' was not declared in this scope
       getInt64(BPF_FUNC_get_current_cgroup_id),
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/bpftrace/src/ast/irbuilderbpf.cpp: In member function 'llvm::CallInst* bpftrace::ast::IRBuilderBPF::CreateGetCurrentTask()':
/bpftrace/src/ast/irbuilderbpf.cpp:461:16: error: 'BPF_FUNC_get_current_task' was not declared in this scope
       getInt64(BPF_FUNC_get_current_task),
                ^~~~~~~~~~~~~~~~~~~~~~~~~
/bpftrace/src/ast/irbuilderbpf.cpp: In member function 'llvm::CallInst* bpftrace::ast::IRBuilderBPF::CreateGetStackId(llvm::Value*, bool)':
/bpftrace/src/ast/irbuilderbpf.cpp:497:16: error: 'BPF_FUNC_get_stackid' was not declared in this scope
       getInt64(BPF_FUNC_get_stackid),
                ^~~~~~~~~~~~~~~~~~~~
/bpftrace/src/ast/semantic_analyser.cpp: In member function 'int bpftrace::ast::SemanticAnalyser::create_maps(bool)':
/bpftrace/src/ast/semantic_analyser.cpp:871:68: error: 'BPF_MAP_TYPE_STACK_TRACE' was not declared in this scope
       bpftrace_.stackid_map_ = std::make_unique<bpftrace::FakeMap>(BPF_MAP_TYPE_STACK_TRACE);
                                                                    ^~~~~~~~~~~~~~~~~~~~~~~~
/bpftrace/src/ast/semantic_analyser.cpp:885:64: error: 'BPF_MAP_TYPE_STACK_TRACE' was not declared in this scope
       bpftrace_.stackid_map_ = std::make_unique<bpftrace::Map>(BPF_MAP_TYPE_STACK_TRACE);
                                                                ^~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/ast/CMakeFiles/ast.dir/build.make:89: src/ast/CMakeFiles/ast.dir/irbuilderbpf.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/ast/CMakeFiles/ast.dir/build.make:115: src/ast/CMakeFiles/ast.dir/semantic_analyser.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:276: src/ast/CMakeFiles/ast.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 14:02:09 +00:00
Rolf Neugebauer
82d6f949c7 pkg/firmware: Update to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 12:25:40 +00:00
Rolf Neugebauer
0552c47a26 pkg/cadvisor: Update to v0.33.0
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 12:25:40 +00:00
Rolf Neugebauer
4fdad53190 pkgs: Update packages to the latest linuxkit/alpine
except for bpftrace, since it does not compile:
https://github.com/linuxkit/linuxkit/pull/3230

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 12:25:40 +00:00
Rolf Neugebauer
9a9d9670e8 kernel: Update build to use the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 11:18:21 +00:00
Rolf Neugebauer
d341fdc666 tools/alpine: Update the package
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 06:16:57 -05:00
Rolf Neugebauer
f0815f755a tools/alpine: Add more wireguard packages
The wireguard package has some sub-packages which are
now dependencies. Include them in the alpine base.

Also include openresolv, which is required by one
of the wireguard packages.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 10:28:57 +00:00
Rolf Neugebauer
d236874874 tool: Fix azure.go gofmt
Looks like the newer gofmt is a little pickier.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 09:41:10 +00:00
Rolf Neugebauer
c52e831dca tests: Update alpine 3.8 to 3.9
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 09:41:10 +00:00
Rolf Neugebauer
f0ee28cd6e tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-03 09:40:57 +00:00
Rolf Neugebauer
903ff4ef64 Update use of test packages to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-02 19:57:53 +00:00
Rolf Neugebauer
75422a7ca8 tests: Update packages to the latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-02 19:19:13 +00:00
Rolf Neugebauer
5910713bae Update use of tools to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-02 19:18:46 +00:00
Rolf Neugebauer
4f715f5f2a tools: Update to the latest linuxkit/alpine
Skip the packages which use grub to boot EFI images.

The grub build fails, see:
https://github.com/linuxkit/linuxkit/issues/3295

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-02 19:06:59 +00:00
Rolf Neugebauer
f6f13d6c4b tools/alpine: Update to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-02 18:27:03 +00:00
Rolf Neugebauer
c217a7c7d1 tools/alpine: Move strace to x86 and arm64 only
It does not seem to be avail on s390x

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-02 17:57:02 +00:00
Rolf Neugebauer
ec5e383de4 tools/alpine: Update to Alpine Linux 3.9
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-02 10:39:31 +00:00
Justin Cormack
b46ec8a906 Merge pull request #3294 from rn/kern-up
Update kernels to 4.20.13/4.19.26/4.14.104/4.9.161
2019-03-02 10:37:20 +00:00
Rolf Neugebauer
376cb1000a Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-01 19:24:42 +00:00
Rolf Neugebauer
1e916001f0 kernel: Adjust kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-01 08:33:49 +00:00
Rolf Neugebauer
5a1e83e639 kernel: Update to 4.20.13/4.19.26/4.14.104/4.9.161
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-03-01 08:06:52 +00:00
Rolf Neugebauer
731b796fa9 Merge pull request #3293 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20190227
2019-02-28 09:11:06 +00:00
Jason A. Donenfeld
572c7c221a wireguard: upgrade to 0.0.20190227
* wg-quick: freebsd: allow loopback to work

FreeBSD adds a route for point-to-point destination addresses. We don't
really want to specify any destination address, but unfortunately we
have to. Before we tried to cheat by giving our own address as the
destination, but this had the unfortunate effect of preventing
loopback from working on our local ip address. We work around this with
yet another kludge: we set the destination address to 127.0.0.1. Since
127.0.0.1 is already assigned to an interface, this has the same effect
of not specifying a destination address, and therefore we accomplish the
intended behavior. Note that the bad behavior is still present in Darwin,
where such workaround does not exist.

* tools: remove unused check phony declaration
* highlighter: when subtracting char, cast to unsigned
* chacha20: name enums
* tools: fight compiler slightly harder
* tools: c_acc doesn't need to be initialized
* queueing: more reasonable allocator function convention

Usual nits.

* systemd: wg-quick should depend on nss-lookup.target

Since wg-quick(8) calls wg(8) which does hostname lookups, we should
probably only run this after we're allowed to look up hostnames.

* compat: backport ALIGN_DOWN
* noise: whiten the nanoseconds portion of the timestamp

This mitigates unrelated sidechannel attacks that think they can turn
WireGuard into a useful time oracle.

* hashtables: decouple hashtable allocations from the main device allocation

The hashtable allocations are quite large, and cause the device allocation in
the net framework to stall sometimes while it tries to find a contiguous
region that can fit the device struct. To fix the allocation stalls, decouple
the hashtable allocations from the device allocation and allocate the
hashtables with kvmalloc's implicit __GFP_NORETRY so that the allocations fall
back to vmalloc with little resistance.

* chacha20poly1305: permit unaligned strides on certain platforms

The map allocations required to fix this are mostly slower than unaligned
paths.

* noise: store clamped key instead of raw key

This causes `wg show` to now show the right thing. Useful for doing
comparisons.

* compat: ipv6_stub is sometimes null

On ancient kernels, ipv6_stub is sometimes null in cases where IPv6 has
been disabled with a command line flag or other failures.

* Makefile: don't duplicate code in install and modules-install
* Makefile: make the depmod path configurable

* queueing: net-next has changed signature of skb_probe_transport_header

A 5.1 change. This could change again, but for now it allows us to keep this
snapshot aligned with our upstream submissions.

* netlink: don't remove allowed ips for new peers
* peer: only synchronize_rcu_bh and traverse trie once when removing all peers
* allowedips: maintain per-peer list of allowedips

This is a rather big and important change that makes it much much faster to do
operations involving thousands of peers. Batch peer/allowedip addition and
clearing is several orders of magnitude faster now.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-02-28 00:35:24 +01:00
Justin Cormack
3441f4f333 Merge pull request #3292 from rn/kern-up
Update kernels to 4.20.12/4.19.25/4.14.103/4.9.160
2019-02-25 10:10:27 +00:00
Rolf Neugebauer
6b988171cf Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-24 23:21:42 +00:00
Rolf Neugebauer
9440e48f4f kernels: Update to 4.20.12/4.19.25/4.14.103/4.9.160
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-24 19:48:17 +00:00
Rolf Neugebauer
882ee6afb5 kernels: Update to 4.20.11/4.19.24/4.14.102/4.9.159
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-24 13:12:28 +00:00
Rolf Neugebauer
402d712ed6 kernel: Adjust 4.9.x kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-24 10:20:43 +00:00
Rolf Neugebauer
0ebc73d57f kernels: Update to 4.20.10/4.19.23/4.14.101/4.9.158
This skiks 4.20.9/4.19.22/4.14.100/4.9.157 because they
contained a bug. See:
https://lwn.net/Articles/779934/

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-23 13:26:12 +00:00
Rolf Neugebauer
fee4e492fd kernels: Update to 4.20.8/4.19.21/4.14.99/4.19.156
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-23 09:47:19 +00:00
Ian Campbell
6b17ff4ff2 Merge pull request #3290 from ijc/containerd-v1.2.4
Containerd v1.2.4
2019-02-14 13:12:18 +00:00
Ian Campbell
16df1af139 Bump yml to pickup containerd v1.2.4
Also pick a newer version of runc.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-14 10:16:47 +00:00
Ian Campbell
39ee6c0e9b Bump packages to new alpine w/ containerd v1.2.4
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-14 10:01:33 +00:00
Ian Campbell
24c13f222c Bump runc to version from containerd v1.2.4
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-14 10:01:33 +00:00
Ian Campbell
236d68f409 alpine: Bump to containerd v1.2.4
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-14 05:01:19 -05:00
Ian Campbell
f3ec48417c Redirect $TMPDIR when running containerd tests
These tests expect a $TMPDIR which supports user xattrs, which the tmpfs on
/tmp does not. Redirect it to the persistent disk which does.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-13 11:41:40 +00:00
Ian Campbell
b5c6c3ceeb test/pkg/containerd: move config to build.yml
... from the old-skool label scheme.

No semantic change intended. Some keys are in different orders and the "mounts"
entry gained an empty "destination" key, neither of which makes a practical
difference.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-13 11:41:12 +00:00
Justin Cormack
1fb71a127e Merge pull request #3286 from ijc/containerd-v1.2.3
Containerd v1.2.3
2019-02-11 11:47:58 +00:00
Ian Campbell
6e16071bfe Bump yml to pickup containerd v1.2.3
Also pick a newer version of runc.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-11 10:05:14 +00:00
Ian Campbell
61ff76a7e3 Bump packages to new alpine w/ containerd v1.2.3
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-11 09:47:37 +00:00
Ian Campbell
d56442cf2e Bump runc to version from containerd v1.2.3
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-11 09:47:36 +00:00
Ian Campbell
baa56f8b22 alpine: Bump to containerd v1.2.3
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-02-11 04:47:22 -05:00
Justin Cormack
af6cad2ca6 Merge pull request #3285 from rn/kern-up
Kernel update to 4.20.7/4.19.20/4.14.98/4.9.155
2019-02-09 15:06:49 +00:00
Rolf Neugebauer
f408d6cfee iUpdate YAMLs to the latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-09 10:40:09 +00:00
Rolf Neugebauer
5ffa60f639 kernel: Update to 4.20.7/4.19.20/4.14.98/4.9.155
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-08 23:25:28 +00:00
Rolf Neugebauer
1d19a27e08 Merge pull request #3238 from kppk/master
Add support for named pipes to init
2019-02-08 10:04:28 +00:00
Tomas Knappek
e62a6b3e51 Update YAMLs to latest init
Signed-off-by: Tomas Knappek <tomas.knappek@gmail.com>
2019-02-07 10:38:42 -08:00
Tomas Knappek
63a6a60fed Fixes linuxkit#3237: add support for named pipes to init
Signed-off-by: Tomas Knappek <tomas.knappek@gmail.com>
2019-02-07 10:37:15 -08:00
Rolf Neugebauer
c44cf1293f Merge pull request #3253 from johanneswuerbach/s390x-support
Add s390x support to binfmt_misc
2019-02-07 00:20:19 +00:00
Johannes Würbach
a10227ab28 Update linuxkit/binfmt references
Signed-off-by: Johannes Würbach <johannes.wuerbach@googlemail.com>
2019-02-06 10:17:55 +01:00
Rolf Neugebauer
5aea2afb8b Merge pull request #3284 from rn/jan-2019
January 2019 development report
2019-02-06 08:31:45 +00:00
Rolf Neugebauer
2f6e864149 January 2019 development report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-05 23:52:48 +00:00
Rolf Neugebauer
f77af9bd3b Merge pull request #3281 from rn/kern-up
Update kernels to 4.20.6/4.19.19/4.14.97/4.9.154
2019-02-04 10:44:16 +00:00
Rolf Neugebauer
235639999b Merge pull request #3283 from rn/author
Update Authors
2019-02-02 18:26:49 +00:00
Rolf Neugebauer
5f9cd0eb16 Update Authors
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-02 11:12:41 +00:00
Rolf Neugebauer
13f63bf9f7 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-02 11:03:39 +00:00
Rolf Neugebauer
1c49fa2c8f kernels: Update to 4.20.6/4.19.19/4.14.97/4.9.154
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-02-01 19:34:57 +00:00
Rolf Neugebauer
c5b3f24de6 Merge pull request #3279 from rn/kern-up
Kernel update to 4.20.5/4.19.18/4.14.96/4.9.153
2019-01-29 10:51:15 +00:00
Rolf Neugebauer
a10fba6f62 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-29 08:22:32 +00:00
Rolf Neugebauer
405500aac0 kernels: Adjust 4.14.x config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-28 19:34:27 +00:00
Rolf Neugebauer
ab527e7afb kernels: Update to 4.2.5/4.19.18/4.14.96/4.9.153
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-28 18:20:01 +00:00
Justin Cormack
6fcfc99e4d Merge pull request #3277 from rn/kern-up
Update kernels to 4.20.4/4.19.17/4.14.95/4.9.152
2019-01-27 15:27:56 +00:00
Rolf Neugebauer
4018bbcbfd Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-26 10:00:21 +00:00
Rolf Neugebauer
f85b16e0bd kernel: Update to 4.20.4/4.19.17/4.14.95/4.9.152
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-25 20:16:00 +00:00
Rolf Neugebauer
9a2d651407 Merge pull request #3276 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20190123
2019-01-23 23:06:20 +00:00
Jason A. Donenfeld
a94099639e wireguard: upgrade to 0.0.20190123
* tools: curve25519: handle unaligned loads/stores safely

This should fix sporadic crashes with `wg pubkey` on certain architectures.

* netlink: auth socket changes against namespace of socket

In WireGuard, the underlying UDP socket lives in the namespace where the
interface was created and doesn't move if the interface is moved. This
allows one to create the interface in some privileged place that has
Internet access, and then move it into a container namespace that only
has the WireGuard interface for egress. Consider the following
situation:

1. Interface created in namespace A. Socket therefore lives in namespace A.
2. Interface moved to namespace B. Socket remains in namespace A.
3. Namespace B now has access to the interface and changes the listen
port and/or fwmark of socket. Change is reflected in namespace A.

This behavior is arguably _fine_ and perhaps even expected or
acceptable. But there's also an argument to be made that B should have
A's cred to do so. So, this patch adds a simple ns_capable check.

* ratelimiter: build tests with !IPV6

Should reenable building in debug mode for systems without IPv6.

* noise: replace getnstimeofday64 with ktime_get_real_ts64
* ratelimiter: totalram_pages is now a function
* qemu: enable FP on MIPS

Linux 5.0 support.

* keygen-html: bring back pure javascript implementation

Benoît Viguier has proofs that values will stay well within 2^53. We
also have an improved carry function that's much simpler. Probably more
constant time than emscripten's 64-bit integers.

* contrib: introduce simple highlighter library

This is the highlighter library being used in:
- https://twitter.com/EdgeSecurity/status/1085294681003454465
- https://twitter.com/EdgeSecurity/status/1081953278248796165

It's included here as a contrib example, so that others can paste it into
their own GUI clients for having the same strictly validating highlighting.

* netlink: use __kernel_timespec for handshake time

This readies us for Y2038. See https://lwn.net/Articles/776435/ for more info.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2019-01-23 14:50:55 +01:00
Rolf Neugebauer
9a818a1446 Merge pull request #3273 from errordeveloper/fix-zfs-4.14.x
Use latest stable release of ZFS
2019-01-21 20:00:58 +00:00
Ilya Dmitrichenko
872a92849b Use latest stable release of ZFS
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2019-01-19 10:04:34 +00:00
Rolf Neugebauer
5cf518b89b Merge pull request #3272 from rn/kern-up
Update kernels to 4.20.3/4.19.16/4.14.94/4.9.151
2019-01-18 10:34:26 +00:00
Rolf Neugebauer
c28d72169d Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-18 08:12:55 +00:00
Rolf Neugebauer
eeb2d546d1 Merge pull request #3249 from chriswue/master
Adding support to mount an encrypted filesystem
2019-01-18 01:28:50 +01:00
Christian Wuerdig
a9bc7372de Adding dm-crypt as core pkg
Signed-off-by: Christian Wuerdig <christian.wuerdig@gmail.com>
2019-01-18 11:56:18 +13:00
Rolf Neugebauer
ffd8d19cfd kernel: Update to 4.20.3/4.19.16/4.14.94/4.9.151
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-17 19:51:32 +00:00
Rolf Neugebauer
6412cfa117 Merge pull request #3271 from rn/kern-up
Update kernel to 4.20.2/4.19.15/4.14.93/4.9.150
2019-01-17 17:12:10 +01:00
Rolf Neugebauer
567d4e2f54 Update YAMLs to latest kernels
This also fixes up test/cases/020_kernel/110_namespace/common.yml
and test/cases/040_packages/032_bcc/test.yml to use the 4.19.x
kernel. I missed these when making the 4.19 kernel the default.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-17 11:56:04 +00:00
Rolf Neugebauer
3b4f70dd76 kernel: Update to 4.20.2/4.19.15/4.14.93/4.9.150
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-16 22:28:57 +00:00
Rolf Neugebauer
49ed462379 Merge pull request #3269 from rn/def-kern
Switch the default kernel to 4.19.x
2019-01-16 21:08:18 +01:00
Rolf Neugebauer
6ab6467d78 Switch the default kernel to 4.19.x
4.19.x is the new LTS kernel and has been out for a while. Switch
all examples and tests to using it instead of the 4.14.x kernel.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-16 16:30:24 +00:00
Rolf Neugebauer
8aee979b72 Merge pull request #3267 from TiejunChina/master-dev
update -rt to 4.14.87-rt50
2019-01-15 12:23:09 +01:00
Tiejun Chen
ef9302bc01 update -rt to 4.14.87-rt50
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2019-01-14 20:49:28 -08:00
Rolf Neugebauer
13bfb5c238 Merge pull request #3265 from rn/kern-up
Update kernels to 4.20.1/4.19.14/4.14.92/4.9.149
2019-01-14 12:29:56 +01:00
Christian Wuerdig
8cd16c4904 Adding losetup utility package to core pkg
Signed-off-by: Christian Wuerdig <christian.wuerdig@gmail.com>
2019-01-14 06:24:00 +13:00
Rolf Neugebauer
4b66ef2e2a Merge pull request #3266 from bensallen/master
Fix link to ADOPTERS.md
2019-01-12 19:33:57 +01:00
Ben Allen
c0049f051d Fix link to ADOPTERS.md
Signed-off-by: Ben Allen <bsallen@alcf.anl.gov>
2019-01-12 12:25:40 -06:00
Rolf Neugebauer
4d20f2c476 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-12 18:01:24 +00:00
Rolf Neugebauer
be99dbcda2 kernel: Adjust the 4.20/4.19 configs for x86 and arm64
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-12 13:28:22 +00:00
Rolf Neugebauer
d9504a7904 kernel: Update to 4.20.1/4.19.14/4.14.92/4.9.149
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-12 11:55:36 +00:00
Ian Campbell
eb7e07542f Merge pull request #3262 from ijc/containerd-v1.2.2
Containerd v1.2.2
2019-01-09 10:01:57 +00:00
Ian Campbell
7386a32afe pkg/runc: bump alpine base to newest one.
Corresponding to the similar changes in ed2dd46cd0.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-08 16:28:36 +00:00
Ian Campbell
3a3b742ca3 Bump yml to pickup containerd v1.2.2
Also pick a newer version of runc.

Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-08 12:13:36 +00:00
Ian Campbell
ddd8c0c017 Bump runc to version from containerd v1.2.2
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-08 11:52:42 +00:00
Ian Campbell
ed2dd46cd0 Bump packages to new alpine w/ containerd v1.2.2
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-08 11:52:42 +00:00
Ian Campbell
b4187fe6ea alpine: Bump to containerd v1.2.2
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-08 06:52:27 -05:00
Ian Campbell
c52e20a932 tools/alpine: Grab another file needed for wireguard APK build.
Signed-off-by: Ian Campbell <ijc@docker.com>
2019-01-08 11:37:13 +00:00
Rolf Neugebauer
c033d6892e Merge pull request #3260 from TiejunChina/master-dev
update -rt to 4.14.87-rt49
2019-01-08 10:46:47 +01:00
Tiejun Chen
e7481213e4 update -rt to 4.14.87-rt49
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2019-01-06 13:29:54 -08:00
Justin Cormack
bfb37f20b1 Merge pull request #3257 from keyki/master
log the actual error message when creating the Docker API client
2019-01-05 19:25:49 +00:00
Justin Cormack
0956685d44 Merge pull request #3259 from rn/report-dec-2018
December 2018 development report
2019-01-04 09:53:18 +00:00
Rolf Neugebauer
b0bf58f073 December 2018 development report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-04 09:06:02 +00:00
Justin Cormack
246a491e3c Merge pull request #3258 from rn/kern-4.20
Remove 4.4.x kernels, add 4.20.x kernels
2019-01-03 11:04:35 +00:00
Rolf Neugebauer
eb0fa4b150 tests: Add kernel module test for 4.20.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-03 00:47:29 +00:00
Rolf Neugebauer
8069c88396 tests: Add 4.20.x kernel config test
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-03 00:44:28 +00:00
Rolf Neugebauer
77422d26c0 kernel/arm64: Enable ENA driver
The new AWS A1 instances use the ENA network driver.
Enable it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-02 22:17:36 +00:00
Rolf Neugebauer
ae1f2dd6af kernel/x86_64,arm64: Enable STACKLEAK GCC plugin
Enable the STACKLEAK GCC plugin which erases the
kernel stack before returning from system calls.
This security options has a reported performance
hit of around 1% which seem like a reasonable amount.

For more details see: https://outflux.net/blog/archives/2018/12/24/security-things-in-linux-v4-20/

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-02 22:17:36 +00:00
Rolf Neugebauer
ce3dc79509 kernel: Add support for 4.20.x kernels
The kernel config was derived from the 4.19.13 kernel config
run through the 'make oldconfig' with all defaults accepted,
except for:
- NET_VENDOR_MICROCHIP (defauly 'y', set to 'n')

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-02 22:17:36 +00:00
Rolf Neugebauer
6c59e083f4 kernel: Simplify perf and bcc build logic
Since we removed the 4.4.x kernel, simply don't build
perf and bcc for 4.9.x kernels.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-02 22:17:36 +00:00
Krisztian Horvath
c68f52c76f log: log the actual error message when creating the Docker API client
Signed-off-by: Krisztian Horvath <keyki.kk@gmail.com>
2019-01-02 17:12:40 +01:00
Rolf Neugebauer
2ab3b0a24e Remove 4.4 kernel
We already have 4.9.x, 4.14.x, and 4,19.x as LTS releases.
4.9.x has a longer lifetime as 4.4.x as well and fewer security
fixes can be backported to 4.4.x. Remove it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2019-01-01 17:06:06 +00:00
Justin Cormack
cf20f3d66b Merge pull request #3256 from rn/kern-up
Update kernels to 4.19.13/4.14.91/4.9.148
2018-12-31 12:21:16 +00:00
Rolf Neugebauer
78e05de197 Update YAMLs to the latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-31 00:07:02 +00:00
Rolf Neugebauer
8ba5e2416d kernel: Update to 4.19.13/4.14.92/4.9.148
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-30 21:06:50 +00:00
Rolf Neugebauer
2b826be453 Merge pull request #3255 from rn/repeat
Initial support for reproducible builds
2018-12-30 11:27:51 +00:00
Rolf Neugebauer
416ccd6f5d docs: Dev reports are monthly not weekly
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 15:46:57 +00:00
Rolf Neugebauer
3da93a3c7a docs: Link reproducible build doc from top-level README
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 15:43:50 +00:00
Rolf Neugebauer
e7b85b6589 docs: Add details about reproducible builds
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 15:38:02 +00:00
Rolf Neugebauer
8008811aad tests: Add tests for reproducible builds
Test the 'tar' and 'kernel+initrd' formats for now.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 14:10:38 +00:00
Rolf Neugebauer
78281af751 build: Make list of mounts deterministic
Sort the list of mount points by destination. This makes the list
deterministic for reproducible builds and also ensures that, e.g.,
the mount for /dev happens before the mount for /dev/pts.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 14:10:38 +00:00
Rolf Neugebauer
2fec949cd9 build: Make list of capabilities deterministic
Sort list of capabilities that go into config.json.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 14:10:38 +00:00
Rolf Neugebauer
93596225da build: Fix timestamp of files created by 'docker export'
Currently 'docker export' is used to convert a linuxkit entry
in the YAML file to a tar file of the root filesystem. This
process creates a number of files and directories which have
the timestamp of when the 'docker export' is run. Fix 'em up.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 14:10:38 +00:00
Rolf Neugebauer
5cbc156faf build: Improve debug output
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 14:10:38 +00:00
Rolf Neugebauer
02579b22e5 build: Fix the ModTime for files created during build
When creating files for the "intermediate" tar ball,
fix the ModTime. This reduces the difference between
LinuxKit images build from identical inputs.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-29 14:10:38 +00:00
Justin Cormack
1616b18fb0 Merge pull request #3252 from rn/kern-up
Update kernels to 4.19.12/4.14.90/4.9.147/4.4.169
2018-12-23 10:08:47 +00:00
Johannes Würbach
81d17a19c4 Add s390x support to binfmt_misc
Signed-off-by: Johannes Würbach <johannes.wuerbach@googlemail.com>
2018-12-22 22:50:37 +01:00
Rolf Neugebauer
618c8675e3 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-22 13:29:37 +00:00
Rolf Neugebauer
4863059b7e kernels: Enable Netronome drivers for x86/arm64
packet.net will soon have x86 and arm64 machines with NFPs.
Enable the driver for it.

The 4.9 kernel only has support for the NFP VF driver,
so don't enable it there.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-22 11:11:27 +00:00
Rolf Neugebauer
6bda9db3fc kernel: Adjust kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-22 11:04:51 +00:00
Rolf Neugebauer
cdcfcb7347 kernel: Update to 4.19.12/4.14.90/4.9.147/4.4.169
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-22 10:19:45 +00:00
Rolf Neugebauer
4e634e3b29 Merge pull request #3173 from duraki/3172-enable-CAN
Enable CAN networking subsystem
2018-12-20 23:47:31 +00:00
Rolf Neugebauer
5b5f272890 Merge pull request #3205 from alicefr/fix_qemu_dockerfile
Missing s390x in the switch for qemu Dockerfile
2018-12-20 23:45:14 +00:00
Rolf Neugebauer
9d1838d812 Merge pull request #3235 from kkroo/qemu_usb
Add qemu USB device pass through
2018-12-20 23:42:53 +00:00
Rolf Neugebauer
884ec0ad0e Merge pull request #3248 from rn/kern-up
Update kernels to 4.9.11/4.14.89/4.9.146/4.4.168
2018-12-20 23:41:16 +00:00
Rolf Neugebauer
42bb50d22b Update YAMLs to the latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-20 00:58:15 +00:00
Rolf Neugebauer
4ae342c097 kernel: Update to 4.19.11/4.14.89/4.9.146/4.4.168
Note this skips 4.19.10. The diff is pretty small.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-19 22:28:00 +00:00
Rolf Neugebauer
581e924e13 Merge pull request #3247 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20181218
2018-12-18 22:16:56 +00:00
Jason A. Donenfeld
4621b91939 wireguard: upgrade to 0.0.20181218
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-12-18 18:06:35 +01:00
Rolf Neugebauer
3f164b3648 Merge pull request #3246 from fntlnz/update-influxdb
Update InfluxDB example to 1.7
2018-12-17 08:24:33 +00:00
Lorenzo Fontana
344b27ab4f Update InfluxDB example to 1.7
Signed-off-by: Lorenzo Fontana <lo@linux.com>
2018-12-17 00:23:32 +01:00
Rolf Neugebauer
2ee84cbac7 Merge pull request #3244 from rn/kern-up
Update kernel to 4.19.9/4.14.88/4.9.145/4.4.167
2018-12-14 11:03:19 +00:00
Rolf Neugebauer
9c0e356d2c Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-14 01:18:30 +00:00
Rolf Neugebauer
65e2c50b88 kernel: Update to 4.19.9/4.14.88/4.9.145/4.4.167
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-13 23:24:01 +00:00
Rolf Neugebauer
52d2d21501 Merge pull request #3243 from rn/kern-up
Kernel update to 4.19.8/4.14.87/4.9.144
2018-12-09 19:40:29 +00:00
Rolf Neugebauer
1d92c003f9 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-09 17:53:48 +00:00
Rolf Neugebauer
a26ff89ce8 kernel: Update to 4.19.8/4.14.87/4.9.144
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-09 13:46:31 +00:00
Rolf Neugebauer
b987627a1f Merge pull request #3230 from simar7/bpftrace-pkg
pkg/bpftrace: Add bpftrace as a core pkg
2018-12-08 09:44:35 +00:00
Simarpreet Singh
5c4523939b pkg/bpftrace: Add a trivial test for pkg/bpftrace
Signed-off-by: Simarpreet Singh <simar@linux.com>
2018-12-07 15:18:06 -08:00
Simarpreet Singh
3e0686e5c2 pkg/bpftrace: Add bpftrace as a core pkg
Signed-off-by: Simarpreet Singh <simar@linux.com>
2018-12-07 14:31:43 -08:00
Rolf Neugebauer
7dab747345 Merge pull request #3242 from rn/kern-up
Update kernels to 4.19.7/4.14.86/4.9.143
2018-12-07 13:44:40 +00:00
Rolf Neugebauer
a5e65cfeea Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-07 00:36:45 +00:00
Rolf Neugebauer
055c0f8403 kernel: Tweak the x86 kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-06 21:55:49 +00:00
Rolf Neugebauer
765cf6c917 kernel: Update to 4.19.7/4.14.86/4.9.143
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-06 20:38:45 +00:00
Rolf Neugebauer
953e63ec55 Merge pull request #3239 from rn/kern-up
Update kernels up to 4.19.6/4.14.85/4.9.142/4.4.166
2018-12-06 15:27:20 +00:00
Justin Cormack
9fbf50c303 Merge pull request #3240 from rn/nov-2018
November 2018 development report
2018-12-06 13:46:58 +01:00
Rolf Neugebauer
37db2de25d November 2018 development report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-04 19:12:17 +00:00
Rolf Neugebauer
2a1f90fff1 Update YAMLs to latest kernel
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-04 08:32:56 +00:00
Rolf Neugebauer
2b6a0e15bb kernel: Update to 4.19.6/4.14.85/4.9.142/4.4.166
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-03 23:51:48 +00:00
Rolf Neugebauer
1d405ae5cf kernel: Update to 4.19.5/4.14.84/4.9.141/4.4.165
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-12-03 22:03:55 +00:00
Omar Ramadan
71808a004d Add qemu USB devices
Signed-off-by: Omar Ramadan <omar.ramadan93@gmail.com>
2018-11-27 09:39:12 -08:00
Rolf Neugebauer
ed57c3d1e2 Merge pull request #3234 from rn/kern-up
Update kernels to 4.19.3/4.18.20/4.14.82/4.9.138/4.4.164
2018-11-26 13:46:29 -08:00
Rolf Neugebauer
7f22f68152 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-24 14:41:48 +00:00
Rolf Neugebauer
63cfbb28d2 kernel: Disable ACPI_WMI for x86
WMI is mostly used for laptops and not relevant for
VMs and servers. Disable it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-23 23:59:15 +00:00
Rolf Neugebauer
70f320db20 kernels: Update to 4.19.4/4,14.83/4.9.140
This skips 4.9.139 which is just two revert commits from
4.9.140.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-23 23:44:34 +00:00
Rolf Neugebauer
28ce2bbdca kernel: Remove support for 4.18.x
4.18.20 was the last 4.18.x release. Remove it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-23 23:40:44 +00:00
Rolf Neugebauer
07064da303 Update YAMLs to lates kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-23 20:13:55 +00:00
Justin Cormack
36aa581400 Merge pull request #3225 from rn/vmlinux
Add experimental support for building uncompressed kernels
2018-11-23 11:18:19 +00:00
Rolf Neugebauer
f1667aac67 contrib: Update crosvm README
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 23:03:26 +00:00
Rolf Neugebauer
fa719063a8 contrib: Update crosvm to latest version
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 23:03:26 +00:00
Rolf Neugebauer
f635cad7a6 build: Add support for decompressing bzLinux kernels
Support plain gzip'ed files, as used on arm64, and bzImage with
embedded gzip'ed kernel, as used on x86.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 23:03:26 +00:00
Rolf Neugebauer
1257fd9ce9 kernel: Adjust 4.4 config for x86
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 22:42:00 +00:00
Rolf Neugebauer
ab3f4950aa kernel: Adjust arm64 4.14 config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 22:06:44 +00:00
Rolf Neugebauer
92d6966307 kernel: Updat to 4.19.3/4.18.20/4.14.82/4.9.138/4.4.164
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-22 20:44:45 +00:00
Rolf Neugebauer
09fbcb59d7 cmd: Add scaffolding to decompress the kernel
Add the '-vmlinux' flag to build and pass it all
the way to the kernel filter.

Note, this commit only adds the flag but does not
yet perform the decompression. This will be added
with the next commit.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-20 21:22:49 +00:00
Rolf Neugebauer
4f0cec5c14 build: Restructure the kernel filter
Stash the kernel image in a local buffer and
flush it out once done.

This is preparation work for supporting uncompressed
kernels in the next commit.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-20 21:22:49 +00:00
Rolf Neugebauer
a33d8024cb Merge pull request #3232 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20181119
2018-11-19 19:36:14 +00:00
Jason A. Donenfeld
dfc05c676f wireguard: upgrade to 0.0.20181119
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-19 18:30:34 +01:00
Rolf Neugebauer
82a4b54290 Merge pull request #3231 from TiejunChina/master-dev
update -rt to 4.14.78-rt47
2018-11-19 08:26:45 +00:00
Tiejun Chen
116f9be99b update -rt to 4.14.78-rt47
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2018-11-18 15:56:01 -08:00
Justin Cormack
8e205102b6 Merge pull request #3229 from rn/kern-up
Kernel update to 4.19.2/14.18.19/4.14.81/4.9.137
2018-11-16 10:35:31 +00:00
Rolf Neugebauer
fc571c65a8 Merge pull request #3228 from asbjornenge/patch-1
Update ADOPTERS.md
2018-11-16 08:48:35 +00:00
Asbjorn Enge
0e53147270 Update ADOPTERS.md
Added us 😄👍

Signed-off-by: Asbjørn Enge <asbjorn@hanafjedle.net>
2018-11-16 08:40:46 +01:00
Rolf Neugebauer
c0b826c088 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-16 00:55:38 +00:00
Rolf Neugebauer
535cbfaf32 kernel: Adjust 4.18.x kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-15 22:54:05 +00:00
Rolf Neugebauer
8b816a87a5 kernel: Adjust 4.19.x kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-15 22:14:28 +00:00
Rolf Neugebauer
9482281f5b kernel: Update to 4.19.2/4.18.19/4.14.81/4.9.137
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-15 22:11:30 +00:00
Rolf Neugebauer
1d2389b20f Merge pull request #3227 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20181115
2018-11-15 22:10:14 +00:00
Jason A. Donenfeld
7494396812 wireguard: upgrade to 0.0.20181115
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-11-15 12:13:38 -08:00
Justin Cormack
67fdff0c4e Merge pull request #3226 from justincormack/adopters
Add incomplete ADOPTERS file
2018-11-15 13:16:41 +00:00
Justin Cormack
59ccb84338 Add incomplete ADOPTERS file
Please add your use cases here. There are many adopters that I know about but have not
documented here, please fill this in.

I divided this into production users, and also linked a selection of open source projects
that I know about here.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2018-11-15 11:28:50 +00:00
Rolf Neugebauer
0c5adbde54 Merge pull request #3223 from rn/kern-up
Kernel update to 4.18.18/4.14.80/4.9.136/4.4.163
2018-11-13 14:58:57 +00:00
Rolf Neugebauer
9f38b4c9aa Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-13 08:30:12 +00:00
Rolf Neugebauer
cc544d1cf2 kernel: Update to 4.18.18/4.14.80/4.9.136/4.4.163
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-12 21:49:34 +00:00
Justin Cormack
14233c2322 Merge pull request #3222 from rn/kup
Update kernel to 4.19.1/4.18.17/4.14.79
2018-11-10 14:55:03 +00:00
Rolf Neugebauer
e746d3e2c7 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-10 12:18:57 +00:00
Rolf Neugebauer
3c5062ff9b kernel: Update to 4.19.1/4.18.17/4.14.79
Also fix the boolean expression for 'perf' in the Dockerfile.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-10 10:26:22 +00:00
Rolf Neugebauer
077e31c10a kernel: Remove unused config files
A previosu commit removed suppoer for 4.18.x kernels for
arm64 and s390x but did not remove the config files. Fix it.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-09 22:51:22 +00:00
Justin Cormack
77d7debd40 Merge pull request #3218 from rn/2018-oct
October 2018 development report
2018-11-02 08:43:53 -07:00
Rolf Neugebauer
58f94915d9 October 2018 development report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-11-02 00:22:30 +00:00
Ian Campbell
292dbdf46f Merge pull request #3212 from ijc/containerd-v1.2.0
containerd v1.2.0
2018-10-30 15:05:31 +00:00
Ian Campbell
ab8524d3d1 Bump yml to pickup containerd v1.2.0
Also pick a newer version of runc.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-30 11:08:50 +00:00
Ian Campbell
ce126caf3a Bump runc to version from containerd v1.2.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-30 10:53:47 +00:00
Ian Campbell
1292f7aa87 Bump packages to new alpine w/ containerd v1.2.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-30 10:53:47 +00:00
Ian Campbell
544c8256ea alpine: Bump to containerd v1.2.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-30 06:53:32 -04:00
Ian Campbell
a4ca9fa674 getty&ssh: bind /var/lib/containerd
Needed for containerd v1.2.0 otherwise:

    $ ctr run -t docker.io/library/hello-world@sha256:f3b3b28a45160805bb16542c9531888519430e9e6d6ffc09d72261b0d26ff74f test
    [ 1311.667587] overlayfs: failed to resolve '/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/5/fs': -2
    ctr: failed to mount /tmp/containerd-mount111658703: no such file or directory

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-30 09:29:54 +00:00
Ian Campbell
e78b25062c scripts: support credentials helpers on Linux
On Linux a key in `~/.docker/config.json` indicates if a credentials helper is
in use (and which), if one is then the method is identical to the Darwin case
so refactor to support that.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-10-30 09:29:19 +00:00
Rolf Neugebauer
eac17cc85f Merge pull request #3214 from rn/crosvm
Update crosvm
2018-10-29 23:58:41 +00:00
Rolf Neugebauer
e2f0c496cb contrib/crosvm: Update to the latest crosvm version
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-29 22:37:14 +00:00
Rolf Neugebauer
19826fe96a contrib/crosvm: Update rust to 1.30
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-29 22:30:28 +00:00
Rolf Neugebauer
3f35a7e594 contrib/crosvm: Fix crosvm README
Fix the 'linuxkit build' invocation and remove the duplicated
'minimal.yml' file.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-29 22:30:21 +00:00
Rolf Neugebauer
09420e89f1 Merge pull request #3213 from rn/build-improv
build: Don't create empty kernel/cmdline files
2018-10-29 22:27:24 +00:00
Rolf Neugebauer
1ec59f9aeb build: Don't create empty kernel/cmdline files
If the YAML does not specify a kernel, kernel commandline
or any containers, don't create empty files. Note, an
initrd file is still created if the kernel image contains
CPU ucode.

This only applies to kernel+initrd and tar-kernel-initrd
output formats.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-29 21:03:47 +00:00
Rolf Neugebauer
ddb0fa509e Merge pull request #3211 from rn/kern19
Add 4.19 kernels (and remove 4.18 for arm64 and s390x)
2018-10-29 18:46:16 +00:00
Rolf Neugebauer
26b692d815 tests: Add 4.19 tests
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-29 00:24:27 +00:00
Rolf Neugebauer
e90c9a0687 kernel: perf only for LTS and latest stable/disable for arm64
The logic for perf became too complex. Just build for latest LTS
and latest stable.

Disable for arm64 for now as it is broken for 4.19 due to a header
mismatch:

In file included from /linux/tools/arch/arm64/include/uapi/asm/unistd.h:20:0,
                 from libbpf.c:36:
/linux/tools/include/uapi/asm-generic/unistd.h:754:0: error: "__NR_fcntl" redefined [-Werror]

In file included from /usr/include/sys/syscall.h:4:0,
                 from /linux/tools/perf/perf-sys.h:7,
                 from libbpf.c:35:
/usr/include/bits/syscall.h:26:0: note: this is the location of the previous definition

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-28 21:46:14 +00:00
Rolf Neugebauer
1467a70b44 kernel: Compile bcc for 4.19 instead of 4.18 (x86_64 only)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-27 12:37:51 +01:00
Rolf Neugebauer
936d47fd2f kernel: Remove 4.18.x for arm64 and s390x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-27 12:37:16 +01:00
Rolf Neugebauer
2d483ca898 kernel: Add support for the 4.19 kernel
The kernel configs were constructed by running the 4.18.x config
through the 4.19 oldconfig process.

The 4.19.x has a new option, RANDOM_TRUST_CPU, which indicates
if the CPUs random instruction is to be trusted. It defaults to
"no" and this default was accepted.

Most of the defaults were accepted, except for:
BLK_CGROUP_IOLATENCY=y
NFT_TUNNEL=y
NFT_OSF=y
NFT_TPROXY=y
NETFILTER_XT_MATCH_SOCKET=y
NET_VENDOR_CADENCE=n
NET_VENDOR_NETERION=n
NET_VENDOR_PACKET_ENGINES=n

We also disallow CIFS for insecure legacy servers:
CIFS_ALLOW_INSECURE_LEGACY=n

For arm64, the following changes were made to the default:
SENSORS_RASPBERRYPI_HWMON=y
CRYPTO_DEV_QCOM_RNG=m
CRYPTO_DEV_HISI_SEC=m

For s390x, the additional changes were made to the default:
KERNEL_BZIP2 (default is gzip)
GCC_PLUGINS=y
GCC_PLUGIN_STRUCTLEAK=y
GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
GCC_PLUGIN_RANDSTRUCT=y
GCC_PLUGIN_RANDSTRUCT_PERFORMANCE=y

Running the 4.18 and 4.19 kernel config through
./scripts/kconfig-split.py yields the following 4.19.x
only config options for x86_64:

The x86_64 kernel difference to 4.18 for

CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_BLK_CGROUP_IOLATENCY=y
CONFIG_BNXT_HWMON=y
CONFIG_BUILD_SALT=""
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CRASH_CORE=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_MEMCG_KMEM=y
CONFIG_MLX5_EN_ARFS=y
CONFIG_MLX5_EN_RXNFC=y
CONFIG_NETFILTER_NETLINK_OSF=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NFT_OSF=y
CONFIG_NFT_TPROXY=y
CONFIG_NFT_TUNNEL=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_SOCKET_IPV6=y
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-27 12:23:52 +01:00
Rolf Neugebauer
899c242430 Merge pull request #3210 from rn/kern-up
Kernel update to 4.18.16/4.14.78/4.9.135/4.4.162
2018-10-21 14:54:10 -07:00
Rolf Neugebauer
6cf141011c Update YAMLs to the latest kernel
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-21 18:51:09 +01:00
Rolf Neugebauer
35a72cc63c kernel: Update to 4.18.16/4.14.78/4.9.135/4.4.162
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-21 13:04:44 +01:00
Rolf Neugebauer
6b7b64fb08 kernel: Update to 4.18.15/4.14.77/4.9.134/4.4.161
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 14:16:28 +01:00
Rolf Neugebauer
40d223b654 kernel: Update to 4.18.14/4.14.76/4.9.133/4.4.160
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 11:40:30 +01:00
Rolf Neugebauer
4ed9e4f0d3 kernel: Adjust 4.18.x kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 01:27:15 +01:00
Rolf Neugebauer
2f9528f278 Merge pull request #3208 from justincormack/authorsup
Update Authors
2018-10-19 17:25:39 -07:00
Rolf Neugebauer
564a2e85d0 kernel: Update to 4.18.13/4.14.75/4.9.132
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 01:08:53 +01:00
Rolf Neugebauer
5b2bdd3ef7 kernel: Print unified diff if kernel config does not match
After 'make oldconfig' we check that that the kernel config
is as we expect and error if they don't. We used to print
the default 'diff' output on a mismatch but a unified diff
is easier to read.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-20 01:05:05 +01:00
Justin Cormack
d3dfdedb0b Update Authors
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2018-10-19 16:42:53 +01:00
Rolf Neugebauer
73dd7b219d Merge pull request #3206 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20181018
2018-10-18 00:02:44 -07:00
Jason A. Donenfeld
bbb459c2ad wireguard: upgrade to 0.0.20181018
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-18 03:48:12 +02:00
Alice Frosi
8dd28e8e92 Add missing s390x in the switch for qemu Dockerfile
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-10-17 17:41:58 +02:00
Justin Cormack
31e7201413 Merge pull request #3199 from zimbatm/patch-1
README: add the LinuxKit Nix project
2018-10-16 16:01:27 +01:00
Justin Cormack
b7119b2ca5 Merge pull request #3202 from ebriand/gcp-validate-project-name
GCP: validate project name
2018-10-16 14:53:06 +01:00
Eric Briand
4fb5ecd066 gcp: output error message when client could not be created
Signed-off-by: Eric Briand <eric.briand@gmail.com>
2018-10-16 11:57:30 +02:00
Eric Briand
0c6a059f71 gcp: check if bucket exists after client creation
Signed-off-by: Eric Briand <eric.briand@gmail.com>
2018-10-16 11:57:30 +02:00
Eric Briand
b15d0963f4 gcp: validate if project name is filled
Signed-off-by: Eric Briand <eric.briand@gmail.com>
2018-10-16 11:57:30 +02:00
zimbatm
720cfbe249 README: add the LinuxKit Nix project
Signed-off-by: zimbatm <zimbatm@zimbatm.com>
2018-10-16 10:53:30 +02:00
Rolf Neugebauer
34b1b2207f Merge pull request #3198 from TiejunChina/master-dev
update -rt
2018-10-15 22:29:46 -07:00
Tiejun Chen
59cf2ceea6 update -rt to 4.14.71-rt44
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2018-10-15 12:57:29 -07:00
Rolf Neugebauer
40905a2117 Merge pull request #3203 from justincormack/lint
Fix golint on circleci and GCP testing
2018-10-15 12:31:54 -07:00
Justin Cormack
50dd28899f Sleep in GCP test
It seems we exit before we connect to the serial console.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2018-10-15 18:03:17 +01:00
Justin Cormack
78005d87ec Fix golint on circleci
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2018-10-15 13:53:42 +01:00
Rolf Neugebauer
2e710766e3 Merge pull request #3194 from rn/kup
Kernel update to 4.18.12/4.14.74/4.9.131
2018-10-08 02:46:55 +01:00
Rolf Neugebauer
f268754257 Merge pull request #3196 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20181006
2018-10-06 10:41:17 +01:00
Jason A. Donenfeld
49e6aed4fb wireguard: upgrade to 0.0.20181006
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-10-06 05:07:57 +02:00
Rolf Neugebauer
116acb9de2 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-06 01:11:13 +01:00
Rolf Neugebauer
1854a59e9f kernel: Update to 4.18.12/4.14.74/4.9.131
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-04 21:07:47 +01:00
Rolf Neugebauer
893bc8fea2 Merge pull request #3193 from rn/kern-up
Kernel update to 4.18.11/4.14.73/4.9.130/4.4.159
2018-10-02 08:03:40 +01:00
Rolf Neugebauer
841026d311 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-01 22:50:46 +01:00
Rolf Neugebauer
d026556652 Merge pull request #3192 from rn/rep-09-2018
September 2018 development report
2018-10-01 21:46:24 +01:00
Rolf Neugebauer
6c9f15522e September 2018 development report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-01 19:18:03 +01:00
Rolf Neugebauer
7b1c1b1818 kernel: Update to 4.18.11/4.14.73/4.9.130/4.4.159
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-10-01 19:03:09 +01:00
Rolf Neugebauer
5a6fb46b6e Merge pull request #3191 from rn/kup
Kernel update to 4.18.10/4.14.72/4.9.129/4.4.158
2018-09-28 20:29:35 +03:00
Rolf Neugebauer
6bed1aa330 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-28 08:15:08 +01:00
Rolf Neugebauer
617154e2a4 kernel: Update to 4.18.10/4.14.72/4.9.129/4.4.158
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-27 19:42:54 +01:00
Rolf Neugebauer
f5cf0bd054 kernel: Update build to latest linuxkit/alpine
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-27 19:38:33 +01:00
Justin Cormack
77b6cf0b50 Merge pull request #3190 from ijc/containerd-v1.1.4
Containerd v1.1.4
2018-09-25 09:48:36 -07:00
Ian Campbell
c60cef7be2 Bump yml to pickup containerd v1.1.4
Also pick a newer version of runc.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-09-25 16:28:56 +01:00
Ian Campbell
2ddce9bdea Bump runc to version from containerd v1.1.4
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-09-25 15:55:08 +01:00
Ian Campbell
809d257502 Bump packages to new alpine w/ containerd v1.1.4
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-09-25 15:55:07 +01:00
Ian Campbell
2ad451867e alpine: Bump to containerd v1.1.4
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-09-25 10:54:53 -04:00
Justin Cormack
d7da083c5e Merge pull request #3189 from rn/kern-up
Update kernels to 4.18.9/4.14.71/4.9.128/4.4.157
2018-09-22 16:55:05 +01:00
Rolf Neugebauer
8f8d8e3beb Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-21 21:48:32 +01:00
Rolf Neugebauer
9c1277787b kernel: Update to 4.18.9/4.14.71/4.9.128/4.4.157
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-20 21:19:31 +01:00
Rolf Neugebauer
ae0ddb2053 Merge pull request #3187 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20180918
2018-09-18 20:36:00 +03:00
Jason A. Donenfeld
10c3de3ded wireguard: upgrade to 0.0.20180918
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-18 16:56:10 +02:00
Rolf Neugebauer
51a476c8aa Merge pull request #3186 from rn/kup
Update kernels to 4.18.8/4.14.70/4.9.127/4.4.156
2018-09-16 20:27:20 +03:00
Rolf Neugebauer
e61a1a7078 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-16 13:21:12 +01:00
Rolf Neugebauer
a6f7d40d07 kernel: Update to 4.18.8/4.14.70/4.9.127/4.4.156
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-15 19:40:16 +01:00
Rolf Neugebauer
8d7586b867 kernel: Adjust arm64 kernel config
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-15 16:45:14 +01:00
Rolf Neugebauer
c33c14d810 kernel: Update to 4.18.7/4.14.69/4.9.126/4.4.155
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-15 16:02:40 +01:00
Rolf Neugebauer
a503f8c3f3 Merge pull request #3185 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20180910
2018-09-11 05:23:18 +01:00
Jason A. Donenfeld
8be1a84dee wireguard: upgrade to 0.0.20180910
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-10 18:59:29 -06:00
Rolf Neugebauer
0532b2889a Merge pull request #3184 from mat007/fix-windows
Fix path separator on Windows
2018-09-10 22:26:43 +01:00
Mathieu Champlon
54868329e6 Fix path separator on Windows
On Windows os.PathSeparator is \ but here it's all unix file paths being manipulated.

Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com>
2018-09-10 21:53:09 +02:00
Justin Cormack
576eab21c1 Merge pull request #3183 from mat007/fix-windows
Fix relative path under Windows
2018-09-10 15:17:49 +01:00
Mathieu Champlon
e17b603be8 Fix relative path under Windows
Using filepath primitives instead of manipulating file paths manually takes care of platform specific formats.

Signed-off-by: Mathieu Champlon <mathieu.champlon@docker.com>
2018-09-10 14:41:43 +02:00
Rolf Neugebauer
816ef159d5 Merge pull request #3182 from rn/lern-up
Update kernels to 4.18.6/4.14.68/4.9.125/4.4.154
2018-09-07 22:16:18 +01:00
Rolf Neugebauer
98961e962c Update YAMLs to latest kernel
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-06 07:47:15 +01:00
Rolf Neugebauer
2743d53a7c kernel: Adjust x86_64 kernel config for 4.18.x and 4.14.x
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-06 07:47:15 +01:00
Rolf Neugebauer
4c725f0318 kernel: Cherry pick multicast fixes into 4.9.x
This cherry picks:
- b6fe0440c637 ("bridge: implement missing ndo_uninit()")
- b1b9d366028f ("bridge: move bridge multicast cleanup to ndo_uninit")

The fix is in b1b9d366028f ("bridge: move bridge multicast cleanup
to ndo_uninit") but it requires b6fe0440c637 ("bridge: implement missing
ndo_uninit()"). Furthermore, b1b9d366028f needed some manual resolution
of a cherry-pick conflict because the surrounding code had changed.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-06 07:47:15 +01:00
Rolf Neugebauer
0a9361d769 kernel: Update to 4.18.6/4.14.68/4.9.125/4.4.154
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-05 21:23:15 +01:00
Rolf Neugebauer
32bc34d168 Merge pull request #3177 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20180904
2018-09-05 01:32:09 +02:00
Jason A. Donenfeld
e446af1659 wireguard: upgrade to 0.0.20180904
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-09-04 12:34:05 -06:00
Rolf Neugebauer
c8449ba2db Merge pull request #3175 from rn/kmisc
EOL 4.17.x, update to 4.4.153, fix BCC build
2018-09-04 00:16:14 +02:00
Justin Cormack
07470f43b8 Merge pull request #3176 from rn/2018-aug-report
Add August 2018 development report
2018-09-03 22:48:53 +01:00
Rolf Neugebauer
fc8079bf98 Add August 2018 development report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 21:43:12 +01:00
Rolf Neugebauer
a83e4ca5ba Update YAMLs to linuxkit/kernel:4.4.153
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 21:26:42 +01:00
Rolf Neugebauer
763deafd03 kernel: Update to 4.4.153
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 20:52:56 +01:00
Rolf Neugebauer
973c62a7f8 tests: Remove 4.17.x kernel tests
4.17 has been EOLed

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 20:52:56 +01:00
Rolf Neugebauer
4f29de94ad kernel: Remove 4.17.x. It has been EOLed
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 20:52:50 +01:00
Rolf Neugebauer
287c579934 kernel: Compile bcc for 4.18 not 4.17
We want to compile BCC for the latest LTS and the latest
stable and missed the update to 4.18 when enabling it. Do
it now.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-09-03 20:52:50 +01:00
Rolf Neugebauer
66f85ffeba Merge pull request #3170 from rn/kup
Update kernels up to 4.18.5/4,17.19/4.14.67/4.9.124/4.4.152
2018-09-03 21:40:28 +02:00
duraki
1a23054800 Enables CAN networking subsystem (introduced Linux 2.6.25 2008-04-17), to
support SPI in container environment (introduced Linux 4.12 2017-06-02).

Abstraction define interface EP for CAN module in containered environment. This
namespace is available and introduced with Linux Kernel 4.12 by M.  Kicherer
and later O. Hartkopp, to allow containers bridging such device.

@see linux-kernel/net/can@fc4c581

Although KSPP did not explicilty noted `CAN` as secure kernel flag, this
would aim to bring such conclusion. As for security concerns, CAN protocol did
not yield any user-land or host-level vulnerabilities since introduced as
SocketCAN module in Linux Kernel. Lower-layer [protocol] standards is not
secured by default since applications are supposed to implement their own
security mechanism.

This global abstraction currently supports CAN raw, proc and af_can
codes. Does not support GW and BCM. Namespace uses _NEWNET on pseudo-file
system.  Allows modprobe to environment, works by recv `pnet` for the given
interface.

Signed-off-by: Halis Duraki <duraki@linuxmail.org>
2018-08-31 13:22:19 +02:00
Rolf Neugebauer
262e6ed3ec Merge pull request #3171 from ijc/containerd-v1.1.3
Containerd v1.1.3
2018-08-30 20:13:47 +02:00
Ian Campbell
610bfd3e11 Bump yml to pickup containerd v1.1.3
Also pick a newer version of runc.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-30 13:58:12 +01:00
Ian Campbell
e1c6ae1678 Bump runc to version from containerd v1.1.3
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-30 13:40:00 +01:00
Ian Campbell
ad556eab78 Bump packages to new alpine w/ containerd v1.1.3
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-30 13:40:00 +01:00
Ian Campbell
f7c93dc4eb alpine: Bump to containerd v1.1.3
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-30 08:39:46 -04:00
Rolf Neugebauer
97ef9fb47c Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-28 22:31:46 +01:00
Rolf Neugebauer
323043fdd8 kernel: Update to 4.18.5/4.17.19/4.14.67/4.9.124/4.4.152
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-28 07:24:36 +01:00
Rolf Neugebauer
77b3496d9f kernel: Update to 4.18.4/4.17.18/4.14.66/4.9.123/4.4.151
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-27 21:45:04 +01:00
Rolf Neugebauer
d66c2c6f45 kernel: Update to 4.18.3/4.17.17/4.14.65/4.9.122/4.4.150
Note, this update skips 4.18.2/4.17.16/4.14.64/4.9.121/4.4.149
as the change was a single patch, a bug fix.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-27 18:38:42 +01:00
Rolf Neugebauer
621f88f47e Merge pull request #3169 from TiejunChina/master-dev
update -rt to 4.14.63-rt40
2018-08-27 18:29:52 +02:00
Rolf Neugebauer
89063f4ec5 Merge pull request #3160 from kmjohansen/topics/container-perf
Improve docker container startup times on 4.14, 4.17, and 4.18
2018-08-27 18:28:46 +02:00
Tiejun Chen
a302b2dfa2 update -rt to 4.14.63-rt40
Signed-off-by: Tiejun Chen <tiejunc@vmware.com>
2018-08-26 17:07:40 -07:00
Rolf Neugebauer
0278d74e41 Merge pull request #3166 from l0rd/fix-docker-for-mac-sample
Update docker for mac sample to use iso-efi format
2018-08-23 11:19:51 +02:00
Mario Loriedo
5b1852cfcb Update docker for mac sample to use iso-efi format
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2018-08-22 13:54:22 +02:00
Rolf Neugebauer
0560fa409f Merge pull request #3164 from l0rd/fix-typo
Fix typo in examples/docker-for-mac.md
2018-08-21 12:11:57 +02:00
Krister Johansen
1095c2721d Convert slow net subsystems to modules on 4.14.
In setup_net() there are a few particularly slow subsystems that
contribute more than 140ms of time to the new net namespace creation
path.  The docker daemon doesn't depend on these, and won't modprobe
them into the kernel.  Convert these to modules to reduce the amount of
time it takes for docker to start a container.  This change takes an
additional ~120 ms of time off container start time.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-20 17:45:54 -07:00
Krister Johansen
fac99683a7 Switch kernel hz to 1000.
While investigating performance problems around 'docker run' times, it
was observed that a large amount of time was spent in network namespace
creation.  Of that time, a large portion involved waiting for RCU grace
periods to elapse.  Increasing HZ causes the periodic timer to check for
quiesced periods more frequently, which consequently reduces the amount
of time RCU callers spend waiting for grace periods and in barrier
waits.

By itself, this change took the amount of time to execute a 'docker run
hello-world' down to 570ms from over 2000ms on 4.14, and down to 390ms
from 1260 on 4.17 and 4.18.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-20 17:45:03 -07:00
Rolf Neugebauer
38766bf2b9 Merge pull request #3163 from rn/kernel-up
Update kernels, Intel ucode and add 4.18.x kernels
2018-08-20 17:32:42 +01:00
Mario Loriedo
62c46e10f2 Fix typo in examples/docker-for-mac.md
Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2018-08-20 18:29:09 +02:00
Rolf Neugebauer
6a4d5c970d tests: Update YAMLs to latest kernel config package
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-18 15:47:28 +01:00
Rolf Neugebauer
d003df7b91 tests/kernel-config: Adjust STACKPROTECTOR check for 4.18
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-18 15:42:38 +01:00
Rolf Neugebauer
c6a5439c67 tests: Update bcc test
This updates the package to versions which actually exist
on hub but does not enable the test.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-18 10:56:38 +01:00
Rolf Neugebauer
ab48e4d5e4 Update YAMLs to latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 21:17:04 +01:00
Rolf Neugebauer
64f7e544df tests: Add 4.18.x kernel module test
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 21:13:25 +01:00
Rolf Neugebauer
509e07e63e tests: Add 4.18.x kernel config test
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 21:11:54 +01:00
Rolf Neugebauer
4977514c99 tests: Compact kernel tests
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 21:10:46 +01:00
Rolf Neugebauer
bcd87f6f33 kernel: Remove 4.17.x kernel for s390x and arm64
4.17 will be EOLed soon anyway so save some cycles
compiling kernels on the "slower" arches.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 21:07:08 +01:00
Rolf Neugebauer
dfa6076900 kernel: Add support for 4.18.x kernels
The kernel config was derived from the 4.17.x kernel config
and then tweaked a little. Specifically:
- Enable XDP_SOCKETS
- Enable NFT_CONNLIMIT
- Enable IP_VS_MH
- Enable BPFILTER (as module)

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
a3bca0ea59 kernel: Add more packages to Dockerfile.kconfig
These packages are needed to enable the GCC_PLUGINS
during 'make oldconfig' for 4.18.x kernels.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
f93fa6ba9b kernel: Adjust 4.9 kernel config (x86 only)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
85369b936f kernel: Adjust 4.14. kernel config (x86 only)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Rolf Neugebauer
c0fc7b3b01 kernel: Adjust 4.17 kernel config (x86 only)
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 16:57:36 +01:00
Avi Deitcher
a9da8c624d Merge pull request #3162 from deitch/update-compose
Update and fix compose project
2018-08-17 15:19:38 +03:00
Rolf Neugebauer
a1380fcd1c kernel: Update to 4.17.15/4.14.63/4.9.120/4.4.148
The 4.14.63 contains important security fixes in particular
against L1TF (CVE-2018-3615, CVE-2018-3620, CVE-2018-3646) and
userspace-userspace SpectreRSB.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 12:11:04 +01:00
Rolf Neugebauer
5011c473ca kernel: Update Intel microcode to latest
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 11:58:42 +01:00
Avi Deitcher
219e9ec727 Fix static where it tries to delete read-only containers
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2018-08-17 13:33:35 +03:00
Rolf Neugebauer
4792fa5015 kernel: Tidy up Dockerfile.bcc
Use less layers and group it a little better. There should
be no real code change here.

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-17 11:18:38 +01:00
Rolf Neugebauer
c0aecf8f26 Merge pull request #3101 from kmjohansen/topics/ebpf
Enable building of bcc in kernel build
2018-08-16 14:57:43 +02:00
Krister Johansen
6e48041dee Add a test case for bcc to packages.
Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-13 17:18:56 -07:00
Krister Johansen
0643093f6a Remove ebpf from projects
Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-13 17:18:56 -07:00
Krister Johansen
a6ac644703 Add some documentation.
Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-13 17:18:55 -07:00
Krister Johansen
188595fcb5 Pull bcc into kernel build.
Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-13 17:18:55 -07:00
Krister Johansen
194fef33cf Get bcc project building again.
Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2018-08-13 11:28:44 -07:00
Rolf Neugebauer
50904b9f9d Merge pull request #3150 from djs55/revendor-virtsock
Update the vendoring of virtsock
2018-08-13 17:46:00 +02:00
David Scott
4f389eb5a6 Update yamls following virtsock revendor
linuxkit/vsudd:98e554e4f3024c318e42c1f6876b541b654acd9f
linuxkit/host-timesync-daemon:613dc55e67470ec375335a1958650c3711dc4aa6
linuxkit/test-virtsock:57883002c2bc824709efa6cd3818e1ff51a11889
linuxkit/test-ns:a21f996641f391d467a7842e85088a304d24fae5

Signed-off-by: David Scott <dave.scott@docker.com>
2018-08-13 14:16:47 +01:00
Rolf Neugebauer
972c41c4fa Merge pull request #3158 from rn/dock-up
Update all uses of DinD to 18.06.0-ce
2018-08-12 23:18:16 +02:00
Rolf Neugebauer
ff02f6eaa8 Merge pull request #3157 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20180809
2018-08-12 12:40:09 +02:00
Rolf Neugebauer
0cb45e0dff doc: Update release doc with DinD uses which should get updated
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-12 10:50:20 +01:00
Rolf Neugebauer
e392ccce5c tests: Update docker bench to 18.0.6-ce
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-12 10:42:37 +01:00
Rolf Neugebauer
971c7fb251 examples: Update all DinD uses to 18.06.0-ce
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-12 10:42:03 +01:00
Jason A. Donenfeld
d987c058bd wireguard: upgrade to 0.0.20180809
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-12 01:27:53 -07:00
Rolf Neugebauer
086aa356e7 Merge pull request #3156 from rn/july-report
July 2018 report
2018-08-11 18:51:43 +02:00
Rolf Neugebauer
2eefd6db67 Merge pull request #3155 from rn/kups
Update kernels up to 4.17.14/414/62/4.9.119/4.4.147
2018-08-11 18:51:29 +02:00
Rolf Neugebauer
11d95b61d8 July 2018 report
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-11 11:56:06 +01:00
Rolf Neugebauer
468cbef99d Update YAMLs to the latest kernels
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-11 11:09:47 +01:00
Rolf Neugebauer
394b07da4a kernel: Update to 4.17.14/4.14.62/4.9.119/4.4.147
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-11 09:36:23 +01:00
Rolf Neugebauer
ac48c843e0 kernel: Update to 4.17.13/4.14.61/4.9.118/4.4.146
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-11 00:23:50 +01:00
Rolf Neugebauer
2e32902c98 kernel: Update to 4.17.12/4.14.60/4.9.117/4.4.145
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-10 23:20:43 +01:00
Rolf Neugebauer
9ac0a9a6e3 kernel: Update to 4.17.11/4.14.59/4.9.116
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-08-10 14:26:16 +01:00
Rolf Neugebauer
bdae7d72f7 Merge pull request #3149 from TiejunChina/master-dev
update -rt to 4.14.59-rt37
2018-08-07 16:37:35 +01:00
Rolf Neugebauer
9945d5f6b7 Merge pull request #3151 from zx2c4-forks/wireguard-bump
wireguard: upgrade to 0.0.20180802
2018-08-07 16:36:38 +01:00
Jason A. Donenfeld
7a74c0a212 wireguard: upgrade to 0.0.20180802
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-08-03 22:12:29 +02:00
David Scott
1aae3e309b pkg/virtsock: update vendording of linuxkit/virtsock
Signed-off-by: David Scott <dave.scott@docker.com>
2018-08-02 16:09:35 +01:00
David Scott
5d44a0a33d pkg/ns: update vendoring of virtsock
Signed-off-by: David Scott <dave.scott@docker.com>
2018-08-02 16:09:35 +01:00
David Scott
24a6112548 pkg/host-timesync-daemon: update vendoring of linuxkit/virtsock
Signed-off-by: David Scott <dave.scott@docker.com>
2018-08-02 16:09:29 +01:00
David Scott
50199d5bd5 pkg/vsudd: update the vendoring of linuxkit/virtsock
In addition to bug fixes, this removes the special protocol used
for `shutdown` needed by old Windows builds < 14393.

Signed-off-by: David Scott <dave.scott@docker.com>
2018-08-02 16:09:24 +01:00
Justin Cormack
ccf7ac8081 Merge pull request #3148 from masterzen/fix/3140-vbox-multiple-disks
Enhance `run vbox` to support multiple disks and network adapters
2018-08-02 11:26:02 +01:00
Brice Figureau
02e5f70589 Allow to specify more than one networking adapter for vbox
Note: this patch introduces an incompatibility in the
`linuxkit run vbox` arguments.

It wasn't impossible to specify more than one network adapter
to the `linuxkit run vbox` command.

This patch allows to specify more than one `-networking` argument to specify
different network adapters.

For instance:
~~~sh
linuxkit run vbox -networking type=nat -networking type=hostonly,adapter=vboxnet0
~~~
will setup the VM with 2 NICs.

It is also possible to get rid of the `type` argument.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2018-08-02 10:34:26 +02:00
Tiejun Chen
b8928d6c56 update -rt to 4.14.59-rt37
Signed-off-by: Tiejun Chen <tiejun.china@gmail.com>
2018-08-01 21:19:37 -07:00
Brice Figureau
f1f128c6dd Allow linuxkit run vbox to use multiple drives
VirtualBox hardware (like physical hardware) has only a limited number
of IDE device on an IDE Controller.
Unfortunately when using an additional drive, it was given the port
value of 2, which doesn't exists in VirtualBox IDE controllers (as
only 0 and 1 are permitted).

This change makes use of the SATA Controller which can host much
more drives, to hook the additional drives.

Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2018-07-31 18:27:54 +02:00
Justin Cormack
4968390a92 Merge pull request #3141 from masterzen/fix/3091-enforce-PAX-for-all-files
Fix #3091 enforce all outgoing tar files to use PAX
2018-07-29 11:35:48 -07:00
Brice Figureau
7a7f5f66c2 Fix #3091 enforce all outgoing tar files to use PAX
While processing the content of a tar image, linuxkit's moby tool is
blindly reusing the original tar format.

Moreover it locates the files under a new prefix, so if the original
file was stored as USTAR in the original archive, the filename length
and new prefix could be greater than the USTAR name limit leading
to a fatal error.

The fix is to always enforce PAX format on all copied files from the
original image archive.

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
2018-07-29 11:03:44 +02:00
Rolf Neugebauer
deb627e56b Merge pull request #3143 from rn/symlink-fix
cmd/pkg: Fix symlink handling in pkg build context
2018-07-27 20:23:52 +01:00
Rolf Neugebauer
23555494fe cmd/pkg: Fix symlink handling in pkg build context
When building the build context, symlink need special
treatment as the link name needs to be added when
building the tar.FileInfoHeader. This code does that.

We may also need to add a special case for hard links
as the moby/moby package 'archive' does, but this
should for now
fixes #3142

Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-07-27 18:39:08 +01:00
Rolf Neugebauer
26ae9a0246 Merge pull request #3139 from rn/post_v0.6
Update version to v0.6+
2018-07-27 01:37:27 +01:00
Rolf Neugebauer
434ee1dffd Update version to v0.6+
Signed-off-by: Rolf Neugebauer <rn@rneugeba.io>
2018-07-27 00:06:06 +01:00
3335 changed files with 577371 additions and 226532 deletions

View File

@@ -1,62 +0,0 @@
version: 2
jobs:
build:
working_directory: /go/src/github.com/linuxkit/linuxkit
docker:
- image: circleci/golang:1.10-stretch
steps:
- checkout
- run: mkdir -p ./bin
- run:
name: Versions
command: |
set -x
go version
cat /etc/os-release
- run:
name: Dependencies
command: |
go get -u github.com/golang/lint/golint
go get -u github.com/gordonklaus/ineffassign
- run:
name: Lint
command: make local-check
- run:
name: Build amd64/linux
environment:
GOOS: linux
GOARCH: amd64
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH local-build
- run:
name: Build arm64/linux
environment:
GOOS: linux
GOARCH: arm64
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH local-build
- run:
name: Build s390x/linux
environment:
GOOS: linux
GOARCH: s390x
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH local-build
- run:
name: Build amd64/darwin
environment:
GOOS: darwin
GOARCH: amd64
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH local-build
- run:
name: Build amd64/windows
environment:
GOOS: windows
GOARCH: amd64
command: make LOCAL_TARGET=bin/linuxkit-$GOOS-$GOARCH.exe local-build
- run:
name: Test
command: make local-test
- run:
name: Checksum
command: cd bin && sha256sum linuxkit-*-* > SHA256SUM
- store_artifacts:
path: ./bin
destination: .

322
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,322 @@
name: LinuxKit CI
on: [push, pull_request]
jobs:
build:
name: Build & Test
strategy:
matrix:
arch:
- amd64-linux
- arm64-linux
- s390x-linux
- amd64-darwin
- amd64-windows.exe
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.13
uses: actions/setup-go@v2
with:
go-version: 1.13.4
id: go
- name: Check out code
uses: actions/checkout@v1
with:
path: ./src/github.com/linuxkit/linuxkit
- name: Get pre-requisites
run: |
echo "::set-env name=PATH::$PATH:$(go env GOPATH)/bin"
go get -u golang.org/x/lint/golint
go get -u github.com/gordonklaus/ineffassign
env:
GOPATH: ${{runner.workspace}}
- name: Lint
run: |
make local-check
env:
GOPATH: ${{runner.workspace}}
- name: Build
run: |
make LOCAL_TARGET=bin/linuxkit-${{matrix.arch}} local-build
env:
GOPATH: ${{runner.workspace}}
- name: Checksum
run: cd bin && sha256sum linuxkit-${{matrix.arch}} > linuxkit-${{matrix.arch}}.SHA256SUM
- name: Test
run: make local-test
env:
GOPATH: ${{runner.workspace}}
- name: Cache binary
uses: actions/cache@v1
with:
path: bin
key: linuxkit-${{matrix.arch}}-${{hashFiles('src/**')}}
- name: Upload binary
uses: actions/upload-artifact@v1.0.0
with:
name: linuxkit-${{matrix.arch}}
path: bin
build_packages:
name: Build Packages
needs: build
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v1
with:
path: ./src/github.com/linuxkit/linuxkit
- name: Restore LinuxKit From Cache
uses: actions/cache@v1
with:
path: lkt
key: linuxkit-amd64-linux-${{hashFiles('src/**')}}
- name: Symlink Linuxkit
run: |
sudo ln -s `pwd`/lkt/linuxkit-amd64-linux /usr/local/bin/linuxkit
- name: Build Packages
run: |
make -C pkg build
test_packages:
name: Packages Tests
needs: [ build_packages, build ]
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v1
with:
path: ./src/github.com/linuxkit/linuxkit
- name: Install Pre-Requisites
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -qy qemu-utils qemu-system-x86 expect
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v1
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
- name: Build RTF
if: steps.cache-rtf.outputs.cache-hit != 'true'
run: make bin/rtf
- name: Symlink RTF
run: |
sudo ln -s `pwd`/bin/rtf /usr/local/bin/rtf
- name: Restore LinuxKit From Cache
uses: actions/cache@v1
with:
path: lkt
key: linuxkit-amd64-linux-${{hashFiles('src/**')}}
- name: Symlink Linuxkit
run: |
sudo ln -s `pwd`/lkt/linuxkit-amd64-linux /usr/local/bin/linuxkit
- name: Run Tests
run: |
cd test
rtf -l build -v run -x linuxkit.packages
test_kernel:
name: Kernel Tests
needs: build
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v1
with:
path: ./src/github.com/linuxkit/linuxkit
- name: Install Pre-Requisites
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -qy qemu-utils qemu-system-x86 expect
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v1
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
- name: Build RTF
if: steps.cache-rtf.outputs.cache-hit != 'true'
run: make bin/rtf
- name: Symlink RTF
run: |
sudo ln -s `pwd`/bin/rtf /usr/local/bin/rtf
- name: Restore LinuxKit From Cache
uses: actions/cache@v1
with:
path: lkt
key: linuxkit-amd64-linux-${{hashFiles('src/**')}}
- name: Symlink Linuxkit
run: |
sudo ln -s `pwd`/lkt/linuxkit-amd64-linux /usr/local/bin/linuxkit
- name: Run Tests
run: |
cd test
rtf -l build -v run -x linuxkit.kernel
test_linuxkit:
name: LinuxKit Build Tests
needs: build
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v1
with:
path: ./src/github.com/linuxkit/linuxkit
- name: Install Pre-Requisites
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -qy qemu-utils qemu-system-x86 expect
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v1
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
- name: Build RTF
if: steps.cache-rtf.outputs.cache-hit != 'true'
run: make bin/rtf
- name: Symlink RTF
run: |
sudo ln -s `pwd`/bin/rtf /usr/local/bin/rtf
- name: Restore LinuxKit From Cache
uses: actions/cache@v1
with:
path: lkt
key: linuxkit-amd64-linux-${{hashFiles('src/**')}}
- name: Symlink Linuxkit
run: |
sudo ln -s `pwd`/lkt/linuxkit-amd64-linux /usr/local/bin/linuxkit
- name: Run Tests
run: |
cd test
rtf -l build -v run -x linuxkit.build
test_platforms:
name: Platform Tests
needs: build
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v1
with:
path: ./src/github.com/linuxkit/linuxkit
- name: Install Pre-Requisites
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -qy qemu-utils qemu-system-x86 expect
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v1
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
- name: Build RTF
if: steps.cache-rtf.outputs.cache-hit != 'true'
run: make bin/rtf
- name: Symlink RTF
run: |
sudo ln -s `pwd`/bin/rtf /usr/local/bin/rtf
- name: Restore LinuxKit From Cache
uses: actions/cache@v1
with:
path: lkt
key: linuxkit-amd64-linux-${{hashFiles('src/**')}}
- name: Symlink Linuxkit
run: |
sudo ln -s `pwd`/lkt/linuxkit-amd64-linux /usr/local/bin/linuxkit
- name: Run Tests
run: |
cd test
rtf -l build -v run -x linuxkit.platforms
test_security:
name: Security Tests
needs: build
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v1
with:
path: ./src/github.com/linuxkit/linuxkit
- name: Install Pre-Requisites
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get install -qy qemu-utils qemu-system-x86 expect
- name: Restore RTF From Cache
id: cache-rtf
uses: actions/cache@v1
with:
path: bin
key: rtf-${{hashFiles('Makefile')}}
- name: Build RTF
if: steps.cache-rtf.outputs.cache-hit != 'true'
run: make bin/rtf
- name: Symlink RTF
run: |
sudo ln -s `pwd`/bin/rtf /usr/local/bin/rtf
- name: Restore LinuxKit From Cache
uses: actions/cache@v1
with:
path: lkt
key: linuxkit-amd64-linux-${{hashFiles('src/**')}}
- name: Symlink Linuxkit
run: |
sudo ln -s `pwd`/lkt/linuxkit-amd64-linux /usr/local/bin/linuxkit
- name: Run Tests
run: |
cd test
rtf -l build -v run -x linuxkit.security

View File

@@ -1,5 +1,3 @@
# Generate AUTHORS: scripts/generate-authors.sh
# Tip for finding duplicates (besides scanning the output of AUTHORS for name
# duplicates that aren't also email duplicates): scan the output of:
# git log --format='%aE - %aN' | sort -uf
@@ -7,6 +5,7 @@
# For explanation on this file format: man git-shortlog
Alice Frosi <alice@linux.vnet.ibm.com> <alice@linux.vnet.ibm.comx>
Alice Frosi <alice@linux.vnet.ibm.com> <afrosi@de.ibm.com>
Amir Chaudhry <amir.chaudhry@docker.com> <amirmc@gmail.com>
Anil Madhavapeddy <anil.madhavapeddy@docker.com> <anil@recoil.org>
Dan Finneran <dan@thebsdbox.co.uk> <dan@dev.fnnrn.me>
@@ -29,6 +28,7 @@ Ian Campbell <ian.campbell@docker.com> <ijc@lxdeb01.marist.edu>
Isaac Rodman <isaac@eyz.us> <isaac.rodman@healthtrio.com>
Isaac Rodman <isaac@eyz.us>
Istvan Szukacs <l1x@users.noreply.github.com>
James McCoy <james@mcy.email>
Jeff Wu <jeff.wu.junfei@gmail.com> <JeffWuBJ@users.noreply.github.com>
Jeremy Yallop <yallop@docker.com> <yallop@gmail.com>
Justin Cormack <justin.cormack@docker.com> <justin.cormack@unikernel.com>
@@ -39,7 +39,8 @@ Magnus Skjegstad <magnus.skjegstad@docker.com> <magnus@skjegstad.com>
Marten Cassel <marten.cassel@gmail.com> <mcpop28@hotmail.com>
Mindy Preston <mindy.preston@docker.com> <meetup@yomimono.org>
MinJae Kwon <mingrammer@gmail.com>
Nathan Dautenhahn <ndd@seas.upenn.edu> <ndd@cis.upenn.edu>
Nathan Dautenhahn <ndd@rice.edu> <ndd@seas.upenn.edu>
Nathan Dautenhahn <ndd@rice.edu> <ndd@cis.upenn.edu>
Nathan LeClaire <nathan.leclaire@docker.com> <nathan.leclaire@gmail.com>
Nathan LeClaire <nathan.leclaire@docker.com> <nathanleclaire@gmail.com>
Niclas Mietz <niclas@mietz.io>

19
ADOPTERS.md Normal file
View File

@@ -0,0 +1,19 @@
## LinuxKit Adopters
_This list is currently under construction. Please add your use cases to this with a PR. Thanks!_
# Production Users
**_[Docker Desktop](https://www.docker.com/products/docker-desktop)_** - Docker Desktop for Mac and Windows uses LinuxKit to provide an embedded, invisible virtual machine in order to run Linux containers and to run Kubernetes. There are currently millions of active users.
**_[TagHub](https://www.taghub.net)_** - TagHub is a SaaS product for doing asset management. We use LinuxKit to have small and secure linux nodes powering our multi-cloud infrastructure. TagHub is made by [Smart Management](http://www.smartm.no/).
# Projects Using LinuxKit
**_[LinuxKit Nix](https://github.com/nix-community/linuxkit-nix)_** aims to provide a Linux Nix VM for macOS.
**_[cfdev](https://github.com/cloudfoundry-incubator/cfdev)_** A fast and easy local Cloud Foundry experience on native hypervisors, powered by LinuxKit with VPNKit
**_[dm-linuxkit](https://github.com/dotmesh-io/dm-linuxkit)_** A dotmesh controller for LinuxKit persistent storage management.
**_[Linux Foundation Edge EVE](https://github.com/lf-edge/eve)_** Edge Virtualization Engine Operating System

35
AUTHORS
View File

@@ -6,19 +6,27 @@ Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Alan Raison <alanraison@users.noreply.github.com>
Alex Ellis <alexellis2@gmail.com>
Alex Johnson <hello@alex-johnson.net>
Alex Szakaly <alex.szakaly@gmail.com>
Alexander Slesarev <alex.slesarev@nudatasecurity.com>
Alice Frosi <alice@linux.vnet.ibm.com>
Amir Chaudhry <amir.chaudhry@docker.com>
Anil Madhavapeddy <anil.madhavapeddy@docker.com>
Arthur Lutz <arthur.lutz@logilab.fr>
Asbjorn Enge <asbjorn@hanafjedle.net>
Avi Deitcher <avi@deitcher.net>
Aymen EL AMRI <aymen@eralabs.io>
Ben Allen <bsallen@alcf.anl.gov>
Bill Kerr <bill@generalbill.com>
Björn Ingeson <bjorn.ingeson@gmail.com>
Brice Figureau <brice-puppet@daysofwonder.com>
Carlton-Semple <carlton.semple@ibm.com>
Chanwit Kaewkasi <chanwit@gmail.com>
Christian Wuerdig <christian.wuerdig@gmail.com>
Craig Ingram <cingram@heroku.com>
Damiano Donati <damiano.donati@gmail.com>
Dan Finneran <dan@thebsdbox.co.uk>
Daniel Caminada <daniel.caminada@ergon.ch>
Daniel Dean <daniel@razorsecure.com>
Daniel Hiltgen <daniel.hiltgen@docker.com>
Daniel Nephin <dnephin@gmail.com>
Dave Freitag <dcfreita@us.ibm.com>
@@ -30,43 +38,56 @@ David Scott <dave.scott@docker.com>
David Sheets <david.sheets@docker.com>
Dennis Chen <dennis.chen@arm.com>
Dieter Reuter <dieter.reuter@me.com>
Dominic White <singe-github@singe.za.net>
duraki <duraki@linuxmail.org>
Edward Vielmetti <edward.vielmetti@gmail.com>
Emily Casey <ecasey@pivotal.io>
Eric Briand <eric.briand@gmail.com>
Evan Hazlett <ejhazlett@gmail.com>
Federico Pellegatta <12744504+federico-pellegatta@users.noreply.github.com>
French Ben <frenchben@docker.com>
functor <meehow@gmail.com>
Gabriel Chabot <gabriel.chabot@qarnot-computing.com>
Garth Bushell <garth.bushell@oracle.com>
George Papanikolaou <g3orge.app@gmail.com>
Gerben Geijteman <gerben@isset.nl>
Gianluca Arbezzano <gianarb92@gmail.com>
Guillaume Rose <guillaume.rose@docker.com>
Hans van den Bogert <hansbogert@gmail.com>
hyperized <gerben@hyperized.net>
Ian Campbell <ian.campbell@docker.com>
Ilya Dmitrichenko <errordeveloper@gmail.com>
Isaac Rodman <isaac@eyz.us>
Istvan Szukacs <l1x@users.noreply.github.com>
Ivan Markin <sw@nogoegst.net>
James McCoy <james@mcy.email>
Jason A. Donenfeld <Jason@zx2c4.com>
Jeff Wu <jeff.wu.junfei@gmail.com>
Jeffrey Hogan <jeff.hogan1@gmail.com>
Jeremy Yallop <yallop@docker.com>
Jes Ferrier <jes.ferrier@gmail.com>
Jesse Adametz <jesseadametz@gmail.com>
Johannes Würbach <johannes.wuerbach@googlemail.com>
John Albietz <inthecloud247@gmail.com>
Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
Justin Barrick <jbarrick@cloudflare.com>
Justin Cormack <justin.cormack@docker.com>
Justin Ko <justin.ko@oracle.com>
Justin Terry (VM) <juterry@microsoft.com>
Karol Woźniak <wozniakk@gmail.com>
Ken Cochrane <ken.cochrane@docker.com>
Krister Johansen <krister.johansen@oracle.com>
Krisztian Horvath <keyki.kk@gmail.com>
Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
Liqdfire <liqdfire@gmail.com>
Lorenzo Fontana <lo@linux.com>
Loïc Pottier <lpottier@isi.edu>
Luke Hodkinson <furious.luke@gmail.com>
Madhu Venugopal <madhu@docker.com>
Magnus Skjegstad <magnus.skjegstad@docker.com>
Marco Mariani <marco.mariani@alterway.fr>
Marcus van Dam <marcus@marcusvandam.nl>
Mario Loriedo <mario.loriedo@gmail.com>
marten <marten.cassel@gmail.com>
Mathieu Champlon <mathieu.champlon@docker.com>
Mathieu Pasquet <mathieu.pasquet@alterway.fr>
@@ -78,18 +99,21 @@ Mickaël Salaün <mic@digikod.net>
Mindy Preston <mindy.preston@docker.com>
MinJae Kwon <mingrammer@gmail.com>
Natanael Copa <natanael.copa@docker.com>
Nathan Dautenhahn <ndd@seas.upenn.edu>
Nathan Dautenhahn <ndd@rice.edu>
Nathan LeClaire <nathan.leclaire@docker.com>
Nick Jones <nick@dischord.org>
Niclas Mietz <niclas@mietz.io>
Nico Di Rocco <dirocco.nico@gmail.com>
Olaf Bergner <olaf.bergner@gmx.de>
Olaf Flebbe <of@oflebbe.de>
Omar Ramadan <omar.ramadan93@gmail.com>
Patrik Cyvoct <patrik@ptrk.io>
Phil Estes <estesp@linux.vnet.ibm.com>
Pierre Gayvallet <pierre.gayvallet@docker.com>
Pratik Mallya <mallya@us.ibm.com>
Preston Holmes <preston@ptone.com>
Radu Matei <matei.radu94@gmail.com>
Richard Connon <richard@connon.me.uk>
Richard Mortier <mort@cantab.net>
Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
Robb Kistler <robb.kistler@docker.com>
@@ -98,9 +122,15 @@ Rolf Neugebauer <rn@rneugeba.io>
Roman Shaposhnik <rvs@zededa.com>
Rui Lopes <rgl@ruilopes.com>
Ryoga Saito <proelbtn@gmail.com>
Sachi King <nakato@nakato.io>
salman aljammaz <s@aljmz.com>
schrotthaufen <schrotthaufen@invalid.invalid>
Scott Coulton <scott.coulton@puppet.com>
Sebastiaan van Stijn <sebastiaan.vanstijn@docker.com>
sethp <seth.pellegrino@gmail.com>
Simarpreet Singh <simar@linux.com>
Simon Ferquel <simon.ferquel@docker.com>
Simon Fridlund <simon@fridlund.email>
Sotiris Salloumis <sotiris.salloumis@gmail.com>
Steeve Morin <steeve.morin@gmail.com>
Stefan Bourlon <stefan.bourlon@ca.com>
@@ -117,8 +147,11 @@ Tiejun Chen <tiejun.china@gmail.com>
Tim Potter <tpot@hpe.com>
Tobias Gesellchen <tobias@gesellix.de>
Tobias Klauser <tklauser@distanz.ch>
Tomas Knappek <tomas.knappek@gmail.com>
Tristan Slominski <tristan.slominski@gmail.com>
Tycho Andersen <tycho@docker.com>
Vincent Demeester <Vincent.Demeester@docker.com>
Yoann Ricordel <yoann.ricordel@qarnot-computing.com>
Zachery Hostens <zacheryph@gmail.com>
zimbatm <zimbatm@zimbatm.com>
zlim <zlim.lnx@gmail.com>

View File

@@ -3,6 +3,50 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
## [v0.8] - 2020-05-10
### Added
- Removed dependency on external `notary` and `manifest-tool` binaries for package builds
- Risc-V support for `binfmt`
- Support for GPT partitions
- `metadata` package support for Digital Ocean and Hetzner as well as loading from a file
- Support for `/sys/fs/bpf` in `init`
- Github Actions for CI
### Changed
- `alpine` base updated to 3.11
- `containerd` updated to v1.3.4
- `runc` updated to v1.0.0-rc9
- `binfmt` updated to qemu 4.2
- `node_exporter` updated to v0.18.1
- `cadvisor` updated to v0.36.0
- WireGuard updated to 1.0.20200319
- Improved CDROM support and fixes to GCP and Scaleway providers in the `metadata` package
- Improved creation of `swap` files
- Improved RPI3 build
### Removed
## [v0.7] - 2019-04-17
### Added
- Reproducible `linuxkit build` for some output formats
- Support uncompressed kernels, e.g., for crosvm and firecracker.
- Support encrypted disks via `dm-crypt`
- New `bpftrace` package
- Support for USB devices in `qemu`
### Changed
- Alpine base updated to 3.9
- `containerd` updated to v1.2.6
- WireGuard updated to 0.0.20190227
- Updated Docker base API level
- VirtualBox improvements (multiple drives and network adapters)
- Fixed Windows path handling in `linuxkit`
- GCP: Improve error checking/handling
### Removed
## [v0.6] - 2018-07-26
### Added
- `linuxkit build` now works with private repositories and registries.

View File

@@ -159,10 +159,10 @@ on disputes for technical matters."
[Org]
[Org."Core maintainers"]
people = [
"dave-tucker",
"deitch",
"ijc",
"justincormack",
"riyazdf",
"rn",
]
@@ -173,6 +173,11 @@ on disputes for technical matters."
# in the people section.
# ADD YOURSELF HERE IN ALPHABETICAL ORDER
[People.dave-tucker]
Name = "Dave Tucker"
Email = "dave@dtucker.co.uk"
Github = "dave-tucker"
[People.deitch]
Name = "Avi Deitcher"
Email = "avi@atomicinc.com"
@@ -188,11 +193,6 @@ on disputes for technical matters."
Email = "justin.cormack@docker.com"
GitHub = "justincormack"
[people.riyazdf]
Name = "Riyaz Faizullabhoy"
Email = "riyaz@docker.com"
GitHub = "riyazdf"
[people.rn]
Name = "Rolf Neugebauer"
Email = "rn@rneugeba.io"

View File

@@ -1,7 +1,7 @@
VERSION="v0.6"
VERSION="v0.8"
GIT_COMMIT=$(shell git rev-list -1 HEAD)
GO_COMPILE=linuxkit/go-compile:e1204ce9921c1d45362a374e06be7234d3bf1184
GO_COMPILE=linuxkit/go-compile:b1446b2ba407225011f97ae1dba0f512ae7f9b84
ifeq ($(OS),Windows_NT)
LINUXKIT?=bin/linuxkit.exe
@@ -75,7 +75,7 @@ LOCAL_TARGET ?= $(LINUXKIT)
.PHONY: local-check local-build local-test local-static-pie local-static local-dynamic local
local-check: $(LINUXKIT_DEPS)
@echo gofmt... && o=$$(gofmt -s -l $(filter %.go,$(LINUXKIT_DEPS))) && if [ -n "$$o" ] ; then echo $$o ; exit 1 ; fi
@echo govet... && go tool vet -printf=false $(filter %.go,$(LINUXKIT_DEPS))
@echo govet... && go vet -printf=false ./src/cmd/linuxkit/...
@echo golint... && set -e ; for i in $(filter %.go,$(LINUXKIT_DEPS)); do golint $$i ; done
@echo ineffassign... && ineffassign $(filter %.go,$(LINUXKIT_DEPS))

View File

@@ -10,9 +10,10 @@ LinuxKit, a toolkit for building custom minimal, immutable Linux distributions.
- Completely stateless, but persistent storage can be attached
- Easy tooling, with easy iteration
- Built with containers, for running containers
- Designed to create [reproducible builds](./docs/reproducible-builds.md) [WIP]
- Designed for building and running clustered applications, including but not limited to container orchestration such as Docker or Kubernetes
- Designed from the experience of building Docker Editions, but redesigned as a general-purpose toolkit
- Designed to be managed by external tooling, such as [Infrakit](https://github.com/docker/infrakit) or similar tools
- Designed to be managed by external tooling, such as [Infrakit](https://github.com/docker/infrakit) (renamed to [deploykit](https://github.com/docker/deploykit) which has been archived in 2019) or similar tools
- Includes a set of longer-term collaborative projects in various stages of development to innovate on kernel and userspace changes, particularly around security
LinuxKit currently supports the `x86_64`, `arm64`, and `s390x` architectures on a variety of platforms, both as virtual machines and baremetal (see [below](#booting-and-testing) for details).
@@ -24,6 +25,7 @@ LinuxKit currently supports the `x86_64`, `arm64`, and `s390x` architectures on
- [linux](https://github.com/linuxkit/linux) A copy of the Linux stable tree with branches LinuxKit kernels.
- [virtsock](https://github.com/linuxkit/virtsock) A `go` library and test utilities for `virtio` and Hyper-V sockets.
- [rtf](https://github.com/linuxkit/rtf) A regression test framework used for the LinuxKit CI tests (and other projects).
- [homebrew](https://github.com/linuxkit/homebrew-linuxkit) Homebrew packages for the `linuxkit` tool.
## Getting Started
@@ -43,11 +45,17 @@ brew tap linuxkit/linuxkit
brew install --HEAD linuxkit
```
Build requirements from source:
Build requirements from source using a container
- GNU `make`
- Docker
- optionally `qemu`
For a local build using `make local`
- `go`
- `make`
- `go get -u golang.org/x/lint/golint`
- `go get -u github.com/gordonklaus/ineffassign`
### Building images
Once you have built the tool, use
@@ -76,6 +84,7 @@ Currently supported platforms are:
- [Google Cloud](docs/platform-gcp.md) `[x86_64]`
- [Microsoft Azure](docs/platform-azure.md) `[x86_64]`
- [OpenStack](docs/platform-openstack.md) `[x86_64]`
- [Scaleway](docs/platform-scaleway.md) `[x86_64]`
- Baremetal:
- [packet.net](docs/platform-packet.md) `[x86_64, arm64]`
- [Raspberry Pi Model 3b](docs/platform-rpi3.md) `[arm64]`
@@ -154,7 +163,11 @@ This is an open project without fixed judgements, open to the community to set t
## Development reports
There are weekly [development reports](reports/) summarizing work carried out in the week.
There are monthly [development reports](reports/) summarising the work carried out each month.
## Adopters
We maintain an incomplete list of [adopters](ADOPTERS.md). Please open a PR if you are using LinuxKit in production or in your project, or both.
## FAQ

View File

@@ -1,7 +1,7 @@
FROM rust:1.25.0-stretch
FROM rust:1.30.0-stretch
ENV CROSVM_REPO=https://chromium.googlesource.com/chromiumos/platform/crosvm
ENV CROSVM_COMMIT=7a7268faf0a43c79b6a4520f5c2f35c3e0233932
ENV CROSVM_COMMIT=c527c1a7e8136dae1e8ae728dfd9932bf3967e7e
ENV MINIJAIL_REPO=https://android.googlesource.com/platform/external/minijail
ENV MINIJAIL_COMMIT=d45fc420bb8fd9d1fc9297174f3c344db8c20bbd

View File

@@ -25,56 +25,30 @@ You may also have to create an empty directory `/var/empty`.
## Use with LinuxKit images
You can build a LinuxKit image suitable for `crosvm` with the
`kernel+squashfs` build format. For example, using this LinuxKit
YAML file (`minimal.yml`):
```
kernel:
image: linuxkit/kernel:4.9.115
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
services:
- name: getty
image: linuxkit/getty:v0.6
env:
- INSECURE=true
trust:
org:
- linuxkit
```
run:
`kernel+squashfs` build format. For example, using `minimal.yml` from
the `./examples` directory, run (but also see the known issues):
```sh
linuxkit build -output kernel+squashfs minimal.yml
linuxkit build -format kernel+squashfs -decompress-kernel minimal.yml
```
The kernel this produces (`minimal-kernel`) needs to be converted as
`crosvm` does not grok `bzImage`s. You can convert the LinuxKit kernel
image with
[extract-vmlinux](https://raw.githubusercontent.com/torvalds/linux/master/scripts/extract-vmlinux):
```sh
extract-vmlinux minimal-kernel > minimal-vmlinux
```
The `-vmlinux` switch is needed since `crosvm` does not grok
compressed linux kernel images.
Then you can run `crosvm`:
```sh
./crosvm run --seccomp-policy-dir=./seccomp/x86_64 \
crosvm run --disable-sandbox \
--root ./minimal-squashfs.img \
--mem 2048 \
--multiprocess \
--socket ./linuxkit-socket \
minimal-vmlinux
minimal-kernel
```
## Known issues
- With 4.14.x, a `BUG_ON()` is hit in `drivers/base/driver.c`. 4.9.x
kernels seem to work.
- With the latest version, I don't seem to get a interactive console.
- Networking does not yet work, so don't include a `onboot` `dhcpd` service.
- `poweroff` from the command line does not work (crosvm does not seem
to support ACPI). So to stop a VM you can use the control socket

View File

@@ -0,0 +1,10 @@
# open-vm-tools
This should allow end-users to gracefully reboot or shutdown Kubernetes nodes (incuding control planes) running on vSphere Hypervisor.
Furthermore, it is also mandatory to have `open-vm-tools` installed on your Kubernetes nodes to use vSphere Cloud Provider (i.e. determinte virtual machine's FQDN).
## Remarks:
- `spec.template.spec.hostNetwork: true`: correctly report node IP address; required
- `spec.template.spec.hostPID: true`: send the right signal to node, instead of killing the container itself; required
- `spec.template.spec.priorityClassName: system-cluster-critical`: critical to a fully functional cluster
- `spec.template.spec.securityContext.privileged: true`: gain more privileges than its parent process; required

View File

@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: DaemonSet
metadata:
labels:
app: open-vm-tools
name: open-vm-tools
namespace: kube-system
spec:
selector:
matchLabels:
app: open-vm-tools
template:
metadata:
labels:
app: open-vm-tools
spec:
hostNetwork: true
hostPID: true
priorityClassName: system-cluster-critical
tolerations:
- key: node.cloudprovider.kubernetes.io/uninitialized
value: "true"
effect: NoSchedule
- key: node-role.kubernetes.io/master
containers:
- image: linuxkit/open-vm-tools:v0.8
name: open-vm-tools
resources:
requests:
memory: "5Mi"
cpu: "100m"
limits:
memory: "25Mi"
cpu: "500m"
securityContext:
privileged: true
dnsPolicy: ClusterFirst
restartPolicy: Always

86
docs/encrypted-disk.md Normal file
View File

@@ -0,0 +1,86 @@
# Device encryption with dm-crypt
In the packages section you can find an image to setup dm-crypt encrypted devices in [linuxkit](https://github.com/linuxkit/linuxkit)-generated images.
## Usage
The setup is a one time step during boot:
```yaml
onboot:
- name: dm-crypt
image: linuxkit/dm-crypt:<hash>
command: ["/usr/bin/crypto", "dm_crypt_name", "/dev/sda1"]
- name: mount
image: linuxkit/mount:<hash>
command: ["/usr/bin/mountie", "/dev/mapper/dm_crypt_name", "/var/secure_storage"]
files:
- path: etc/dm-crypt/key
contents: "abcdefghijklmnopqrstuvwxyz123456"
```
The above will map `/dev/sda1` as an encrypted device under `/dev/mapper/dm_crypt_name` and mount it under `/var/secure_storage`
The `dm-crypt` container by default bind-mounts `/dev:/dev` and `/etc/dm-crypt:/etc/dm-crypt`. It expects the encryption key to be present in the file `/etc/dm-crypt/key`. You can pass an alternative location as encryption key which can be either a file path relative to `/etc/dm-crypt` or an absolute path.
Providing an alternative encryption key file name:
```yaml
onboot:
- name: dm-crypt
image: linuxkit/dm-crypt:<hash>
command: ["/usr/bin/crypto", "-k", "some_other_key", "dm_crypt_name", "/dev/sda1"]
- name: mount
image: linuxkit/mount:<hash>
command: ["/usr/bin/mountie", "/dev/mapper/dm_crypt_name", "/var/secure_storage"]
files:
- path: etc/dm-crypt/some_other_key
contents: "abcdefghijklmnopqrstuvwxyz123456"
```
Providing an alternative encryption key file name as absolute path:
```yaml
onboot:
- name: dm-crypt
image: linuxkit/dm-crypt:<hash>
command: ["/usr/bin/crypto", "-k", "/some/other/key", "dm_crypt_name", "/dev/sda1"]
binds:
- /dev:/dev
- /etc/dm-crypt/some_other_key:/some/other/key
- name: mount
image: linuxkit/mount:<hash>
command: ["/usr/bin/mountie", "/dev/mapper/dm_crypt_name", "/var/secure_storage"]
files:
- path: etc/dm-crypt/some_other_key
contents: "abcdefghijklmnopqrstuvwxyz123456"
```
Note that you have to also map `/dev:/dev` explicitly if you override the default bind-mounts.
The `dm-crypt` container
* Will create an `ext4` file system on the encrypted device if none is present.
* It will also initialize the encrypted device by filling it from `/dev/zero` prior to creating the filesystem. Which means if the device is being setup for the first time it might take a bit longer.
* Uses the `aes-cbc-essiv:sha256` cipher (it's explicitly specified in case the default ever changes)
* Consequently the encryption key is expected to be 32 bytes long, a random one can be created via
```shell
dd if=/dev/urandom of=dm-crypt.key bs=32 count=1
```
If you see the error `Cannot read requested amount of data.` next to the log message `Creating dm-crypt mapping for ...` then this means your keyfile doesn't contain enough data.
### Examples
There are two examples in the `examples/` folder:
1. `dm-crypt.yml` - formats an external disk and mounts it encrypted.
2. `dm-crypt-loop.yml` - mounts an encrypted loop device backed by a regular file sitting on an external disk
### Options
|Option|Default|Required|Notes|
|---|---|---|---|
|`-k` or `--key`|`key`|No|Encryption key file name. Must be either relative to `/etc/dm-crypt` or an absolute file path.|
|`-l` or `--luks`||No|Use LUKS format for encryption|
|`<dm_name>`||**Yes**|The device-mapper device name to use. The device will be mapped under `/dev/mapper/<dm_name>`|
|`<device>`||**Yes**|Device to encrypt.|

View File

@@ -52,9 +52,17 @@ onboot:
command: ["/usr/bin/format", "-force", "-type", "xfs", "-label", "DATA", "-verbose", "/dev/vda"]
```
```
onboot:
- name: format
image: linuxkit/format:<hash>
command: ["/usr/bin/format", "-type", "ext4", "-partition", "gpt", "/dev/vda"]
```
- `-force` can be used to force the partition to be cleared and recreated (if applicable), and the recreated partition formatted. This option would be used to re-init the partition on every boot, rather than persisting the partition between boots.
- `-label` can be used to give the disk a label
- `-type` can be used to specify the type. This is `ext4` by default but `btrfs` and `xfs` are also supported
- `-partition` can be used to specify the partition table type. This is `dos` by default but `gpt` is also supported
- `-verbose` enables verbose logging, which can be used to troubleshoot device auto-detection and (re-)partitioning
- The final (optional) argument specifies the device name

31
docs/kernel-bcc.md Normal file
View File

@@ -0,0 +1,31 @@
# Using the bcc utility with LinuxKit
The `bcc` utility is a standard Linux tool to access performance
counters, trace events and access various other kernel internals for
performance analysis.
The `bcc` utility needs to matched be with the kernel. For recent
kernel build, LinuxKit provides a `linuxkit/kernel-bcc` package with
a matching tag for each kernel under `linuxkit/kernel`.
The preferred way of using the `linuxkit/kernel-bcc` package is to
add it to the `init` section. This adds `/usr/share/bcc` to the
systems' root filesystem. From there it can be
- bind mounted into your container
- accessed via `/proc/1/root/usr/share/bcc/tools` from with in the `getty`
or `ssh` container.
- accessed via a nsenter of `/bin/ash` of proc 1.
If you want to use `bcc` you may also want to remove the `sysctl`
container, or alternatively, disable the kernel pointer restriction it
enables by default:
```
echo 0 > /proc/sys/kernel/kptr_restrict
```
Now, `bcc` is ready to use. The LinuxKit `bcc` package contains
the `bcc` binary, example and tool scripts, and kernel headers for the
associated kernel build.

View File

@@ -54,7 +54,7 @@ the specific version of the kernel. Currently, the headers are not
included in the initial RAM disk, but it is possible to compile custom
modules offline and then include the modules in the initial RAM disk.
There is a [example](../test/cases/020_kernel/010_kmod_4.9.x), but
There is a [example](../test/cases/020_kernel/011_kmod_4.9.x), but
basically one can use a multi-stage build to compile the kernel
modules:

27
docs/losetup.md Normal file
View File

@@ -0,0 +1,27 @@
# LinuxKit losetup
Image to setup a loop device backed by a regular file in a [linuxkit](https://github.com/linuxkit/linuxkit)-generated image. The typical use case is to have a portable storage location which can be used to persist settings or other files. Can be combined with the `linuxkit/dm-crypt` package for protection.
## Usage
The setup is a one time step during boot:
```yaml
onboot:
- name: losetup
image: linuxkit/losetup:<hash>
command: ["/usr/bin/loopy", "-c", "/var/test.img"]
```
The above will associate the file `/var/test.img` with `/dev/loop0` and will also create it if it's not present.
The container by default bind-mounts `/var:/var` and `/dev:/dev`. Usually the loop-file will reside on external storage which should be typically mounted under `/var` hence the choice of the defaults. If the loop-file is located somewhere else and you need a different bind-mount for it then do not forget to explicitly bind-mount `/dev:/dev` as well or else `losetup` will fail.
### Options
|Option|Default|Required|Notes|
|---|---|---|---|
|`-c` or `--create`||No|Creates the file if not present. If `--create` is not specified and the file is missing then the loop setup will obviously fail.|
|`-s` or `--size`|10|No|If `--create` was specified and the file is not present then this sets the size in MiB of the created file. The file will be filled from `/dev/zero`.|
|`-d` or `--dev`|`/dev/loop0`|No|Loop device which should be associated with the file.|
|`<file>`||**Yes**|The file to use as backing storage.|

View File

@@ -101,6 +101,14 @@ hostname and populate the `/run/config/ssh/authorized_keys` from metadata.
AWS userdata is extracted from `http://169.254.169.254/latest/user-data` and
and made available in `/run/config/userdata`.
## Hetzner
Hetzner metadata is reached via the following URL
(`http://169.254.169.254/latest/meta-data/`) and currently we extract the
hostname and populate the `/run/config/ssh/authorized_keys` from metadata.
Hetzner userdata is extracted from `http://169.254.169.254/latest/user-data` and
and made available in `/run/config/userdata`.
## HyperKit

View File

@@ -151,3 +151,27 @@ linuxkit pkg build -org=wombat -disable-content-trust -hash=foo push
and this will create `wombat/<image>:foo-<arch>` and
`wombat/<image>:foo` for use in your YAML files.
### Proxies
If you are building packages from behind a proxy, `linuxkit pkg build` respects
the following environment variables, and will set them as `--build-arg` to
`docker build` when building a package.
* `http_proxy` / `HTTP_PROXY`
* `https_proxy` / `HTTPS_PROXY`
* `ftp_proxy` / `FTP_PROXY`
* `no_proxy` / `NO_PROXY`
* `all_proxy` / `ALL_PROXY`
Note that the first four of these are the standard built-in `build-arg` options available
for `docker build`; see the [docker build documentation](https://docs.docker.com/v17.09/engine/reference/builder/#arg).
The last, `all_proxy`, is a standard var used for socks proxying. Since it is not built into `docker build`,
if you want to use it, you will need to add the following line to the dockerfile:
```dockerfile
ARG all_proxy
```
Linuxkit does not judge between lower-cased or upper-cased variants of these options, e.g. `http_proxy` vs `HTTP_PROXY`,
as `docker build` does not either. It just passes them through "as-is".

View File

@@ -47,7 +47,7 @@ With the image created, we can now create an instance.
You won't be able to see the serial console output until after it has terminated.
```
linuxkit run aws aws
linuxkit run aws -security-group "<security_group_id>" aws
```
You can edit the AWS example to allow you to SSH to your instance in order to use it.

View File

@@ -11,17 +11,7 @@ Supported (tested) versions of the relevant OpenStack APIs are:
## Authentication
LinuxKit's support for OpenStack handles two ways of providing the endpoint and authentication details. You can either set the standard set of environment variables and the commands detailed below will inherit those, or you can explicitly provide them on the command-line as options to `push` and `run`. The examples below use the latter, but if you prefer the former then you'll need to set the following:
```shell
OS_USERNAME="admin"
OS_PASSWORD="xxx"
OS_TENANT_NAME="linuxkit"
OS_AUTH_URL="https://keystone.com:5000/v3"
OS_USER_DOMAIN_NAME=default
OS_CACERT=/path/to/cacert.pem
OS_INSECURE=false
```
LinuxKit's support for OpenStack includes configuring access to your cloud as detailed in the official [os-client-config](https://docs.openstack.org/os-client-config/latest/user/configuration.html) documentation.
## Push
@@ -40,32 +30,17 @@ Images generated with Moby can be uploaded into OpenStack's image service with `
```shell
./linuxkit push openstack \
-authurl=https://keystone.example.com:5000/v3 \
-username=admin \
-password=XXXXXXXXXXX \
-project=linuxkit \
-img-name=LinuxKitTest
./linuxkit.iso
```
If successful, this will return the image's UUID. If you've set your environment variables up as described above, this command can then be simplified:
```shell
./linuxkit push openstack \
-img-name "LinuxKitTest" \
~/Desktop/linuxkitmage.qcow2
```
## Run
Virtual machines can be launched using `linuxkit run openstack`. As an example:
```shell
linuxkit run openstack \
-authurl https://keystone.example.com:5000/v3 \
-username=admin \
-password=xxx \
-project=linuxkit \
-flavor=hotdog
-keyname=deadline_ed25519 \
-sec-groups=allow_ssh,nginx \
-network c5d02c5f-c625-4539-8aed-1dab3aa85a0a \

View File

@@ -70,4 +70,11 @@ LinuxKit YAML file:
command: ["modprobe", "smsc95xx"]
```
For Raspberry Pi 3b+ use:
```
- name: netdev
image: linuxkit/modprobe:<hash>
command: ["modprobe", "lan78xx"]
```
**TODO:** Figure out why mdev is not loading the driver.

View File

@@ -3,14 +3,14 @@
This is a quick guide to run LinuxKit on Scaleway (only VPS x86_64 for now)
## Setup
Before you proceed it's recommanded that you set up the [Scaleway CLI](https://github.com/scaleway/scaleway-cli/)
and perform an `scw login`. This will create a `$HOME/.scwrc` file containing the required API token.
You can also use the `SCW_TOKEN` environment variable to set a Scaleway token.
The `-token` flag of the `linuxkit push scaleway` and `linuxkit run scaleway` can also be used.
You must create a Scaleway API Token (combination of Access and Secret Key), available at [Scaleway Console](https://console.scaleway.com/account/credentials), first.
Then you can use it either with the `SCW_ACCESS_KEY` and `SCW_SECRET_KEY` environment variables or the `-access-key` and `-secret-key` flags
of the `linuxkit push scaleway` and `linuxkit run scaleway` commands.
The environment variable `SCW_TARGET_REGION` is used to set the region (there is also the `-region` flag)
In addition, Organization ID value has to be set, either with the `SCW_DEFAULT_ORGANIZATION_ID` environment variable or the `-organization-id` command line flag.
The environment variable `SCW_DEFAULT_ZONE` is used to set the zone (there is also the `-zone` flag)
## Build an image
@@ -28,18 +28,18 @@ $ linuxkit build -format iso-efi examples/scaleway.yml
## Push image
You have to do `linuxkit push scaleway scaleway.iso` to upload it to your Scaleway images.
By default the image name is the name of the ISO file without the extension.
By default the image name is the name of the ISO file without the extension.
It can be overidden with the `-img-name` flag or the `SCW_IMAGE_NAME` environment variable.
**Note 1:** If an image (and snapshot) of the same name exists, it will be replaced.
**Note 2:** The image is region specific: if you create an image in `par1` you can't use is in `ams1`.
**Note 2:** The image is zone specific: if you create an image in `par1` you can't use is in `ams1`.
### Push process
Building a Scaleway image have a special process. Basically:
* Create an `image-builder` instance with an additional volume, based on Ubuntu Xenial (only x86_64 for now)
* Create an `image-builder` instance with an additional volume, based on Ubuntu Bionic (only x86_64 for now)
* Copy the ISO image on this instance
* Use `dd` to write the image on the additional volume (`/dev/vdb` by default)
* Terminate the instance, create a snapshot, and create an image from the snapshot

View File

@@ -20,11 +20,20 @@ stdio, providing interactive access to the VM.
## Disks
The Virtualbox backend support configuring a persistent disk using the
standard `linuxkit` `-disk` syntax. Multiple disks are
standard `linuxkit` `-disk` syntax. Multiple disks are
supported and can be created in `raw` format; other formats that VirtualBox
supports can be attached
supports can be attached. Note that additional drives are attached to the
SATA Controller, unlike the VM disk which is on the IDE Controller.
## Networking
You can select the networking mode, which defaults to the standard `nat`, but
some networking modes may require additional configuration.
You can select the networking mode, which defaults to the standard `nat`, by using the
`-networking` command-line option. Some networking modes (`hostonly`, `bridge`) will require
the additional `adapter` parameter to the `-networking` option:
~~~
-networking hostonly,adapter=vboxnet0
~~~
You can specify more than one `-networking` option to setup multiple adapters. It is
recommended to setup the first adapter as `nat`.

View File

@@ -208,7 +208,7 @@ have been updates. Specifically:
- `pkg/cadvisor`: Check for [new releases](https://github.com/google/cadvisor/releases).
- `pkg/firmware` and `pkg/firmware-all`: Use latest commit from [here](https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git).
- `pkg/node_exporter`: Check for [new releases](https://github.com/prometheus/node_exporter/releases).
- `example/docker.yml`: Check [docker hub](https://hub.docker.com/r/library/docker/tags/) for the latest `dind` tags.
- Check [docker hub](https://hub.docker.com/r/library/docker/tags/) for the latest `dind` tags. and update `examples/docker.yml`, `examples/docker-for-mac.yml`, `examples/cadvisor.yml`, and `test/cases/030_security/000_docker-bench/test.yml` if necessary.
The build/push the packages:

View File

@@ -0,0 +1,71 @@
# Reproducible builds
We aim to make the outputs of `linuxkit build` reproducible, i.e. the
build artefacts should be bit-by-bit identical copies if invoked with
the same inputs and run with the same version of the `linuxkit`
command. See [this
document](https://reproducible-builds.org/docs/buy-in/) on why this
matters.
_Note, we do not (yet) aim to make `linuxkit pkg build` builds
reproducible._
## Current status
Currently, the following output formats provide reproducible builds:
- `tar` (Tested as part of the CI)
- `tar-kernel-initrd`
- `docker`
- `kernel+initrd` (Tested as part of the CI)
## Details
In general, `linuxkit build` lends itself for reproducible
builds. LinuxKit packages, used during `linuxkit build`, are (signed)
docker images. Packages are tagged with the content hash of the source
code (and optionally release version) and are typically only updated
if the source of the package changed (in which case the tag
changes). For all intents and purposes, when pulled by tag, the
contents of a packages should be bit-by-bit identical. Alternatively,
the digest of the package, in which case, the pulled image will always
be the same.
The first phase of the `linuxkit build` mostly untars and retars the
images of the packages to produce an tar file of the root filesystem.
This then serves as input for other output formats. During this first
phase, there are a number of things to watch out for to generate
reproducible builds:
- Timestamps of generated files. The `docker export` command, as well
as `linuxkit build` itself, creates a small number of files. The
`ModTime` for these files needs to be clamped to a fixed date
(otherwise the current time is used). Use the `defaultModTime`
variable to set the `ModTime` of created files to a specific time.
- Generated JSON files. `linuxkit build` generates a number of JSON
files by marshalling Go `struct` variables. Examples are the OCI
specification `config.json` and `runtime.json` files for
containers. The default Go `json.Marshal()` function seems to do a
reasonable good job in generating reproducible output from internal
structures, including for JSON objects. However, during `linuxkit
build` some of the OCI runtime spec fields are generated/modified
and care must be taken to ensure consistent ordering. For JSON
arrays (Go slices) it is best to sort them before Marshalling them.
Reproducible builds for the first phase of `linuxkit build` can be
tested using `-output tar` and comparing the output of subsequent
builds with tools like `diff` or the excellent
[`diffoscope`](https://diffoscope.org/).
The second phase of `linuxkit build` converts the intermediary `tar`
format into the desired output format. Making this phase reproducible
depends on the tools used to generate the output.
Builds, which produce ISO formats should probably be converted to use
[`go-diskfs`](https://github.com/diskfs/go-diskfs) before attempting
to make them reproducible.
For ideas on how to make the builds for other output formats
reproducible, see [this
page](https://reproducible-builds.org/docs/system-images/).

View File

@@ -22,7 +22,7 @@ docker run -it --rm \
-v $(pwd):/go/src/github.com/linuxkit/linuxkit \
-w /go/src/github.com/linuxkit/linuxkit/src/cmd/linuxkit \
--entrypoint /go/bin/vndr \
linuxkit/go-compile:e1204ce9921c1d45362a374e06be7234d3bf1184
linuxkit/go-compile:b1446b2ba407225011f97ae1dba0f512ae7f9b84
```
To update a single dependency:
@@ -32,7 +32,7 @@ docker run -it --rm \
-v $(pwd):/go/src/github.com/linuxkit/linuxkit \
-w /go/src/github.com/linuxkit/linuxkit/src/cmd/linuxkit \
--entrypoint /go/bin/vndr \
linuxkit/go-compile:e1204ce9921c1d45362a374e06be7234d3bf1184
linuxkit/go-compile:b1446b2ba407225011f97ae1dba0f512ae7f9b84
github.com/docker/docker
```

View File

@@ -1,24 +1,24 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:v0.6
image: linuxkit/metadata:v0.8
services:
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: sshd
image: linuxkit/sshd:v0.6
image: linuxkit/sshd:v0.8
binds:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
- name: nginx

View File

@@ -1,21 +1,21 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
services:
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
- name: sshd
image: linuxkit/sshd:v0.6
image: linuxkit/sshd:v0.8
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub

View File

@@ -1,37 +1,37 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: sysfs
image: linuxkit/sysfs:v0.6
image: linuxkit/sysfs:v0.8
- name: format
image: linuxkit/format:v0.6
image: linuxkit/format:v0.8
- name: mount
image: linuxkit/mount:v0.6
image: linuxkit/mount:v0.8
command: ["/usr/bin/mountie", "/var/lib/docker"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: ntpd
image: linuxkit/openntpd:v0.6
image: linuxkit/openntpd:v0.8
- name: docker
image: docker:17.10.0-ce-dind
image: docker:19.03.8-dind
capabilities:
- all
net: host
@@ -46,7 +46,7 @@ services:
- /etc/docker/daemon.json:/etc/docker/daemon.json
command: ["/usr/local/bin/docker-init", "/usr/local/bin/dockerd"]
- name: cadvisor
image: linuxkit/cadvisor:v0.6
image: linuxkit/cadvisor:v0.8
files:
- path: var/lib/docker
directory: true

View File

@@ -0,0 +1,49 @@
kernel:
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0"
init:
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: format
image: linuxkit/format:v0.8
command: ["/usr/bin/format", "/dev/sda"]
- name: mount
image: linuxkit/mount:v0.8
command: ["/usr/bin/mountie", "/dev/sda1", "/var/external"]
- name: loop
image: linuxkit/losetup:v0.8
command: ["/usr/bin/loopy", "--create", "/var/external/storage_file"]
- name: dm-crypt
image: linuxkit/dm-crypt:v0.8
command: ["/usr/bin/crypto", "crypt_loop_dev", "/dev/loop0"]
- name: mount
image: linuxkit/mount:v0.8
command: ["/usr/bin/mountie", "/dev/mapper/crypt_loop_dev", "/var/secure_storage"]
- name: bbox
image: busybox
command: ["sh", "-c", "echo 'secret things' >/var/secure_storage/secrets"]
binds:
- /var:/var
services:
- name: getty
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.8
files:
- path: etc/dm-crypt/key
# the below key is just to keep the example self-contained
# !!! provide a proper key for production use here !!!
contents: "abcdefghijklmnopqrstuvwxyz123456"
trust:
org:
- linuxkit

43
examples/dm-crypt.yml Normal file
View File

@@ -0,0 +1,43 @@
kernel:
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0"
init:
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: format
image: linuxkit/format:v0.8
command: ["/usr/bin/format", "/dev/sda"]
- name: dm-crypt
image: linuxkit/dm-crypt:v0.8
command: ["/usr/bin/crypto", "crypt_dev", "/dev/sda1"]
- name: mount
image: linuxkit/mount:v0.8
command: ["/usr/bin/mountie", "/dev/mapper/crypt_dev", "/var/secure_storage"]
- name: bbox
image: busybox
command: ["sh", "-c", "echo 'secret things' >/var/secure_storage/secrets"]
binds:
- /var:/var
services:
- name: getty
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.8
files:
- path: etc/dm-crypt/key
# the below key is just to keep the example self-contained
# !!! provide a proper key for production use here !!!
contents: "abcdefghijklmnopqrstuvwxyz123456"
trust:
org:
- linuxkit

View File

@@ -10,13 +10,13 @@ moment is to install a recent version of Docker for Mac.
To build it with the latest Docker CE:
```
$ linuxkit build docker-for-mac.yml
$ linuxkit build -format iso-efi docker-for-mac.yml
```
To run the VM with a 4G disk:
```
linuxkit run hyperkit -networking=vpnkit -vsock-ports=2376 -disk size=4096M -data-file ./metadata.json docker-for-mac
linuxkit run hyperkit -networking=vpnkit -vsock-ports=2376 -disk size=4096M -data-file ./metadata.json -iso -uefi docker-for-mac-efi
```
Where the file `./metadata.json` should contain the desired docker daemon
@@ -35,10 +35,10 @@ configuration, for example:
```
In another terminal you should now be able to access docker via the
socket `guest.00000947` in the state directory
(`docker-for-mac-state/` by default):
socket `guest.00000948` in the state directory
(`docker-for-mac-efi-state/` by default):
```
$ docker -H unix://docker-for-mac-state/guest.00000948 ps
$ docker -H unix://docker-for-mac-efi-state/guest.00000948 ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
```

View File

@@ -1,36 +1,36 @@
# This is an example for building the open source components of Docker for Mac
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyS0 page_poison=1"
init:
- linuxkit/vpnkit-expose-port:v0.6 # install vpnkit-expose-port and vpnkit-iptables-wrapper on host
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/vpnkit-expose-port:v0.8 # install vpnkit-expose-port and vpnkit-iptables-wrapper on host
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
# support metadata for optional config in /run/config
- name: metadata
image: linuxkit/metadata:v0.6
image: linuxkit/metadata:v0.8
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: sysfs
image: linuxkit/sysfs:v0.6
image: linuxkit/sysfs:v0.8
- name: binfmt
image: linuxkit/binfmt:v0.6
image: linuxkit/binfmt:v0.8
# Format and mount the disk image in /var/lib/docker
- name: format
image: linuxkit/format:v0.6
image: linuxkit/format:v0.8
- name: mount
image: linuxkit/mount:v0.6
image: linuxkit/mount:v0.8
command: ["/usr/bin/mountie", "/var/lib"]
# make a swap file on the mounted disk
- name: swap
image: linuxkit/swap:v0.6
image: linuxkit/swap:v0.8
command: ["/swap.sh", "--path", "/var/lib/swap", "--size", "1024M"]
# mount-vpnkit mounts the 9p share used by vpnkit to coordinate port forwarding
- name: mount-vpnkit
image: alpine:3.8
image: alpine:3.11
binds:
- /var/:/host_var:rbind,rshared
capabilities:
@@ -39,51 +39,51 @@ onboot:
command: ["sh", "-c", "mkdir -p /host_var/vpnkit/port && mount -v -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 port /host_var/vpnkit"]
# move logs to the mounted disk (this is a temporary fix until we can limit the log sizes)
- name: move-logs
image: alpine:3.8
image: alpine:3.11
binds:
- /var:/host_var
command: ["sh", "-c", "mv -v /host_var/log /host_var/lib && ln -vs /var/lib/log /host_var/log"]
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
# Enable acpi to shutdown on power events
- name: acpid
image: linuxkit/acpid:v0.6
image: linuxkit/acpid:v0.8
# Enable getty for easier debugging
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
# Run ntpd to keep time synchronised in the VM
- name: ntpd
image: linuxkit/openntpd:v0.6
image: linuxkit/openntpd:v0.8
# VSOCK to unix domain socket forwarding. Forwards guest /var/run/docker.sock
# to a socket on the host.
- name: vsudd
image: linuxkit/vsudd:v0.6
image: linuxkit/vsudd:v0.8
binds:
- /var/run:/var/run
command: ["/vsudd", "-inport", "2376:unix:/var/run/docker.sock"]
# vpnkit-forwarder forwards network traffic to/from the host via VSOCK port 62373.
# It needs access to the vpnkit 9P coordination share
- name: vpnkit-forwarder
image: linuxkit/vpnkit-forwarder:v0.6
image: linuxkit/vpnkit-forwarder:v0.8
binds:
- /var/vpnkit:/port
net: host
command: ["/vpnkit-forwarder", "-vsockPort", "62373"]
# Monitor for image deletes and invoke a TRIM on the container filesystem
- name: trim-after-delete
image: linuxkit/trim-after-delete:v0.6
image: linuxkit/trim-after-delete:v0.8
# When the host resumes from sleep, force a clock resync
- name: host-timesync-daemon
image: linuxkit/host-timesync-daemon:v0.6
image: linuxkit/host-timesync-daemon:v0.8
# Run dockerd with the vpnkit userland proxy from the vpnkit-forwarder container.
# Bind mounts /var/run to allow vsudd to connect to docker.sock, /var/vpnkit
# for vpnkit coordination and /run/config/docker for the configuration file.
- name: docker-dfm
image: docker:17.07.0-ce-dind
image: docker:19.03.8-dind
capabilities:
- all
net: host

View File

@@ -1,34 +1,34 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: sysfs
image: linuxkit/sysfs:v0.6
image: linuxkit/sysfs:v0.8
- name: format
image: linuxkit/format:v0.6
image: linuxkit/format:v0.8
- name: mount
image: linuxkit/mount:v0.6
image: linuxkit/mount:v0.8
command: ["/usr/bin/mountie", "/var/lib/docker"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
- name: ntpd
image: linuxkit/openntpd:v0.6
image: linuxkit/openntpd:v0.8
- name: docker
image: docker:18.06.0-ce-dind
image: docker:19.03.8-dind
capabilities:
- all
net: host

View File

@@ -1,28 +1,28 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:v0.6
image: linuxkit/metadata:v0.8
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: sshd
image: linuxkit/sshd:v0.6
image: linuxkit/sshd:v0.8
binds:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
- name: nginx

View File

@@ -1,25 +1,25 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
# to make insecure with passwordless root login, uncomment following lines
#env:
# - INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
files:
- path: etc/getty.shadow
# sample sets password for root to "abcdefgh" (without quotes)

39
examples/hetzner.yml Normal file
View File

@@ -0,0 +1,39 @@
kernel:
image: linuxkit/kernel:5.4.39
cmdline: console=ttyS1
ucode: intel-ucode.cpio
init:
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
- linuxkit/firmware:v0.8
onboot:
- name: rngd1
image: linuxkit/rngd:v0.8
command: ["/sbin/rngd", "-1"]
- name: sysctl
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:v0.8
command: ["/usr/bin/metadata", "hetzner"]
services:
- name: rngd
image: linuxkit/rngd:v0.8
- name: getty
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: sshd
image: linuxkit/sshd:v0.8
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub
mode: "0600"
optional: true
trust:
org:
- linuxkit

View File

@@ -1,16 +1,16 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
onshutdown:
- name: shutdown
@@ -18,7 +18,7 @@ onshutdown:
command: ["/bin/echo", "so long and thanks for all the fish"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
runtime:
@@ -30,7 +30,7 @@ services:
destination: writeable-host-etc
options: ["rw", "lowerdir=/etc", "upperdir=/run/hostetc/upper", "workdir=/run/hostetc/work"]
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: nginx
image: nginx:1.13.8-alpine
capabilities:

View File

@@ -1,47 +1,47 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: influxdb
image: influxdb:1.4
image: influxdb:1.7
net: host
capabilities:
- CAP_NET_BIND_SERVICE
- CAP_DAC_OVERRIDE
- name: kapacitor
image: kapacitor:1.4
image: kapacitor:1.5
net: host
capabilities:
- all
env:
- KAPACITOR_INFLUXDB_0_URLS_0=http://influxdb:8086
- name: telegraf
image: telegraf:1.4
image: telegraf:1.9
net: host
capabilities:
- all
- name: chronograf
image: chronograf:1.4
image: chronograf:1.7
net: host
capabilities:
- CAP_NET_BIND_SERVICE
- CAP_DAC_OVERRIDE
env:
- INFLUXDB_URL=http://localhost:8086
- KAPACITOR_URL=http://localhost:9092
- INFLUXDB_URL=http://127.0.0.1:8086
- KAPACITOR_URL=http://127.0.0.1:9092
trust:
org:
- linuxkit

View File

@@ -1,33 +1,33 @@
# Simple example of using an external logging service
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/memlogd:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
- linuxkit/memlogd:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
# Inside the getty type `/proc/1/root/usr/bin/logread -F` to follow the log
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
# A service which generates log messages for testing
- name: write-to-the-logs
image: alpine:3.8
image: alpine:3.11
command: ["/bin/sh", "-c", "while /bin/true; do echo hello $(date); sleep 1; done" ]
- name: write-and-rotate-logs
image: linuxkit/logwrite:v0.6
image: linuxkit/logwrite:v0.8
- name: kmsg
image: linuxkit/kmsg:v0.6
image: linuxkit/kmsg:v0.8
trust:
org:
- linuxkit

View File

@@ -1,17 +1,17 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
trust:

View File

@@ -1,21 +1,21 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
- name: node_exporter
image: linuxkit/node_exporter:v0.6
image: linuxkit/node_exporter:v0.8
trust:
org:
- linuxkit

View File

@@ -1,25 +1,25 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:v0.6
image: linuxkit/metadata:v0.8
command: ["/usr/bin/metadata", "openstack"]
services:
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: sshd
image: linuxkit/sshd:v0.6
image: linuxkit/sshd:v0.8
binds:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
- name: nginx

View File

@@ -5,10 +5,10 @@
# for arm64 then the 'ucode' line in the kernel section can be left
# out.
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyAMA0"
ucode: ""
onboot:
- name: modprobe
image: linuxkit/modprobe:v0.6
image: linuxkit/modprobe:v0.8
command: ["modprobe", "nicvf"]

View File

@@ -1,34 +1,34 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: console=ttyS1
ucode: intel-ucode.cpio
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/firmware:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
- linuxkit/firmware:v0.8
onboot:
- name: rngd1
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
command: ["/sbin/rngd", "-1"]
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:v0.6
image: linuxkit/metadata:v0.8
command: ["/usr/bin/metadata", "packet"]
services:
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: sshd
image: linuxkit/sshd:v0.6
image: linuxkit/sshd:v0.8
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub

View File

@@ -1,19 +1,19 @@
# Minimal YAML to run a redis server (used at DockerCon'17)
# connect: nc localhost 6379
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
# Currently redis:4.0.6-alpine has trust issue with multi-arch

View File

@@ -1,25 +1,25 @@
kernel:
image: linuxkit/kernel:4.14.58-rt
image: linuxkit/kernel:5.4.28-rt
cmdline: "console=tty0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
- name: open-vm-tools
image: linuxkit/open-vm-tools:v0.6
image: linuxkit/open-vm-tools:v0.8
- name: nginx
image: nginx:1.13.8-alpine
capabilities:

View File

@@ -1,29 +1,29 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0 root=/dev/vda"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: rngd1
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
command: ["/sbin/rngd", "-1"]
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:v0.6
image: linuxkit/metadata:v0.8
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
trust:
org:
- linuxkit

View File

@@ -1,28 +1,28 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: rngd1
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
command: ["/sbin/rngd", "-1"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
- name: sshd
image: linuxkit/sshd:v0.6
image: linuxkit/sshd:v0.8
files:
- path: root/.ssh/authorized_keys
source: ~/.ssh/id_rsa.pub

32
examples/static-ip.yml Normal file
View File

@@ -0,0 +1,32 @@
kernel:
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
onboot:
- name: ip
image: linuxkit/ip:v0.8
binds:
- /etc/ip:/etc/ip
command: ["ip", "-b", "/etc/ip/eth0.conf"]
services:
- name: getty
image: linuxkit/getty:v0.8
env:
- INSECURE=true
files:
- path: etc/ip/eth0.conf
contents: |
address add 10.10.1.225/24 dev eth0
link set eth0 up
route add default via 10.10.1.100 dev eth0
- path: etc/resolv.conf
contents: |
# domain test.local
nameserver 10.10.1.101
nameserver 10.10.1.100
trust:
org:
- linuxkit

View File

@@ -1,34 +1,34 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0 console=ttysclp0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: format
image: linuxkit/format:v0.6
image: linuxkit/format:v0.8
- name: mount
image: linuxkit/mount:v0.6
image: linuxkit/mount:v0.8
command: ["/usr/bin/mountie", "/var/external"]
- name: swap
image: linuxkit/swap:v0.6
image: linuxkit/swap:v0.8
# to use unencrypted swap, use:
# command: ["/swap.sh", "--path", "/var/external/swap", "--size", "1G"]
command: ["/swap.sh", "--path", "/var/external/swap", "--size", "1G", "--encrypt"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
trust:
org:
- linuxkit

View File

@@ -1,26 +1,26 @@
kernel:
image: linuxkit/kernel:4.9.38
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: tss
image: linuxkit/tss:v0.6
image: linuxkit/tss:v0.8
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
files:
- path: etc/getty.shadow
# sample sets password for root to "abcdefgh" (without quotes)

View File

@@ -1,23 +1,23 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
- name: nginx
image: nginx:1.13.8-alpine
capabilities:

View File

@@ -1,16 +1,16 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: mount-vpnkit
image: alpine:3.8
image: alpine:3.11
binds:
- /var/:/host_var:rbind,rshared
capabilities:
@@ -19,9 +19,9 @@ onboot:
command: ["sh", "-c", "mkdir /host_var/vpnkit && mount -v -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 port /host_var/vpnkit"]
services:
- name: sshd
image: linuxkit/sshd:v0.6
image: linuxkit/sshd:v0.8
- name: vpnkit-forwarder
image: linuxkit/vpnkit-forwarder:v0.6
image: linuxkit/vpnkit-forwarder:v0.8
binds:
- /var/vpnkit:/port
net: host

View File

@@ -1,17 +1,17 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
onboot:
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
services:
- name: vsudd
image: linuxkit/vsudd:v0.6
image: linuxkit/vsudd:v0.8
binds:
- /run/containerd/containerd.sock:/run/containerd/containerd.sock
command: ["/vsudd",

View File

@@ -1,28 +1,29 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=ttyS0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: metadata
image: linuxkit/metadata:v0.6
image: linuxkit/metadata:v0.8
command: ["/usr/bin/metadata", "vultr"]
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: sshd
image: linuxkit/sshd:v0.6
image: linuxkit/sshd:v0.8
binds:
- /run/config/ssh/authorized_keys:/root/.ssh/authorized_keys
- name: nginx

View File

@@ -1,19 +1,19 @@
kernel:
image: linuxkit/kernel:4.14.58
image: linuxkit/kernel:5.4.39
cmdline: "console=tty0 console=ttyS0 console=ttyAMA0"
init:
- linuxkit/init:v0.6
- linuxkit/runc:v0.6
- linuxkit/containerd:v0.6
- linuxkit/ca-certificates:v0.6
- linuxkit/init:v0.8
- linuxkit/runc:v0.8
- linuxkit/containerd:v0.8
- linuxkit/ca-certificates:v0.8
onboot:
- name: sysctl
image: linuxkit/sysctl:v0.6
image: linuxkit/sysctl:v0.8
- name: dhcpcd
image: linuxkit/dhcpcd:v0.6
image: linuxkit/dhcpcd:v0.8
command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
- name: wg0
image: linuxkit/ip:v0.6
image: linuxkit/ip:v0.8
net: new
binds:
- /etc/wireguard:/etc/wireguard
@@ -26,7 +26,7 @@ onboot:
bindNS:
net: /run/netns/wg0
- name: wg1
image: linuxkit/ip:v0.6
image: linuxkit/ip:v0.8
net: new
binds:
- /etc/wireguard:/etc/wireguard
@@ -40,12 +40,12 @@ onboot:
net: /run/netns/wg1
services:
- name: getty
image: linuxkit/getty:v0.6
image: linuxkit/getty:v0.8
env:
- INSECURE=true
net: /run/netns/wg1
- name: rngd
image: linuxkit/rngd:v0.6
image: linuxkit/rngd:v0.8
- name: nginx
image: nginx:1.13.8-alpine
net: /run/netns/wg0

View File

@@ -1,4 +1,4 @@
FROM linuxkit/alpine:6264e5b39af8eb1da7ffa4c05a7ccc597da01197 AS kernel-build
FROM linuxkit/alpine:e2391e0b164c57db9f6c4ae110ee84f766edc430 AS kernel-build
RUN apk add \
argp-standalone \
automake \
@@ -15,14 +15,14 @@ RUN apk add \
gnupg \
installkernel \
kmod \
libelf-dev \
libressl \
libressl-dev \
elfutils-dev \
linux-headers \
mpc1-dev \
mpfr-dev \
ncurses-dev \
openssl-dev \
patch \
rsync \
sed \
squashfs-tools \
tar \
@@ -30,21 +30,17 @@ RUN apk add \
xz-dev \
zlib-dev
# libunwind-dev pkg is missed from arm64 now, below statement will be removed if the pkg is available.
RUN [ $(uname -m) == x86_64 ] && apk add libunwind-dev || true
# libunwind-dev pkg is missing for s390x for now. Only install on other arch
RUN [ $(uname -m) != s390x ] && apk add libunwind-dev || true
ARG KERNEL_VERSION
ARG KERNEL_SERIES
ARG EXTRA
ARG DEBUG
ENV KERNEL_SOURCE=https://www.kernel.org/pub/linux/kernel/v4.x/linux-${KERNEL_VERSION}.tar.xz
ENV KERNEL_SHA256_SUMS=https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc
ENV KERNEL_PGP2_SIGN=https://www.kernel.org/pub/linux/kernel/v4.x/linux-${KERNEL_VERSION}.tar.sign
ENV WIREGUARD_VERSION=0.0.20180718
ENV WIREGUARD_SHA256="083c093a6948c8d38f92e7ea5533f9ff926019f24dc2612ea974851ed3e24705"
ENV WIREGUARD_URL=https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${WIREGUARD_VERSION}.tar.xz
ENV WIREGUARD_VERSION=1.0.20200506
ENV WIREGUARD_SHA256="98a99f2b825a82d57a7213e666f1ee4f7cc02bddb09bf4908b4b09447a8f121e"
ENV WIREGUARD_URL=https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${WIREGUARD_VERSION}.tar.xz
# We copy the entire directory. This copies some unneeded files, but
# allows us to check for the existence /patches-${KERNEL_SERIES} to
@@ -53,7 +49,12 @@ COPY / /
# Download and verify kernel
# PGP keys: 589DA6B1 (greg@kroah.com) & 6092693E (autosigner@kernel.org) & 00411886 (torvalds@linux-foundation.org)
RUN curl -fsSLO ${KERNEL_SHA256_SUMS} && \
RUN KERNEL_MAJOR=$(echo ${KERNEL_VERSION} | cut -d . -f 1) && \
KERNEL_MAJOR=v${KERNEL_MAJOR}.x && \
KERNEL_SOURCE=https://www.kernel.org/pub/linux/kernel/${KERNEL_MAJOR}/linux-${KERNEL_VERSION}.tar.xz && \
KERNEL_SHA256_SUMS=https://www.kernel.org/pub/linux/kernel/${KERNEL_MAJOR}/sha256sums.asc && \
KERNEL_PGP2_SIGN=https://www.kernel.org/pub/linux/kernel/${KERNEL_MAJOR}/linux-${KERNEL_VERSION}.tar.sign && \
curl -fsSLO ${KERNEL_SHA256_SUMS} && \
gpg2 -q --import keys.asc && \
gpg2 --verify sha256sums.asc && \
KERNEL_SHA256=$(grep linux-${KERNEL_VERSION}.tar.xz sha256sums.asc | cut -d ' ' -f 1) && \
@@ -64,6 +65,26 @@ RUN curl -fsSLO ${KERNEL_SHA256_SUMS} && \
gpg2 --verify linux-${KERNEL_VERSION}.tar.sign linux-${KERNEL_VERSION}.tar && \
cat linux-${KERNEL_VERSION}.tar | tar --absolute-names -x && mv /linux-${KERNEL_VERSION} /linux
RUN mkdir -p /out/src
WORKDIR /tmp
# Download Intel ucode, create a CPIO archive for it, and keep it in the build context
# so the firmware can also be referenced with CONFIG_EXTRA_FIRMWARE
ENV UCODE_REPO=https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files
ENV UCODE_COMMIT=microcode-20191115
RUN set -e && \
if [ $(uname -m) == x86_64 ]; then \
git clone ${UCODE_REPO} ucode && \
cd ucode && \
git checkout ${UCODE_COMMIT} && \
iucode_tool --normal-earlyfw --write-earlyfw=/out/intel-ucode.cpio ./intel-ucode && \
cp license /out/intel-ucode-license.txt && \
mkdir -p /lib/firmware && \
cp -rav ./intel-ucode /lib/firmware; \
fi
WORKDIR /linux
# Apply local specific patches if present
RUN set -e && \
@@ -84,12 +105,13 @@ RUN set -e && \
done; \
fi
RUN mkdir -p /out/src
# Save kernel source
RUN tar cJf /out/src/linux.tar.xz /linux
# Kernel config
# The s390x defconfig moved with 5.2.x
RUN case $(uname -m) in \
x86_64) \
KERNEL_DEF_CONF=/linux/arch/x86/configs/x86_64_defconfig; \
@@ -98,7 +120,11 @@ RUN case $(uname -m) in \
KERNEL_DEF_CONF=/linux/arch/arm64/configs/defconfig; \
;; \
s390x) \
KERNEL_DEF_CONF=/linux/arch/s390/defconfig; \
if [ -f /linux/arch/s390/defconfig ]; then \
KERNEL_DEF_CONF=/linux/arch/s390/defconfig; \
else \
KERNEL_DEF_CONF=/linux/arch/s390/configs/defconfig; \
fi; \
;; \
esac && \
cp /config-${KERNEL_SERIES}-$(uname -m) ${KERNEL_DEF_CONF}; \
@@ -112,11 +138,19 @@ RUN case $(uname -m) in \
fi && \
make defconfig && \
make oldconfig && \
if [ -z "${EXTRA}" ] && [ -z "${DEBUG}" ]; then diff .config ${KERNEL_DEF_CONF}; fi
if [ -z "${EXTRA}" ] && [ -z "${DEBUG}" ]; then diff -u .config ${KERNEL_DEF_CONF}; fi
# Kernel
RUN make -j "$(getconf _NPROCESSORS_ONLN)" KCFLAGS="-fno-pie" && \
RUN case $(uname -m) in \
s390x) \
KCFLAGS="-fno-pie -fPIC"; \
;; \
*) \
KCFLAGS="-fno-pie"; \
;; \
esac && \
make -j "$(getconf _NPROCESSORS_ONLN)" KCFLAGS="$KCFLAGS" && \
case $(uname -m) in \
x86_64) \
cp arch/x86_64/boot/bzImage /out/kernel; \
@@ -131,12 +165,14 @@ RUN make -j "$(getconf _NPROCESSORS_ONLN)" KCFLAGS="-fno-pie" && \
cp System.map /out && \
([ -n "${DEBUG}" ] && cp vmlinux /out || true)
# WireGuard
RUN curl -fsSL -o /wireguard.tar.xz "${WIREGUARD_URL}" && \
echo "${WIREGUARD_SHA256} /wireguard.tar.xz" | sha256sum -c - && \
cp /wireguard.tar.xz /out/src/ && \
tar -C / --one-top-level=wireguard --strip-components=2 -xJf /wireguard.tar.xz "WireGuard-${WIREGUARD_VERSION}/src" && \
make -j "$(getconf _NPROCESSORS_ONLN)" M="/wireguard" modules
# WireGuard (skip kernels which have it in tree)
RUN if [ ! -d /linux/drivers/net/wireguard ]; then \
curl -fsSL -o /wireguard.tar.xz "${WIREGUARD_URL}" && \
echo "${WIREGUARD_SHA256} /wireguard.tar.xz" | sha256sum -c - && \
cp /wireguard.tar.xz /out/src/ && \
tar -C / --one-top-level=wireguard --strip-components=2 -xJf /wireguard.tar.xz "wireguard-linux-compat-${WIREGUARD_VERSION}/src" && \
make -j "$(getconf _NPROCESSORS_ONLN)" M="/wireguard" modules; \
fi
# Modules and Device Tree binaries
RUN make INSTALL_MOD_PATH=/tmp/kernel-modules modules_install && \
@@ -174,28 +210,6 @@ RUN DVER=$(basename $(find /tmp/kernel-modules/lib/modules/ -mindepth 1 -maxdept
RUN printf "KERNEL_SOURCE=${KERNEL_SOURCE}\n" > /out/kernel-source-info
# perf
# Skip for 4.4.x (the compile is broken and tedious to fix) and 4.9.x (the
# compile broke with 4.9.93)
RUN if [ "${KERNEL_SERIES}" != "4.4.x" ] && [ "${KERNEL_SERIES}" != "4.9.x" ]; then \
mkdir -p /build/perf && \
make -C tools/perf LDFLAGS=-static O=/build/perf && \
strip /build/perf/perf && \
cp /build/perf/perf /out; \
fi
# Download Intel ucode and create a CPIO archive for it
ENV UCODE_URL=https://downloadmirror.intel.com/27776/eng/microcode-20180425.tgz
RUN set -e && \
if [ $(uname -m) == x86_64 ]; then \
cd /ucode && \
curl -fsSL -o microcode.tar.gz ${UCODE_URL} && \
md5sum -c intel-ucode-md5sums && \
tar xf microcode.tar.gz && \
rm -f intel-ucode/list && \
iucode_tool --normal-earlyfw --write-earlyfw=/out/intel-ucode.cpio ./intel-ucode && \
cp intel-ucode-license.txt /out; \
fi
FROM scratch
ENTRYPOINT []

121
kernel/Dockerfile.bcc Normal file
View File

@@ -0,0 +1,121 @@
ARG IMAGE
FROM ${IMAGE} as ksrc
FROM linuxkit/alpine:e2391e0b164c57db9f6c4ae110ee84f766edc430 AS build
RUN apk update && apk upgrade -a && \
apk add --no-cache \
argp-standalone \
autoconf \
automake \
bison \
build-base \
clang \
clang-dev \
clang-static \
cmake \
curl \
flex-dev \
fts-dev \
gettext-dev \
git \
iperf3 \
libedit-dev \
libtool \
llvm \
llvm-dev \
llvm-static \
luajit-dev \
m4 \
python \
zlib-dev \
&& true
RUN ln -s /usr/lib/cmake/llvm5/ /usr/lib/cmake/llvm && \
ln -s /usr/include/llvm5/llvm-c/ /usr/include/llvm-c && \
ln -s /usr/include/llvm5/llvm/ /usr/include/llvm
WORKDIR /build
COPY ./bcc.patches/ ./
RUN mv error.h /usr/include/ && \
mv cdefs.h /usr/include/sys/
ENV ELFUTILS_VERSION=0.165
ENV ELFUTILS_SHA256="a7fc9277192caaa5f30b47e8c0518dbcfd8c4a19c6493a63d511d804290ce972"
RUN curl -sSL -O https://fedorahosted.org/releases/e/l/elfutils/0.165/elfutils-$ELFUTILS_VERSION.tar.bz2 && \
echo "${ELFUTILS_SHA256} /build/elfutils-$ELFUTILS_VERSION.tar.bz2" | sha256sum -c - && \
tar xjf elfutils-$ELFUTILS_VERSION.tar.bz2 && \
cd elfutils-$ELFUTILS_VERSION && \
patch -p1 < ../100-musl-compat.patch && \
patch -p0 < ../decl.patch && \
patch -p0 < ../intl.patch
ENV BCC_COMMIT=0fa419a64e71984d42f107c210d3d3f0cc82d59a
RUN git clone https://github.com/iovisor/bcc.git && \
cd bcc && \
git checkout $BCC_COMMIT
ENV LJSYSCALL_COMMIT=e587f8c55aad3955dddab3a4fa6c1968037b5c6e
RUN git clone https://github.com/justincormack/ljsyscall.git && \
cd ljsyscall && \
git checkout $LJSYSCALL_COMMIT
COPY --from=ksrc /kernel-headers.tar /build
COPY --from=ksrc /kernel-dev.tar /build
COPY --from=ksrc /kernel.tar /build
RUN tar xf /build/kernel-headers.tar && \
tar xf /build/kernel-dev.tar && \
tar xf /build/kernel.tar
RUN cd elfutils-$ELFUTILS_VERSION && \
aclocal && \
automake && \
./configure --prefix=/usr CFLAGS="-Wno-strict-aliasing -Wno-error" && \
make -C libelf && make -C libelf install
RUN mkdir -p bcc/build && cd bcc/build && \
cmake .. -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_C_FLAGS="-I/build/usr/include" \
-DCMAKE_CXX_FLAGS="-I/build/usr/include" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLUAJIT_INCLUDE_DIR=/usr/include/luajit-2.1 && \
make && \
make install
RUN mkdir -p /usr/local/share/lua/5.1/ && \
cd ljsyscall && \
cp -a *.lua syscall /usr/local/share/lua/5.1/
RUN mkdir -p /out/usr/ && \
cp -a /build/usr/src /out/usr/ && \
cp -a /build/usr/include /out/usr
RUN mkdir -p /out/usr/lib && \
cp -a /usr/lib/libelf* /out/usr/lib/ && \
cp -a /usr/lib/libstdc* /out/usr/lib/ && \
cp -a /usr/lib/libintl* /out/usr/lib/ && \
cp -a /usr/lib64/* /out/usr/lib/
RUN mkdir -p /out/usr/lib/python2.7 && \
cp -a /usr/lib/python2.7/site-packages /out/usr/lib/python2.7/
RUN mkdir -p /out/usr/share && \
cp -a /usr/share/bcc /out/usr/share/
RUN mkdir -p /out/usr/bin && \
cp -a /usr/bin/bcc-lua /out/usr/bin/
RUN mkdir -p /out/usr/local/share/ && \
cp -a /usr/local/share/lua /out/usr/local/share/
FROM linuxkit/alpine:e2391e0b164c57db9f6c4ae110ee84f766edc430 as mirror
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
RUN apk update && apk upgrade -a && \
apk add --no-cache --initdb -p /out \
busybox \
luajit \
python \
zlib \
&& true
FROM scratch
ENTRYPOINT []
CMD []
WORKDIR /
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib64
COPY --from=mirror /out /
COPY --from=build /out /

View File

@@ -1,4 +1,4 @@
FROM linuxkit/alpine:6264e5b39af8eb1da7ffa4c05a7ccc597da01197 AS kernel-build
FROM linuxkit/alpine:e2391e0b164c57db9f6c4ae110ee84f766edc430 AS kernel-build
RUN apk add \
argp-standalone \
bison \
@@ -6,7 +6,10 @@ RUN apk add \
curl \
diffutils \
flex \
gmp-dev \
libarchive-tools \
mpc1-dev \
mpfr-dev \
ncurses-dev \
patch \
xz
@@ -18,9 +21,11 @@ COPY / /
# Unpack kernels (download if not present)
RUN set -e && \
for VERSION in ${KERNEL_VERSIONS}; do \
MAJOR=$(echo ${VERSION} | cut -d . -f 1) && \
MAJOR=v${MAJOR}.x && \
echo "Downloading/Unpacking $VERSION" && \
KERNEL_SOURCE=https://www.kernel.org/pub/linux/kernel/v4.x/linux-${VERSION}.tar.xz && \
[ -f sources/linux-${VERSION}.tar.xz ] || curl -fSLo sources/linux-${VERSION}.tar.xz ${KERNEL_SOURCE} && \
KERNEL_SOURCE=https://www.kernel.org/pub/linux/kernel/${MAJOR}/linux-${VERSION}.tar.xz && \
[ -f sources/linux-${VERSION}.tar.xz ] || curl -fSLo sources/linux-${VERSION}.tar.xz --create-dirs ${KERNEL_SOURCE} && \
bsdtar xf sources/linux-${VERSION}.tar.xz; \
done
@@ -38,7 +43,13 @@ RUN set -e && \
fi && \
[ ! -f /config-${SERIES}-x86_64 ] || mv /config-${SERIES}-x86_64 arch/x86/configs/x86_64_defconfig && \
[ ! -f /config-${SERIES}-aarch64 ] || mv /config-${SERIES}-aarch64 arch/arm64/configs/defconfig ; \
[ ! -f /config-${SERIES}-s390x ] || mv /config-${SERIES}-s390x arch/s390/defconfig; \
if [ -f /config-${SERIES}-s390x ]; then \
if [ -f /linux/arch/s390/defconfig ]; then \
mv /config-${SERIES}-s390x arch/s390/defconfig; \
else \
mv /config-${SERIES}-s390x arch/s390/configs/defconfig; \
fi; \
fi; \
done
ENTRYPOINT ["/bin/sh"]

View File

@@ -1,10 +1,46 @@
# This Dockerfile extracts the perf utility from a kernel package and
# places it into a scratch image
# This Dockerfile extracts the source code and headers from a kernel package,
# builds the perf utility, and places it into a scratch image
ARG IMAGE
FROM ${IMAGE} AS kernel
FROM ${IMAGE} AS ksrc
FROM linuxkit/alpine:e2391e0b164c57db9f6c4ae110ee84f766edc430 AS build
RUN apk add \
argp-standalone \
bash \
bc \
binutils-dev \
bison \
build-base \
diffutils \
flex \
gmp-dev \
installkernel \
kmod \
elfutils-dev \
findutils \
mpc1-dev \
mpfr-dev \
python3 \
sed \
tar \
xz \
xz-dev \
zlib-dev \
zlib-static
COPY --from=ksrc /linux.tar.xz /kernel-headers.tar /
RUN tar xf linux.tar.xz && \
tar xf kernel-headers.tar
WORKDIR /linux
RUN mkdir -p /out && \
make -C tools/perf LDFLAGS=-static V=1 && \
strip tools/perf/perf && \
cp tools/perf/perf /out
FROM scratch
ENTRYPOINT []
CMD []
WORKDIR /
COPY --from=kernel /perf /usr/bin/perf
COPY --from=build /out/perf /usr/bin/perf

View File

@@ -1,6 +1,6 @@
ARG IMAGE
FROM ${IMAGE} AS ksrc
FROM linuxkit/alpine:6264e5b39af8eb1da7ffa4c05a7ccc597da01197 AS build
FROM linuxkit/alpine:e2391e0b164c57db9f6c4ae110ee84f766edc430 AS build
RUN apk add \
attr-dev \
autoconf \
@@ -12,6 +12,7 @@ RUN apk add \
libtool \
mpc1-dev \
mpfr-dev \
openssl-dev \
util-linux-dev \
zlib-dev
@@ -22,17 +23,8 @@ RUN tar xf kernel-dev.tar
COPY --from=ksrc /kernel.tar /
RUN tar xf kernel.tar
# Note: ZFS and SPL commits must match. It's unclear how much the user
# space tools must match the kernel module version. The current zfs
# package on Alpine is 0.6.5.9. We pick 0.6.5.10 because it has
# support for 4.12 based kernels.
ENV VERSION=0.6.5.10
ENV SPL_REPO=https://github.com/zfsonlinux/spl.git
ENV SPL_COMMIT=spl-${VERSION}
RUN git clone ${SPL_REPO} && \
cd spl && \
git checkout ${SPL_COMMIT}
# SPL is part of the ZFS repo since 0.8.0 (https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.8.0)
ENV VERSION=0.8.1
ENV ZFS_REPO=https://github.com/zfsonlinux/zfs.git
ENV ZFS_COMMIT=zfs-${VERSION}
@@ -40,16 +32,10 @@ RUN git clone ${ZFS_REPO} && \
cd zfs && \
git checkout ${ZFS_COMMIT}
WORKDIR /spl
RUN ./autogen.sh && \
./configure && \
cd module && \
make && \
make install
WORKDIR /zfs
RUN ./autogen.sh && \
./configure --with-spl=/spl && \
./configure && \
./scripts/make_gitrev.sh && \
cd module && \
make -j "$(getconf _NPROCESSORS_ONLN)" && \
make install

View File

@@ -15,6 +15,7 @@
# Name and Org on Hub
ORG?=linuxkit
IMAGE:=kernel
IMAGE_BCC:=kernel-bcc
IMAGE_PERF:=kernel-perf
IMAGE_ZFS:=zfs-kmod
@@ -71,18 +72,13 @@ endif
KERNEL_VERSIONS=
.PHONY: fetch build push
.PHONY: build push
# Targets:
# fetch: Downloads the kernel sources into ./sources
# build: Builds all kernels
# push: Pushes and sign all tagged kernel images to hub
fetch:
build:
push:
sources:
mkdir -p $@
# A template for defining kernel build
# Arguments:
# $1: Full kernel version, e.g., 4.9.22
@@ -99,12 +95,10 @@ sources:
define kernel
ifeq ($(4),)
sources/linux-$(1).tar.xz: Makefile | sources
curl -fsSLo sources/linux-$(1).tar.xz https://www.kernel.org/pub/linux/kernel/v4.x/linux-$(1).tar.xz
KERNEL_VERSIONS+=$(1)
endif
build_$(2)$(3)$(4): Dockerfile Makefile $(wildcard patches-$(2)/*) $(wildcard config-$(2)*) config-dbg | sources
build_$(2)$(3)$(4): Dockerfile Makefile $(wildcard patches-$(2)/*) $(wildcard config-$(2)*) config-dbg
docker pull $(ORG)/$(IMAGE):$(1)$(3)$(4)-$(TAG)$(SUFFIX) || \
docker build \
--build-arg KERNEL_VERSION=$(1) \
@@ -114,7 +108,7 @@ build_$(2)$(3)$(4): Dockerfile Makefile $(wildcard patches-$(2)/*) $(wildcard co
$(LABELS) \
--no-cache -t $(ORG)/$(IMAGE):$(1)$(3)$(4)-$(TAG)$(SUFFIX) .
forcebuild_$(2)$(3)$(4): Dockerfile Makefile $(wildcard patches-$(2)/*) $(wildcard config-$(2)*) config-dbg | sources
forcebuild_$(2)$(3)$(4): Dockerfile Makefile $(wildcard patches-$(2)/*) $(wildcard config-$(2)*) config-dbg
docker build \
--build-arg KERNEL_VERSION=$(1) \
--build-arg KERNEL_SERIES=$(2) \
@@ -148,7 +142,6 @@ forcebuild: forcebuild_$(2)$(3)$(4)
push: push_$(2)$(3)$(4)
forcepush: forcepush_$(2)$(3)$(4)
show-tags: show-tag_$(2)$(3)$(4)
fetch: sources/linux-$(1).tar.xz
# 'docker build' with the FROM image supplied as --build-arg
# *and* with DOCKER_CONTENT_TRUST=1 currently does not work
@@ -156,8 +149,9 @@ fetch: sources/linux-$(1).tar.xz
# with DCT as part of the dependency on build_$(2)$(3)$(4) and then build
# with DOCKER_CONTENT_TRUST explicitly set to 0
ifneq ($(2), $(filter $(2),4.4.x 4.9.x))
# perf does not build out of the box for 4.4.x and 4.9.x
# Only build perf on x86 and latest LTS and stable kernels
ifeq ($(ARCH),x86_64)
ifeq ($(2), $(filter $(2),5.6.x 5.4.x))
build_perf_$(2)$(3)$(4): build_$(2)$(3)$(4)
docker pull $(ORG)/$(IMAGE_PERF):$(1)$(3)$(4)-$(TAG)$(SUFFIX) || \
DOCKER_CONTENT_TRUST=0 docker build -f Dockerfile.perf \
@@ -191,6 +185,46 @@ forcebuild: forcebuild_perf_$(2)$(3)$(4)
push: push_perf_$(2)$(3)$(4)
forcepush: forcepush_perf_$(2)$(3)$(4)
endif
endif
# Only build BCC on x86 and only on latest LTS and latest stable kernels.
ifeq ($(ARCH),x86_64)
ifeq ($(2), $(filter $(2),5.6.x 5.4.x))
build_bcc_$(2)$(3)$(4): build_$(2)$(3)$(4)
docker pull $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG)$(SUFFIX) || \
DOCKER_CONTENT_TRUST=0 docker build -f Dockerfile.bcc \
--build-arg IMAGE=$(ORG)/$(IMAGE):$(1)$(3)$(4)-$(TAG)$(SUFFIX) \
--no-cache $(LABEL) -t $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG)$(SUFFIX) .
forcebuild_bcc_$(2)$(3)$(4): build_$(2)$(3)$(4)
DOCKER_CONTENT_TRUST=0 docker build -f Dockerfile.bcc \
--build-arg IMAGE=$(ORG)/$(IMAGE):$(1)$(3)$(4)-$(TAG)$(SUFFIX) \
--no-cache $(LABEL) -t $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG)$(SUFFIX) .
push_bcc_$(2)$(3)$(4): build_bcc_$(2)$(3)$(4)
@if [ x"$(DIRTY)" != x ]; then echo "Your repository is not clean. Will not push image"; exit 1; fi
docker pull $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG)$(SUFFIX) || \
(docker push $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG)$(SUFFIX) && \
docker tag $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG)$(SUFFIX) $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)$(SUFFIX) && \
docker push $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)$(SUFFIX) && \
$(PUSH_MANIFEST) $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG) $(DOCKER_CONTENT_TRUST) && \
$(PUSH_MANIFEST) $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4) $(DOCKER_CONTENT_TRUST))
forcepush_bcc_$(2)$(3)$(4): forcebuild_bcc_$(2)$(3)$(4)
@if [ x"$(DIRTY)" != x ]; then echo "Your repository is not clean. Will not push image"; exit 1; fi
docker push $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG)$(SUFFIX) && \
docker tag $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG)$(SUFFIX) $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)$(SUFFIX) && \
docker push $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)$(SUFFIX) && \
$(PUSH_MANIFEST) $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4)-$(TAG) $(DOCKER_CONTENT_TRUST) && \
$(PUSH_MANIFEST) $(ORG)/$(IMAGE_BCC):$(1)$(3)$(4) $(DOCKER_CONTENT_TRUST)
build: build_bcc_$(2)$(3)$(4)
forcebuild: forcebuild_bcc_$(2)$(3)$(4)
push: push_bcc_$(2)$(3)$(4)
forcepush: forcepush_bcc_$(2)$(3)$(4)
endif
endif
ifeq ($(4),)
# ZFS does not compile against -dbg kernels because CONFIG_DEBUG_LOCK_ALLOC
@@ -218,25 +252,31 @@ endef
# Debug targets only for latest stable and LTS stable
#
ifeq ($(ARCH),x86_64)
$(eval $(call kernel,4.17.10,4.17.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.14.58,4.14.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.14.58,4.14.x,,-dbg))
$(eval $(call kernel,4.14.53,4.14.x,-rt,))
$(eval $(call kernel,4.9.115,4.9.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.4.144,4.4.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,5.6.11,5.6.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,5.4.39,5.4.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,5.4.39,5.4.x,,-dbg))
#$(eval $(call kernel,5.4.28,5.4.x,-rt,))
$(eval $(call kernel,4.19.121,4.19.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.14.179,4.14.x,$(EXTRA),$(DEBUG)))
else ifeq ($(ARCH),aarch64)
$(eval $(call kernel,4.17.10,4.17.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.14.58,4.14.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.14.53,4.14.x,-rt,))
$(eval $(call kernel,5.6.11,5.6.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,5.4.39,5.4.x,$(EXTRA),$(DEBUG)))
#$(eval $(call kernel,5.4.28,5.4.x,-rt,))
else ifeq ($(ARCH),s390x)
$(eval $(call kernel,4.17.10,4.17.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,4.14.58,4.14.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,5.6.11,5.6.x,$(EXTRA),$(DEBUG)))
$(eval $(call kernel,5.4.39,5.4.x,$(EXTRA),$(DEBUG)))
endif
# Target for kernel config
kconfig: | sources
kconfig:
ifeq (${KCONFIG_TAG},)
docker build --no-cache -f Dockerfile.kconfig \
--build-arg KERNEL_VERSIONS="$(KERNEL_VERSIONS)" \
-t linuxkit/kconfig .
else
docker build --no-cache -f Dockerfile.kconfig \
--build-arg KERNEL_VERSIONS="$(KERNEL_VERSIONS)" \
-t linuxkit/kconfig:${KCONFIG_TAG} .
endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 4.14.58 Kernel Configuration
# Linux/x86 4.14.179 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -250,6 +250,7 @@ CONFIG_SLAB_FREELIST_RANDOM=y
# CONFIG_SYSTEM_DATA_VERIFICATION is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_HOTPLUG_SMT=y
CONFIG_OPROFILE=y
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
CONFIG_HAVE_OPROFILE=y
@@ -289,6 +290,7 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
@@ -500,7 +502,7 @@ CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=128
# CONFIG_SCHED_SMT is not set
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
# CONFIG_PREEMPT_NONE is not set
@@ -611,15 +613,18 @@ CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
# CONFIG_X86_INTEL_MPX is not set
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
CONFIG_SECCOMP=y
CONFIG_HZ_100=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=100
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_KEXEC_FILE is not set
@@ -790,7 +795,8 @@ CONFIG_PCI_PASID=y
CONFIG_PCI_LABEL=y
# CONFIG_PCI_HYPERV is not set
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_ACPI is not set
CONFIG_HOTPLUG_PCI_ACPI=y
# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_SHPC=y
@@ -1079,7 +1085,7 @@ CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_IPVS=m
CONFIG_NETFILTER_XT_MATCH_L2TP=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
@@ -1121,7 +1127,7 @@ CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y
CONFIG_IP_VS=y
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12
@@ -1139,18 +1145,18 @@ CONFIG_IP_VS_PROTO_SCTP=y
#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_FO=y
CONFIG_IP_VS_OVF=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
#
# IPVS SH scheduler
@@ -1160,7 +1166,7 @@ CONFIG_IP_VS_SH_TAB_BITS=8
#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
# CONFIG_IP_VS_PE_SIP is not set
@@ -1202,7 +1208,7 @@ CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_CLUSTERIP=y
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
@@ -1254,27 +1260,27 @@ CONFIG_NF_TABLES_BRIDGE=y
CONFIG_NFT_BRIDGE_META=y
CONFIG_NFT_BRIDGE_REJECT=y
CONFIG_NF_LOG_BRIDGE=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
# CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=m
# CONFIG_NET_SCTPPROBE is not set
@@ -1394,10 +1400,10 @@ CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=m
CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y
CONFIG_HYPERV_VSOCKETS=y
CONFIG_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_HYPERV_VSOCKETS=m
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=m
@@ -1432,7 +1438,14 @@ CONFIG_NET_FLOW_LIMIT=y
# CONFIG_AF_KCM is not set
# CONFIG_STREAM_PARSER is not set
CONFIG_FIB_RULES=y
# CONFIG_WIRELESS is not set
CONFIG_WIRELESS=y
# CONFIG_CFG80211 is not set
# CONFIG_LIB80211 is not set
#
# CFG80211 needs to be enabled for MAC80211
#
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
CONFIG_NET_9P=y
@@ -1966,7 +1979,10 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_FEALNX is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NETRONOME is not set
CONFIG_NET_VENDOR_NETRONOME=y
CONFIG_NFP=m
CONFIG_NFP_APP_FLOWER=y
# CONFIG_NFP_DEBUG is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_ETHOC is not set
@@ -2052,7 +2068,28 @@ CONFIG_PPP_SYNC_TTY=m
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_USB_NET_DRIVERS is not set
# CONFIG_WLAN is not set
CONFIG_WLAN=y
# CONFIG_WIRELESS_WDS is not set
CONFIG_WLAN_VENDOR_ADMTEK=y
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K_PCI is not set
CONFIG_WLAN_VENDOR_ATMEL=y
CONFIG_WLAN_VENDOR_BROADCOM=y
CONFIG_WLAN_VENDOR_CISCO=y
CONFIG_WLAN_VENDOR_INTEL=y
CONFIG_WLAN_VENDOR_INTERSIL=y
# CONFIG_HOSTAP is not set
# CONFIG_PRISM54 is not set
CONFIG_WLAN_VENDOR_MARVELL=y
CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_WLAN_VENDOR_REALTEK=y
CONFIG_WLAN_VENDOR_RSI=y
CONFIG_WLAN_VENDOR_ST=y
CONFIG_WLAN_VENDOR_TI=y
CONFIG_WLAN_VENDOR_ZYDAS=y
CONFIG_WLAN_VENDOR_QUANTENNA=y
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
@@ -2169,6 +2206,7 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
@@ -2223,7 +2261,6 @@ CONFIG_HW_RANDOM_VIA=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_TPM=m
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not set
@@ -2934,7 +2971,6 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
@@ -3131,23 +3167,17 @@ CONFIG_XEN_HAVE_VPMU=y
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_ACERHDF is not set
# CONFIG_DELL_WMI is not set
# CONFIG_DELL_WMI_AIO is not set
# CONFIG_DELL_SMO8800 is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_HP_ACCEL is not set
# CONFIG_HP_WIRELESS is not set
# CONFIG_HP_WMI is not set
# CONFIG_SENSORS_HDAPS is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_ASUS_WIRELESS is not set
CONFIG_ACPI_WMI=y
CONFIG_WMI_BMOF=y
# CONFIG_PEAQ_WMI is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_INTEL_CHT_INT33FE is not set
# CONFIG_INTEL_HID_EVENT is not set
@@ -3155,8 +3185,6 @@ CONFIG_WMI_BMOF=y
CONFIG_INTEL_IPS=y
# CONFIG_INTEL_PMC_CORE is not set
# CONFIG_IBM_RTL is not set
CONFIG_MXM_WMI=y
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_PVPANIC is not set
@@ -3321,7 +3349,7 @@ CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
# CONFIG_GOOGLE_FIRMWARE is not set
@@ -3543,10 +3571,11 @@ CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
CONFIG_CIFS=y
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_POSIX is not set
# CONFIG_CIFS_ACL is not set
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
@@ -4207,6 +4236,7 @@ CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
# CONFIG_SGL_ALLOC is not set
# CONFIG_DMA_NOOP_OPS is not set
# CONFIG_DMA_VIRT_OPS is not set
CONFIG_CHECK_SIGNATURE=y

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

4354
kernel/config-4.19.x-x86_64 Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

4931
kernel/config-5.4.x-aarch64 Normal file

File diff suppressed because it is too large Load Diff

3694
kernel/config-5.4.x-s390x Normal file

File diff suppressed because it is too large Load Diff

4646
kernel/config-5.4.x-x86_64 Normal file

File diff suppressed because it is too large Load Diff

5017
kernel/config-5.6.x-aarch64 Normal file

File diff suppressed because it is too large Load Diff

3737
kernel/config-5.6.x-s390x Normal file

File diff suppressed because it is too large Load Diff

4698
kernel/config-5.6.x-x86_64 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,59 +0,0 @@
From 1f9863a3348be088896f745bca5cf5a31d1d2c96 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 11 Apr 2018 11:27:44 +0200
Subject: [PATCH 001/418] Revert mm/vmstat.c: fix vmstat_update() preemption
BUG
commit 97731753d44d5efcb95b994dc952c0e8195b3e96 upstream
This patch reverts commit c7f26ccfb2c3 ("mm/vmstat.c: fix
vmstat_update() preemption BUG").
Steven saw a "using smp_processor_id() in preemptible" message and
added a preempt_disable() section around it to keep it quiet. This is
not the right thing to do it does not fix the real problem.
vmstat_update() is invoked by a kworker on a specific CPU. This worker
it bound to this CPU. The name of the worker was "kworker/1:1" so it
should have been a worker which was bound to CPU1. A worker which can
run on any CPU would have a `u' before the first digit.
smp_processor_id() can be used in a preempt-enabled region as long as
the task is bound to a single CPU which is the case here. If it could
run on an arbitrary CPU then this is the problem we have an should seek
to resolve.
Not only this smp_processor_id() must not be migrated to another CPU but
also refresh_cpu_vm_stats() which might access wrong per-CPU variables.
Not to mention that other code relies on the fact that such a worker
runs on one specific CPU only.
Therefore I revert that commit and we should look instead what broke the
affinity mask of the kworker.
Cc: Steven J. Hill <steven.hill@cavium.com>
Cc: Tejun Heo <htejun@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
mm/vmstat.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/mm/vmstat.c b/mm/vmstat.c
index e085b13c572e..4bb13e72ac97 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1770,11 +1770,9 @@ static void vmstat_update(struct work_struct *w)
* to occur in the future. Keep on running the
* update worker thread.
*/
- preempt_disable();
queue_delayed_work_on(smp_processor_id(), mm_percpu_wq,
this_cpu_ptr(&vmstat_work),
round_jiffies_relative(sysctl_stat_interval));
- preempt_enable();
}
}
--
2.17.1

View File

@@ -1,127 +0,0 @@
From 0ff9e891f4b361a8909d6f062f5137f041d6adaa Mon Sep 17 00:00:00 2001
From: Boqun Feng <boqun.feng@gmail.com>
Date: Fri, 9 Mar 2018 14:56:28 +0800
Subject: [PATCH 002/418] rtmutex: Make rt_mutex_futex_unlock() safe for
irq-off callsites
Upstream commit 6b0ef92fee2a3189eba6d6b827b247cb4f6da7e9
When running rcutorture with TREE03 config, CONFIG_PROVE_LOCKING=y, and
kernel cmdline argument "rcutorture.gp_exp=1", lockdep reports a
HARDIRQ-safe->HARDIRQ-unsafe deadlock:
================================
WARNING: inconsistent lock state
4.16.0-rc4+ #1 Not tainted
--------------------------------
inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
takes:
__schedule+0xbe/0xaf0
{IN-HARDIRQ-W} state was registered at:
_raw_spin_lock+0x2a/0x40
scheduler_tick+0x47/0xf0
...
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&rq->lock);
<Interrupt>
lock(&rq->lock);
*** DEADLOCK ***
1 lock held by rcu_torture_rea/724:
rcu_torture_read_lock+0x0/0x70
stack backtrace:
CPU: 2 PID: 724 Comm: rcu_torture_rea Not tainted 4.16.0-rc4+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-20171110_100015-anatol 04/01/2014
Call Trace:
lock_acquire+0x90/0x200
? __schedule+0xbe/0xaf0
_raw_spin_lock+0x2a/0x40
? __schedule+0xbe/0xaf0
__schedule+0xbe/0xaf0
preempt_schedule_irq+0x2f/0x60
retint_kernel+0x1b/0x2d
RIP: 0010:rcu_read_unlock_special+0x0/0x680
? rcu_torture_read_unlock+0x60/0x60
__rcu_read_unlock+0x64/0x70
rcu_torture_read_unlock+0x17/0x60
rcu_torture_reader+0x275/0x450
? rcutorture_booster_init+0x110/0x110
? rcu_torture_stall+0x230/0x230
? kthread+0x10e/0x130
kthread+0x10e/0x130
? kthread_create_worker_on_cpu+0x70/0x70
? call_usermodehelper_exec_async+0x11a/0x150
ret_from_fork+0x3a/0x50
This happens with the following even sequence:
preempt_schedule_irq();
local_irq_enable();
__schedule():
local_irq_disable(); // irq off
...
rcu_note_context_switch():
rcu_note_preempt_context_switch():
rcu_read_unlock_special():
local_irq_save(flags);
...
raw_spin_unlock_irqrestore(...,flags); // irq remains off
rt_mutex_futex_unlock():
raw_spin_lock_irq();
...
raw_spin_unlock_irq(); // accidentally set irq on
<return to __schedule()>
rq_lock():
raw_spin_lock(); // acquiring rq->lock with irq on
which means rq->lock becomes a HARDIRQ-unsafe lock, which can cause
deadlocks in scheduler code.
This problem was introduced by commit 02a7c234e540 ("rcu: Suppress
lockdep false-positive ->boost_mtx complaints"). That brought the user
of rt_mutex_futex_unlock() with irq off.
To fix this, replace the *lock_irq() in rt_mutex_futex_unlock() with
*lock_irq{save,restore}() to make it safe to call rt_mutex_futex_unlock()
with irq off.
Fixes: 02a7c234e540 ("rcu: Suppress lockdep false-positive ->boost_mtx complaints")
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: "Paul E . McKenney" <paulmck@linux.vnet.ibm.com>
Link: https://lkml.kernel.org/r/20180309065630.8283-1-boqun.feng@gmail.com
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
kernel/locking/rtmutex.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index 65cc0cb984e6..940633c63254 100644
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -1616,11 +1616,12 @@ bool __sched __rt_mutex_futex_unlock(struct rt_mutex *lock,
void __sched rt_mutex_futex_unlock(struct rt_mutex *lock)
{
DEFINE_WAKE_Q(wake_q);
+ unsigned long flags;
bool postunlock;
- raw_spin_lock_irq(&lock->wait_lock);
+ raw_spin_lock_irqsave(&lock->wait_lock, flags);
postunlock = __rt_mutex_futex_unlock(lock, &wake_q);
- raw_spin_unlock_irq(&lock->wait_lock);
+ raw_spin_unlock_irqrestore(&lock->wait_lock, flags);
if (postunlock)
rt_mutex_postunlock(&wake_q);
--
2.17.1

View File

@@ -1,56 +0,0 @@
From 7b28fe258efc9f3d9dbac60f39826d57845ff991 Mon Sep 17 00:00:00 2001
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Date: Tue, 19 Sep 2017 15:36:42 -0700
Subject: [PATCH 003/418] rcu: Suppress lockdep false-positive ->boost_mtx
complaints
Upstream commit bcda31a2659497df39d6bedfbdf17498b4f4ac89
RCU priority boosting uses rt_mutex_init_proxy_locked() to initialize an
rt_mutex structure in locked state held by some other task. When that
other task releases it, lockdep complains (quite accurately, but a bit
uselessly) that the other task never acquired it. This complaint can
suppress other, more helpful, lockdep complaints, and in any case it is
a false positive.
This commit therefore switches from rt_mutex_unlock() to
rt_mutex_futex_unlock(), thereby avoiding the lockdep annotations.
Of course, if lockdep ever learns about rt_mutex_init_proxy_locked(),
addtional adjustments will be required.
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
kernel/rcu/tree_plugin.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 8b3102d22823..181e2487c8b8 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -31,11 +31,10 @@
#include <linux/smpboot.h>
#include <uapi/linux/sched/types.h>
#include "../time/tick-internal.h"
+#include "../locking/rtmutex_common.h"
#ifdef CONFIG_RCU_BOOST
-#include "../locking/rtmutex_common.h"
-
/*
* Control variables for per-CPU and per-rcu_node kthreads. These
* handle all flavors of RCU.
@@ -530,7 +529,7 @@ void rcu_read_unlock_special(struct task_struct *t)
/* Unboost if we were boosted. */
if (IS_ENABLED(CONFIG_RCU_BOOST) && drop_boost_mutex)
- rt_mutex_unlock(&rnp->boost_mtx);
+ rt_mutex_futex_unlock(&rnp->boost_mtx);
/*
* If this was the last task on the expedited lists,
--
2.17.1

View File

@@ -1,32 +0,0 @@
From e90c5da25d3a76acf44c248eb76fe0b6794174dd Mon Sep 17 00:00:00 2001
From: Mikulas Patocka <mpatocka@redhat.com>
Date: Fri, 10 Nov 2017 12:29:34 -0500
Subject: [PATCH 004/418] brd: remove unused brd_mutex
Upstream commit 15f7b41f70ddcca3b555bd0fdc7c8da7466b517e
Remove unused mutex brd_mutex. It is unused since the commit ff26956875c2
("brd: remove support for BLKFLSBUF").
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
drivers/block/brd.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/block/brd.c b/drivers/block/brd.c
index 2d7178f7754e..c1cf87718c2e 100644
--- a/drivers/block/brd.c
+++ b/drivers/block/brd.c
@@ -60,7 +60,6 @@ struct brd_device {
/*
* Look up and return a brd's page for a given sector.
*/
-static DEFINE_MUTEX(brd_mutex);
static struct page *brd_lookup_page(struct brd_device *brd, sector_t sector)
{
pgoff_t idx;
--
2.17.1

View File

@@ -1,44 +0,0 @@
From 36d6a35ae79ce5699704c987d3b4d3eb2de6e7db Mon Sep 17 00:00:00 2001
From: Christoffer Dall <christoffer.dall@linaro.org>
Date: Fri, 8 Sep 2017 07:07:13 -0700
Subject: [PATCH 005/418] KVM: arm/arm64: Remove redundant preemptible checks
Upstream commit 5a24575032971c5a9a4580417a791c427ebdb8e5
The __this_cpu_read() and __this_cpu_write() functions already implement
checks for the required preemption levels when using
CONFIG_DEBUG_PREEMPT which gives you nice error messages and such.
Therefore there is no need to explicitly check this using a BUG_ON() in
the code (which we don't do for other uses of per cpu variables either).
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
virt/kvm/arm/arm.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c
index 9bee849db682..0c5d846ba809 100644
--- a/virt/kvm/arm/arm.c
+++ b/virt/kvm/arm/arm.c
@@ -69,7 +69,6 @@ static DEFINE_PER_CPU(unsigned char, kvm_arm_hardware_enabled);
static void kvm_arm_set_running_vcpu(struct kvm_vcpu *vcpu)
{
- BUG_ON(preemptible());
__this_cpu_write(kvm_arm_running_vcpu, vcpu);
}
@@ -79,7 +78,6 @@ static void kvm_arm_set_running_vcpu(struct kvm_vcpu *vcpu)
*/
struct kvm_vcpu *kvm_arm_get_running_vcpu(void)
{
- BUG_ON(preemptible());
return __this_cpu_read(kvm_arm_running_vcpu);
}
--
2.17.1

View File

@@ -1,68 +0,0 @@
From c9e312daee80f74ba3e2b50da2ea33336f6846e8 Mon Sep 17 00:00:00 2001
From: Tejun Heo <tj@kernel.org>
Date: Tue, 9 Jan 2018 07:21:15 -0800
Subject: [PATCH 006/418] string: drop __must_check from strscpy() and restore
strscpy() usages in cgroup
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream commit 08a77676f9c5fc69a681ccd2cd8140e65dcb26c7
e7fd37ba1217 ("cgroup: avoid copying strings longer than the buffers")
converted possibly unsafe strncpy() usages in cgroup to strscpy().
However, although the callsites are completely fine with truncated
copied, because strscpy() is marked __must_check, it led to the
following warnings.
kernel/cgroup/cgroup.c: In function cgroup_file_name:
kernel/cgroup/cgroup.c:1400:10: warning: ignoring return value of strscpy, declared with attribute warn_unused_result [-Wunused-result]
strscpy(buf, cft->name, CGROUP_FILE_NAME_MAX);
^
To avoid the warnings, 50034ed49645 ("cgroup: use strlcpy() instead of
strscpy() to avoid spurious warning") switched them to strlcpy().
strlcpy() is worse than strlcpy() because it unconditionally runs
strlen() on the source string, and the only reason we switched to
strlcpy() here was because it was lacking __must_check, which doesn't
reflect any material differences between the two function. It's just
that someone added __must_check to strscpy() and not to strlcpy().
These basic string copy operations are used in variety of ways, and
one of not-so-uncommon use cases is safely handling truncated copies,
where the caller naturally doesn't care about the return value. The
__must_check doesn't match the actual use cases and forces users to
opt for inferior variants which lack __must_check by happenstance or
spread ugly (void) casts.
Remove __must_check from strscpy() and restore strscpy() usages in
cgroup.
Signed-off-by: Tejun Heo <tj@kernel.org>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Chris Metcalf <cmetcalf@ezchip.com>
[bigeasy: drop the cgroup.c hunk]
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
include/linux/string.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/string.h b/include/linux/string.h
index cfd83eb2f926..96115bf561b4 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -28,7 +28,7 @@ extern char * strncpy(char *,const char *, __kernel_size_t);
size_t strlcpy(char *, const char *, size_t);
#endif
#ifndef __HAVE_ARCH_STRSCPY
-ssize_t __must_check strscpy(char *, const char *, size_t);
+ssize_t strscpy(char *, const char *, size_t);
#endif
#ifndef __HAVE_ARCH_STRCAT
extern char * strcat(char *, const char *);
--
2.17.1

View File

@@ -1,180 +0,0 @@
From 5217a4b31298b5ff1082bd88e6ac8054780b6aaf Mon Sep 17 00:00:00 2001
From: Scott Wood <swood@redhat.com>
Date: Sun, 21 Jan 2018 03:28:54 -0600
Subject: [PATCH 007/418] iommu/amd: Use raw locks on atomic context paths
Upstream commit 27790398c2aed917828dc3c6f81240d57f1584c9
Several functions in this driver are called from atomic context,
and thus raw locks must be used in order to be safe on PREEMPT_RT.
This includes paths that must wait for command completion, which is
a potential PREEMPT_RT latency concern but not easily avoidable.
Signed-off-by: Scott Wood <swood@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
---
drivers/iommu/amd_iommu.c | 30 +++++++++++++++---------------
drivers/iommu/amd_iommu_init.c | 2 +-
drivers/iommu/amd_iommu_types.h | 4 ++--
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 10190e361a13..ff50337fe3ba 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -1056,9 +1056,9 @@ static int iommu_queue_command_sync(struct amd_iommu *iommu,
unsigned long flags;
int ret;
- spin_lock_irqsave(&iommu->lock, flags);
+ raw_spin_lock_irqsave(&iommu->lock, flags);
ret = __iommu_queue_command_sync(iommu, cmd, sync);
- spin_unlock_irqrestore(&iommu->lock, flags);
+ raw_spin_unlock_irqrestore(&iommu->lock, flags);
return ret;
}
@@ -1084,7 +1084,7 @@ static int iommu_completion_wait(struct amd_iommu *iommu)
build_completion_wait(&cmd, (u64)&iommu->cmd_sem);
- spin_lock_irqsave(&iommu->lock, flags);
+ raw_spin_lock_irqsave(&iommu->lock, flags);
iommu->cmd_sem = 0;
@@ -1095,7 +1095,7 @@ static int iommu_completion_wait(struct amd_iommu *iommu)
ret = wait_on_sem(&iommu->cmd_sem);
out_unlock:
- spin_unlock_irqrestore(&iommu->lock, flags);
+ raw_spin_unlock_irqrestore(&iommu->lock, flags);
return ret;
}
@@ -3620,7 +3620,7 @@ static struct irq_remap_table *get_irq_table(u16 devid, bool ioapic)
goto out_unlock;
/* Initialize table spin-lock */
- spin_lock_init(&table->lock);
+ raw_spin_lock_init(&table->lock);
if (ioapic)
/* Keep the first 32 indexes free for IOAPIC interrupts */
@@ -3679,7 +3679,7 @@ static int alloc_irq_index(u16 devid, int count)
if (!table)
return -ENODEV;
- spin_lock_irqsave(&table->lock, flags);
+ raw_spin_lock_irqsave(&table->lock, flags);
/* Scan table for free entries */
for (c = 0, index = table->min_index;
@@ -3702,7 +3702,7 @@ static int alloc_irq_index(u16 devid, int count)
index = -ENOSPC;
out:
- spin_unlock_irqrestore(&table->lock, flags);
+ raw_spin_unlock_irqrestore(&table->lock, flags);
return index;
}
@@ -3723,7 +3723,7 @@ static int modify_irte_ga(u16 devid, int index, struct irte_ga *irte,
if (!table)
return -ENOMEM;
- spin_lock_irqsave(&table->lock, flags);
+ raw_spin_lock_irqsave(&table->lock, flags);
entry = (struct irte_ga *)table->table;
entry = &entry[index];
@@ -3734,7 +3734,7 @@ static int modify_irte_ga(u16 devid, int index, struct irte_ga *irte,
if (data)
data->ref = entry;
- spin_unlock_irqrestore(&table->lock, flags);
+ raw_spin_unlock_irqrestore(&table->lock, flags);
iommu_flush_irt(iommu, devid);
iommu_completion_wait(iommu);
@@ -3756,9 +3756,9 @@ static int modify_irte(u16 devid, int index, union irte *irte)
if (!table)
return -ENOMEM;
- spin_lock_irqsave(&table->lock, flags);
+ raw_spin_lock_irqsave(&table->lock, flags);
table->table[index] = irte->val;
- spin_unlock_irqrestore(&table->lock, flags);
+ raw_spin_unlock_irqrestore(&table->lock, flags);
iommu_flush_irt(iommu, devid);
iommu_completion_wait(iommu);
@@ -3780,9 +3780,9 @@ static void free_irte(u16 devid, int index)
if (!table)
return;
- spin_lock_irqsave(&table->lock, flags);
+ raw_spin_lock_irqsave(&table->lock, flags);
iommu->irte_ops->clear_allocated(table, index);
- spin_unlock_irqrestore(&table->lock, flags);
+ raw_spin_unlock_irqrestore(&table->lock, flags);
iommu_flush_irt(iommu, devid);
iommu_completion_wait(iommu);
@@ -4361,7 +4361,7 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
if (!irt)
return -ENODEV;
- spin_lock_irqsave(&irt->lock, flags);
+ raw_spin_lock_irqsave(&irt->lock, flags);
if (ref->lo.fields_vapic.guest_mode) {
if (cpu >= 0)
@@ -4370,7 +4370,7 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
barrier();
}
- spin_unlock_irqrestore(&irt->lock, flags);
+ raw_spin_unlock_irqrestore(&irt->lock, flags);
iommu_flush_irt(iommu, devid);
iommu_completion_wait(iommu);
diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c
index 6fe2d0346073..e3cd81b32a33 100644
--- a/drivers/iommu/amd_iommu_init.c
+++ b/drivers/iommu/amd_iommu_init.c
@@ -1474,7 +1474,7 @@ static int __init init_iommu_one(struct amd_iommu *iommu, struct ivhd_header *h)
{
int ret;
- spin_lock_init(&iommu->lock);
+ raw_spin_lock_init(&iommu->lock);
/* Add IOMMU to internal data structures */
list_add_tail(&iommu->list, &amd_iommu_list);
diff --git a/drivers/iommu/amd_iommu_types.h b/drivers/iommu/amd_iommu_types.h
index f6b24c7d8b70..7521745dc2a5 100644
--- a/drivers/iommu/amd_iommu_types.h
+++ b/drivers/iommu/amd_iommu_types.h
@@ -406,7 +406,7 @@ extern bool amd_iommu_iotlb_sup;
#define IRQ_TABLE_ALIGNMENT 128
struct irq_remap_table {
- spinlock_t lock;
+ raw_spinlock_t lock;
unsigned min_index;
u32 *table;
};
@@ -488,7 +488,7 @@ struct amd_iommu {
int index;
/* locks the accesses to the hardware */
- spinlock_t lock;
+ raw_spinlock_t lock;
/* Pointer to PCI device of this IOMMU */
struct pci_dev *dev;
--
2.17.1

View File

@@ -1,38 +0,0 @@
From f139b736cc22cafcb207795386fe46e0a8fea151 Mon Sep 17 00:00:00 2001
From: Scott Wood <swood@redhat.com>
Date: Sun, 28 Jan 2018 14:22:19 -0600
Subject: [PATCH 008/418] iommu/amd: Don't use dev_data in
irte_ga_set_affinity()
Upstream commit 01ee04badefd296eb7a4430497373be9b7b16783
search_dev_data() acquires a non-raw lock, which can't be done
from atomic context on PREEMPT_RT. There is no need to look at
dev_data because guest_mode should never be set if use_vapic is
not set.
Signed-off-by: Scott Wood <swood@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
---
drivers/iommu/amd_iommu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index ff50337fe3ba..388ec5e98ef5 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -3863,10 +3863,8 @@ static void irte_ga_set_affinity(void *entry, u16 devid, u16 index,
u8 vector, u32 dest_apicid)
{
struct irte_ga *irte = (struct irte_ga *) entry;
- struct iommu_dev_data *dev_data = search_dev_data(devid);
- if (!dev_data || !dev_data->use_vapic ||
- !irte->lo.fields_remap.guest_mode) {
+ if (!irte->lo.fields_remap.guest_mode) {
irte->hi.fields.vector = vector;
irte->lo.fields_remap.destination = dest_apicid;
modify_irte_ga(devid, index, irte, NULL);
--
2.17.1

View File

@@ -1,122 +0,0 @@
From eec0129e06a60a46f1f09a329f850a248af0e4ea Mon Sep 17 00:00:00 2001
From: Scott Wood <swood@redhat.com>
Date: Wed, 14 Feb 2018 17:36:28 -0600
Subject: [PATCH 009/418] iommu/amd: Avoid locking get_irq_table() from atomic
context
Upstream commit df42a04b15f19a842393dc98a84cbc52b1f8ed49
get_irq_table() previously acquired amd_iommu_devtable_lock which is not
a raw lock, and thus cannot be acquired from atomic context on
PREEMPT_RT. Many calls to modify_irte*() come from atomic context due to
the IRQ desc->lock, as does amd_iommu_update_ga() due to the preemption
disabling in vcpu_load/put().
The only difference between calling get_irq_table() and reading from
irq_lookup_table[] directly, other than the lock acquisition and
amd_iommu_rlookup_table[] check, is if the table entry is unpopulated,
which should never happen when looking up a devid that came from an
irq_2_irte struct, as get_irq_table() would have already been called on
that devid during irq_remapping_alloc().
The lock acquisition is not needed in these cases because entries in
irq_lookup_table[] never change once non-NULL -- nor would the
amd_iommu_devtable_lock usage in get_irq_table() provide meaningful
protection if they did, since it's released before using the looked up
table in the get_irq_table() caller.
Rename the old get_irq_table() to alloc_irq_table(), and create a new
lockless get_irq_table() to be used in non-allocating contexts that WARNs
if it doesn't find what it's looking for.
Signed-off-by: Scott Wood <swood@redhat.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
---
drivers/iommu/amd_iommu.c | 29 ++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 388ec5e98ef5..e42992fcebca 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -3588,7 +3588,22 @@ static void set_dte_irq_entry(u16 devid, struct irq_remap_table *table)
amd_iommu_dev_table[devid].data[2] = dte;
}
-static struct irq_remap_table *get_irq_table(u16 devid, bool ioapic)
+static struct irq_remap_table *get_irq_table(u16 devid)
+{
+ struct irq_remap_table *table;
+
+ if (WARN_ONCE(!amd_iommu_rlookup_table[devid],
+ "%s: no iommu for devid %x\n", __func__, devid))
+ return NULL;
+
+ table = irq_lookup_table[devid];
+ if (WARN_ONCE(!table, "%s: no table for devid %x\n", __func__, devid))
+ return NULL;
+
+ return table;
+}
+
+static struct irq_remap_table *alloc_irq_table(u16 devid, bool ioapic)
{
struct irq_remap_table *table = NULL;
struct amd_iommu *iommu;
@@ -3675,7 +3690,7 @@ static int alloc_irq_index(u16 devid, int count)
if (!iommu)
return -ENODEV;
- table = get_irq_table(devid, false);
+ table = alloc_irq_table(devid, false);
if (!table)
return -ENODEV;
@@ -3719,7 +3734,7 @@ static int modify_irte_ga(u16 devid, int index, struct irte_ga *irte,
if (iommu == NULL)
return -EINVAL;
- table = get_irq_table(devid, false);
+ table = get_irq_table(devid);
if (!table)
return -ENOMEM;
@@ -3752,7 +3767,7 @@ static int modify_irte(u16 devid, int index, union irte *irte)
if (iommu == NULL)
return -EINVAL;
- table = get_irq_table(devid, false);
+ table = get_irq_table(devid);
if (!table)
return -ENOMEM;
@@ -3776,7 +3791,7 @@ static void free_irte(u16 devid, int index)
if (iommu == NULL)
return;
- table = get_irq_table(devid, false);
+ table = get_irq_table(devid);
if (!table)
return;
@@ -4094,7 +4109,7 @@ static int irq_remapping_alloc(struct irq_domain *domain, unsigned int virq,
return ret;
if (info->type == X86_IRQ_ALLOC_TYPE_IOAPIC) {
- if (get_irq_table(devid, true))
+ if (alloc_irq_table(devid, true))
index = info->ioapic_pin;
else
ret = -ENOMEM;
@@ -4355,7 +4370,7 @@ int amd_iommu_update_ga(int cpu, bool is_run, void *data)
if (!iommu)
return -ENODEV;
- irt = get_irq_table(devid, false);
+ irt = get_irq_table(devid);
if (!irt)
return -ENODEV;
--
2.17.1

View File

@@ -1,105 +0,0 @@
From 53ff4b0f4c2a4ae8eea46b71b11b9fc5a7d79a11 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 22 Mar 2018 16:22:34 +0100
Subject: [PATCH 010/418] iommu/amd: Turn dev_data_list into a lock less list
Upstream commit 779da73273fc4c4c6f41579a95e4fb7880a1720e
alloc_dev_data() adds new items to dev_data_list and search_dev_data()
is searching for items in this list. Both protect the access to the list
with a spinlock.
There is no need to navigate forth and back within the list and there is
also no deleting of a specific item. This qualifies the list to become a
lock less list and as part of this, the spinlock can be removed.
With this change the ordering of those items within the list is changed:
before the change new items were added to the end of the list, now they
are added to the front. I don't think it matters but wanted to mention
it.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
---
drivers/iommu/amd_iommu.c | 28 ++++++++++------------------
drivers/iommu/amd_iommu_types.h | 2 +-
2 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index e42992fcebca..1babecd37819 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -84,8 +84,7 @@
static DEFINE_RWLOCK(amd_iommu_devtable_lock);
/* List of all available dev_data structures */
-static LIST_HEAD(dev_data_list);
-static DEFINE_SPINLOCK(dev_data_list_lock);
+static LLIST_HEAD(dev_data_list);
LIST_HEAD(ioapic_map);
LIST_HEAD(hpet_map);
@@ -204,40 +203,33 @@ static struct dma_ops_domain* to_dma_ops_domain(struct protection_domain *domain
static struct iommu_dev_data *alloc_dev_data(u16 devid)
{
struct iommu_dev_data *dev_data;
- unsigned long flags;
dev_data = kzalloc(sizeof(*dev_data), GFP_KERNEL);
if (!dev_data)
return NULL;
dev_data->devid = devid;
-
- spin_lock_irqsave(&dev_data_list_lock, flags);
- list_add_tail(&dev_data->dev_data_list, &dev_data_list);
- spin_unlock_irqrestore(&dev_data_list_lock, flags);
-
ratelimit_default_init(&dev_data->rs);
+ llist_add(&dev_data->dev_data_list, &dev_data_list);
return dev_data;
}
static struct iommu_dev_data *search_dev_data(u16 devid)
{
struct iommu_dev_data *dev_data;
- unsigned long flags;
+ struct llist_node *node;
+
+ if (llist_empty(&dev_data_list))
+ return NULL;
- spin_lock_irqsave(&dev_data_list_lock, flags);
- list_for_each_entry(dev_data, &dev_data_list, dev_data_list) {
+ node = dev_data_list.first;
+ llist_for_each_entry(dev_data, node, dev_data_list) {
if (dev_data->devid == devid)
- goto out_unlock;
+ return dev_data;
}
- dev_data = NULL;
-
-out_unlock:
- spin_unlock_irqrestore(&dev_data_list_lock, flags);
-
- return dev_data;
+ return NULL;
}
static int __last_alias(struct pci_dev *pdev, u16 alias, void *data)
diff --git a/drivers/iommu/amd_iommu_types.h b/drivers/iommu/amd_iommu_types.h
index 7521745dc2a5..16b1404da58c 100644
--- a/drivers/iommu/amd_iommu_types.h
+++ b/drivers/iommu/amd_iommu_types.h
@@ -625,7 +625,7 @@ struct devid_map {
*/
struct iommu_dev_data {
struct list_head list; /* For domain->dev_list */
- struct list_head dev_data_list; /* For global dev_data_list */
+ struct llist_node dev_data_list; /* For global dev_data_list */
struct protection_domain *domain; /* Domain the device is bound to */
u16 devid; /* PCI Device ID */
u16 alias; /* Alias Device ID */
--
2.17.1

View File

@@ -1,68 +0,0 @@
From 1645ac08eb6be3c6b2900de419f578ed5f91ecf4 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 22 Mar 2018 16:22:35 +0100
Subject: [PATCH 011/418] iommu/amd: Split domain id out of
amd_iommu_devtable_lock
Upstream commit 2bc00180890427dcc092b2f2b0d03c904bcade29
domain_id_alloc() and domain_id_free() is used for id management. Those
two function share a bitmap (amd_iommu_pd_alloc_bitmap) and set/clear
bits based on id allocation. There is no need to share this with
amd_iommu_devtable_lock, it can use its own lock for this operation.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
---
drivers/iommu/amd_iommu.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 1babecd37819..250b6354fae5 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -82,6 +82,7 @@
#define AMD_IOMMU_PGSIZES ((~0xFFFUL) & ~(2ULL << 38))
static DEFINE_RWLOCK(amd_iommu_devtable_lock);
+static DEFINE_SPINLOCK(pd_bitmap_lock);
/* List of all available dev_data structures */
static LLIST_HEAD(dev_data_list);
@@ -1596,29 +1597,26 @@ static void del_domain_from_list(struct protection_domain *domain)
static u16 domain_id_alloc(void)
{
- unsigned long flags;
int id;
- write_lock_irqsave(&amd_iommu_devtable_lock, flags);
+ spin_lock(&pd_bitmap_lock);
id = find_first_zero_bit(amd_iommu_pd_alloc_bitmap, MAX_DOMAIN_ID);
BUG_ON(id == 0);
if (id > 0 && id < MAX_DOMAIN_ID)
__set_bit(id, amd_iommu_pd_alloc_bitmap);
else
id = 0;
- write_unlock_irqrestore(&amd_iommu_devtable_lock, flags);
+ spin_unlock(&pd_bitmap_lock);
return id;
}
static void domain_id_free(int id)
{
- unsigned long flags;
-
- write_lock_irqsave(&amd_iommu_devtable_lock, flags);
+ spin_lock(&pd_bitmap_lock);
if (id > 0 && id < MAX_DOMAIN_ID)
__clear_bit(id, amd_iommu_pd_alloc_bitmap);
- write_unlock_irqrestore(&amd_iommu_devtable_lock, flags);
+ spin_unlock(&pd_bitmap_lock);
}
#define DEFINE_FREE_PT_FN(LVL, FN) \
--
2.17.1

View File

@@ -1,56 +0,0 @@
From 37ded533c97f8424a00e051c4351ab2515717457 Mon Sep 17 00:00:00 2001
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 22 Mar 2018 16:22:36 +0100
Subject: [PATCH 012/418] iommu/amd: Split irq_lookup_table out of the
amd_iommu_devtable_lock
Upstream commit ea6166f4b83e9cfba1c18f46a764d50045682fe5
The function get_irq_table() reads/writes irq_lookup_table while holding
the amd_iommu_devtable_lock. It also modifies
amd_iommu_dev_table[].data[2].
set_dte_entry() is using amd_iommu_dev_table[].data[0|1] (under the
domain->lock) so it should be okay. The access to the iommu is
serialized with its own (iommu's) lock.
So split out get_irq_table() out of amd_iommu_devtable_lock's lock.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
---
drivers/iommu/amd_iommu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 250b6354fae5..2cedb0caec73 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -83,6 +83,7 @@
static DEFINE_RWLOCK(amd_iommu_devtable_lock);
static DEFINE_SPINLOCK(pd_bitmap_lock);
+static DEFINE_SPINLOCK(iommu_table_lock);
/* List of all available dev_data structures */
static LLIST_HEAD(dev_data_list);
@@ -3600,7 +3601,7 @@ static struct irq_remap_table *alloc_irq_table(u16 devid, bool ioapic)
unsigned long flags;
u16 alias;
- write_lock_irqsave(&amd_iommu_devtable_lock, flags);
+ spin_lock_irqsave(&iommu_table_lock, flags);
iommu = amd_iommu_rlookup_table[devid];
if (!iommu)
@@ -3665,7 +3666,7 @@ static struct irq_remap_table *alloc_irq_table(u16 devid, bool ioapic)
iommu_completion_wait(iommu);
out_unlock:
- write_unlock_irqrestore(&amd_iommu_devtable_lock, flags);
+ spin_unlock_irqrestore(&iommu_table_lock, flags);
return table;
}
--
2.17.1

Some files were not shown because too many files have changed in this diff Show More