Commit Graph

3937 Commits

Author SHA1 Message Date
Rolf Neugebauer
db2491cac3 kernel: Update to 4.11.5/4.9.32/4.4.72
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 13:14:54 -07:00
Magnus Skjegstad
e3a25bbf5b pkg/docker-ce: add vpnkit-expose-port
vpnkit-expose-port is the dockerd userland proxy used to expose
forwarding ports with vpnkit. This adds the binary to the image in
/usr/bin/vpnkit-expose-port, but does not enable it by default.

Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-06-15 19:48:30 +01:00
Rolf Neugebauer
ad3456d4d1 Merge pull request #2047 from rn/perf
Remove kernel-compile and add perf package
2017-06-15 11:42:27 -07:00
Justin Cormack
c2f2141473 Use the user's ssh key automatically in ssh examples
This requires moby tool update to support `~` in paths, but
makes everything much nicer.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-15 11:28:25 -07:00
Rolf Neugebauer
d48715cd8c Merge pull request #2037 from tych0/usermode-helper
add a static usermode helper
2017-06-15 11:26:41 -07:00
Rolf Neugebauer
1689dffe30 tools: Remove perf
It's not build as part of the kernel build.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:49:04 -07:00
Edward Vielmetti
9cb380f927 update with additional information
Add some details and links throughout, still work in progress.
2017-06-15 13:48:08 -04:00
Tycho Andersen
a4e0a594b1 add a static usermode helper
The binary is used in tandem with CONFIG_STATIC_USERMODEHELPER=y in 4.11+,
see the big comment in the binary for the current whitelist of binaries.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-15 10:39:52 -07:00
Rolf Neugebauer
41d7775835 doc: Update kernel doc on how to use the perf package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:39:32 -07:00
Rolf Neugebauer
0b6f1a72b6 kernel: Build a perf package for 4.11/4.9 kernels
Extract the perf binary from the kernel package and create
a new perf package for each kernel. The perf package uses the
same tags as the kernel package and only contains the perf
binary under /usr/bin. The perf package can be added to the
init section or included as a stage in a multi-stage build
for other packages.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:39:32 -07:00
Rolf Neugebauer
baf32846d8 kernel: Build the perf utility as part of the kernel build
The perf utility is somewhat kernel specific so might as well
compile it when we compile the kernel. The resulting binary
is statically linked (and stripped for size) and is added the
resulting kernel packages.

Although we add alpine packages such as libunwind and other,
it seems that the config detection code for perf/tools does
not detect them.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:39:32 -07:00
Rolf Neugebauer
06c857fb16 kernel: Fix perf compile on 4.11.x/4.9.x kernels
This cherry-picks 120010cb1eea151d38a3e66f5ffc79a0c3110292 ("tools build:
Add test for sched_getcpu()") which replaces a #ifdef based test with
a proper test for the sched_getcpu() function. The macro based condition
does not work on Alpine as it is conditional on GLIBC.

For 4.9 the cherry-pick needed some manual adjustment and also required
commit ef2c3e76d98dfb69a46d870b47656e8e5bac6e2b ("perf jit: Avoid returning
garbage for a ret variable")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:39:32 -07:00
Rolf Neugebauer
db78ab9879 tools: Remove kernel-compile. It's no longer used
projects are still using it, but it's still on hub so no
impact.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:39:32 -07:00
Rolf Neugebauer
45938186df kernel: Use the alpine base image to compile the kernel
Also add additional tools and libraries useful/needed for
compiling some of the ./tools in the kernel source.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:39:32 -07:00
Rolf Neugebauer
3fbc39996a tools: Update alpine base and add a few more packages
iAdd a bunch of packages which are useful for compiling
some of the tools shipped with the Linux kernel source code.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:39:32 -07:00
Riyaz Faizullabhoy
9d432095d0 Merge pull request #2044 from riyazdf/update-getty
Update getty image for setsid changes
2017-06-15 10:05:57 -07:00
Justin Cormack
d2278286ec Merge pull request #2042 from tych0/kernel-config-docs
Kernel config project docs
2017-06-15 18:17:26 +02:00
Riyaz Faizullabhoy
6dedac2fe9 Update getty image for setsid changes
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-06-15 09:16:12 -07:00
Justin Cormack
7cf06bb284 Merge pull request #2038 from rn/cold-plug
Support cold-plugging devices
2017-06-15 18:07:17 +02:00
Justin Cormack
ff3370a36f Merge pull request #2036 from deitch/fix-setsid-getty
copy setsid to setsidu so it does not get overwritten by busybox when…
2017-06-15 17:53:56 +02:00
Marcus van Dam
6df0fd616c
Enabling USB drivers on the 4.4.x, 4.9.x and 4.11.x kernels
Signed-off-by: Marcus van Dam <marcus@marcusvandam.nl>
2017-06-15 08:24:28 +02:00
Tycho Andersen
d9135b515c kernel config project: add a writeup
Add a writeup of how the kernel config project designed to behave when
migrating kernel versions.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-14 14:58:26 -07:00
Tycho Andersen
9757a33bf9 kernel config project: makeconfig.sh takes config as args
Instead of figuring out which config files to use inside of makeconfig.sh,
let's figure that out in the Dockerfile and pass them into the script.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-14 14:58:26 -07:00
Tycho Andersen
502c2c674f kernel-config: less special casing for PANIC_ON_OOPS
Instead of having a special case sed script, we can just put this in the
.debug config file, and have a special case when it's being checked.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-14 14:58:25 -07:00
Tycho Andersen
d14412810a kernel config project: s/x86/x86_64
Let's use the kernel machine architecture for this value.

Also remove a broken check. The "arch" binary on OSX outputs different
stuff than on linux. Since we don't need this check anyway  (the variable
is mostly to demonstrate how cross platform stuff would work, not to
actually do it yet), let's just remove the check.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-14 14:58:25 -07:00
Rolf Neugebauer
dfb4f292d3 Merge pull request #2040 from samoht/dhcp-rpc
sdk: replace custom transport protocol by Capnproto
2017-06-14 09:35:33 -07:00
Thomas Gazagnaire
eb2d2ee112 sdk: update the mirage-dhcp example to use latest parts
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 16:14:27 +01:00
Thomas Gazagnaire
fe86bad838 sdk: remove local fork of init package
The upstream init doesn't hardcode anything about dhcpcd anymore, so we can
just use it.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 16:13:52 +01:00
Thomas Gazagnaire
e76d6c09a4 sdk: fix dhcp's Dockerfile
The rootfs were containing way too much binaries and runc command where not
started in the correct directory.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 16:13:40 +01:00
Thomas Gazagnaire
6fb3820925 sdk: push images to miragesdk org on hub
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 12:09:02 +01:00
Thomas Gazagnaire
03cd4d6fd3 sdk: replace custom transport protocol by Capnproto
Initial patch by @talex5

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 11:43:27 +01:00
Avi Deitcher
42bf54de28 copy setsid to setsidu so it does not get overwritten by busybox when used in init, and ensure inittab is clean
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-06-14 13:22:18 +03:00
Riyaz Faizullabhoy
a914c0cd2b Merge pull request #2035 from tych0/shiftfs
projects: add shiftfs project
2017-06-13 16:00:01 -07:00
Rolf Neugebauer
90c441ef67 Update YAML files to new init
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-13 15:57:24 -07:00
Rolf Neugebauer
4e4efcd985 pkg: Add support for cold-plugged devices to init
mdev only supports hot-plug, ie devices which are added
after the kernel booted. For cold-plugged devices, ie devices
present when the kernel boots, we need to modprobe the drivers
differently. The additions to rc.init does just that.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-13 15:57:24 -07:00
Tycho Andersen
35292a63d5 fix typo
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-13 14:05:42 -06:00
Riyaz Faizullabhoy
c1950419ef Merge pull request #2032 from ijc/kubernetes
Small improvements to projects/kubernetes
2017-06-13 10:41:25 -07:00
Tycho Andersen
d29b2a909c projects: add shiftfs project
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-13 11:08:29 -06:00
Ian Campbell
e2eb17ef6c Only create qemu runner state dir if it is going to be used.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 17:22:08 +01:00
Ian Campbell
58d61d0846 tests: traverse directories before removing them during cleanup
Without `-depth` find will first `rm -rf foo` and then try to recurse into
`foo` resulting in `No such file or directory`.

With this the various `|| true` suffixes should no longer be required.

Lastly, in test/cases/040_packages/013_mkimage/test.sh cleanup any
`disk.qcow2*` detritus as well as the image itself.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 17:15:33 +01:00
Justin Cormack
fd00f19c59 Merge pull request #2030 from riyazdf/cve-4.9.31
docs: update security events with new kernels
2017-06-13 16:53:02 +02:00
Ian Campbell
13a94c7a3c Add metadata support to Qemu runner.
Based on the hyperkit runner's code.

project/kubernetes/boot.sh now works, although lack of network connectivity
between individual VMs remains an issue.

Also manually validated containerized operation with:

    rm -rf kube-node-0-state && ../../bin/linuxkit run qemu --containerized  -cpus 2 -mem 4096 -state kube-node-0-state -disk size=4G -data "foo bar" kube-node

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 11:08:53 +01:00
Ian Campbell
a09090e6cd Add state dir support to Qemu runner.
Modelled on the Hyperkit runner, for now only used for the disk.

This is one step closer to having project/kubernetes/boot.sh work on Linux.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 11:08:53 +01:00
Ian Campbell
c47b2c770c kubernetes: Create disk in state dir
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 11:08:44 +01:00
Ian Campbell
d4f601f6fb kubernetes: give each instance a specific state directory
In particular avoid all nodes sharing the same default directory.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 09:31:43 +01:00
Ian Campbell
ec2b56da5a kubernetes: Combine boot-{master,node}.sh into a single script
Easier to get a global view on what is happening.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 09:31:43 +01:00
Ian Campbell
4162cfb834 kubernetes: update to latest init
and add the getty container.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 09:31:43 +01:00
Riyaz Faizullabhoy
69b89869ea update security events with new kernels
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-06-12 14:52:33 -07:00
Edward Vielmetti
0a64fea181 [WIP} Packet platform docs
Work in progress to identify documentation needed for Packet as a linuxkit provider.
2017-06-12 16:37:13 -04:00
Anil Madhavapeddy
d310ebf44f Merge pull request #2029 from avsm/week-23-dev-report
reports: add week 23 dev report
2017-06-12 19:08:17 +01:00