Commit Graph

86 Commits

Author SHA1 Message Date
David Sheets
cdac4fde34 kernel: add vmlinux target to make kernel debugging easier
With this patch, it is easy to get an unstripped kernel object to use with
gdb.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-20 15:37:04 +01:00
Natanael Copa
47545dce55 improve kernel build makefile
- create an empty dummy file to indicate that docker image is built
- reuse same make rule to extract the different files from docker image
- make sure that we remove empty files on failure

This makes build more robust and improves parallelism.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-13 18:03:16 +02:00
Rolf Neugebauer
2171a2e471 kernel: Update to 4.4.15
patches from: https://github.com/rneugeba/linux-stable/tree/v4.4.15-moby

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-12 10:36:57 +01:00
David Sheets
dcfe76be64 linux: allow kernel module unloading
The ability to unload kernel modules helps with rapid development of kernel
modules or Moby-integrated functionality. It has no negative side effects
as far as I am aware.

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-11 11:48:46 -07:00
Justin Cormack
ab365e38a0 Merge pull request #255 from justincormack/e1000
add e1000 drivers, allows qemu default setup to find an ethernet, and…
2016-07-08 16:28:24 +01:00
Justin Cormack
7d605926f0 add e1000 drivers, allows qemu default setup to find an ethernet, and used frequently in emulated environments
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-08 16:26:16 +01:00
Rolf Neugebauer
6125e66e5c linux: properly update kernel patches to v4.4.14
When we updated from 4.4.10 to 4.4.14 we copied the patches over.
This changeset properly updates the patches so that they apply cleanly.
0039-VSOCK-do-not-disconnect-socket-when-peer-has-shutdow.patch was
removed as it made it into 4.4.14 already.

Compile tested only

For reference the patches were generated from:
https://github.com/rneugeba/linux-stable/tree/v4.4.14-moby

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-07-08 16:10:51 +01:00
Justin Cormack
cdad79e916 Updated kernel config
Remove one module, Xen ones not removeable. Make oldconfig.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-04 17:03:10 +01:00
Ian Campbell
209dd754bc Populate /lib/modules/uname -r
This is less to do with installing modules (which we generally don't expect to
use in Moby) but to populate /lib/modules/`uname -r`/modules.builtin which
turns:

    moby:~# modprobe ip_vs
    modprobe: FATAL: Module ip_vs not found in directory /lib/modules/4.4.14-moby
    moby:~# modprobe nf_nat
    modprobe: FATAL: Module nf_nat not found in directory /lib/modules/4.4.14-moby
    moby:~#

into:

    moby:~# modprobe ip_vs
    moby:~# modprobe nf_nat
    moby:~#

which reduces the amount noise in the logs, e.g. in docker.log:

time="2016-07-04T11:21:58Z" level=warning msg="Running modprobe nf_nat failed with message: `modprobe: WARNING: Module nf_nat not found in directory /lib/modules/4.4.14-moby`, error: exit status 1"

A fair number of these appear in the logs.

This also stops various tools logging about /lib/modules/`uname -r` not
existing (there was one in the boot log until recently I think)

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-04 15:44:48 +01:00
Justin Cormack
1d22f68e87 update linux to 4.4.14 and update aufs to 20160627
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-26 16:16:57 -07:00
Daniel Hiltgen
3479c8b3ac Add SATA disk support
Increase the number of hypervisors where Moby can run and detect
the disks.  With this change, I'm able to boot under KVM and see
the disk detected, formatted and mounted as expected.
2016-06-17 08:11:46 -07:00
Daniel Hiltgen
52b43e9482 Add support for console on tty1
When running moby under other hypervisors, requiring troubleshooting on
the serial port can be painful.  This change enables console support on
tty1 similar to the way prior boot2docker images worked.
2016-06-16 17:17:34 -07:00
Justin Cormack
7a9320b931 Kernel config for CDROM support (for Azure)
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-14 11:30:47 +01:00
Justin Cormack
3bd4a67fd7 Add CRIU support
Also enables expert so a bunch of other options showing

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 16:33:31 +01:00
Justin Cormack
50536e6aa7 update kernel to 4.4.13 and aufs to 20160613
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 15:06:25 +01:00
Ian Campbell
b8a7032161 Add || true to the docker rmi invocations in the clean target
Linux xargs calls the command with no arguments if it gets no inputs, which
`docker rmi` complains about. It provides -r / --no-run-if-empty to prevent
this but unfortunately this isn't supported on OSX.

Ignore errors from `docker rmi` so that `make clean` will keep going and clean
up later stuff.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-08 13:59:47 +01:00
Madhu Venugopal
e95675099f Enabling IPVS kernel configs to support built-in load-balancing
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-06-06 15:34:30 -07:00
Justin Cormack
c1d92b81df Merge pull request #177 from justincormack/ipvs
add ipvs conntrack and other missing net options
2016-06-06 23:18:19 +01:00
Justin Cormack
7eef3f032d add ipvs conntrack and other missing net options
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-06 23:17:44 +01:00
Justin Cormack
064ad486b1 update to linux 4.4.12 and aufs 20160530
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-06 23:05:41 +01:00
Rolf Neugebauer
9b0eee15f3 kernel: update kernel patches
Added a patch to reduce verbosity of vmbus for unknown GUIDs.
Thes happen on every Hyper-V socket connection.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-23 19:01:13 +01:00
Rolf Neugebauer
1a1ba74f48 kernel: update VMBus fix patch from MSFT
Also rebase patches to 4.4.10 (no code changes)

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-21 11:28:02 +01:00
Justin Cormack
a907297f2d update Linux to 4.4.11 stable release
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-20 10:21:52 -07:00
Rolf Neugebauer
56ab75386f kernel: enable VFAT and ISO9660 Filesystems in the kernel
DOS filesystems are handy for embedded development. ISO FS was
requested/suggested somewhere on a forum.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-19 10:35:53 +01:00
Justin Cormack
a4027a5ce9 Merge pull request #133 from rneugeba/vmbus-up
kernel: cherry-pick more VMBus patches, fix for yet another kernel crash
2016-05-17 08:01:20 -05:00
Natanael Copa
9ae4438222 update to kernel 4.4.10, aufs 20160516
Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-05-17 12:55:24 +02:00
Rolf Neugebauer
a720403140 kernel: cherry-pick more VMBus patches, fix for yet another kernel crash
These are most of the changes to channel.c and channel_mgmt.c from upstream.

They are needed to apply a proposed patch to fix yet another kernel crash
we reported. This patch is also included.

With these patches applied many thousand connections with random data and up
to 10 concurrent connections are sustained without kernel crashes.

This patch also updates the core Hyper-V socket support to v11 (which
also obsoletes the previous patch added to work around a kernel bug)

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-17 11:06:07 +01:00
Rolf Neugebauer
3a00fe3849 kernel: Fix Null pointer de-reference in af_hvsock code
The Hyper-V socket patch has a bug which was triggered by a race condition when
the client connected and then immediately closed the connection before the
server would call accept(). This caused a kernel crash.

This patch was discussed with Dexuan Cui <decui@microsoft.com>, the original
author of the Hyper-V socket support.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-15 12:59:55 +01:00
Rolf Neugebauer
2c98dd61c5 kernel: Update Hyper-V socket patch to v10
This required pulling in the Qualcom IPC patches as those changed
the socket family enumeration.

All other patches should be the same.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-13 16:14:19 +01:00
Justin Cormack
01e4366f7a add Intel 10g VF for AWS, other useful network options
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-10 11:01:48 +01:00
Justin Cormack
8657c8a7b3 update to kernel 4.4.9, aufs 20160509
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-10 10:54:01 +01:00
Justin Cormack
138f79c35b add Xen net device
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-07 10:15:10 +01:00
Justin Cormack
44e0a0c956 add xen blockdev support
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-06 17:45:17 +01:00
Ian Campbell
e3fdcc1435 Update vsock patch to version accepted upstream
No practical change, but adds the "cherry-picked from" to aid tracking. This
has also been queued for stable so will eventually show up in a 4.4.x and can
be dropped from here.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-05-06 10:57:50 +01:00
Justin Cormack
2d809c24fc add framebuffer console support
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-04 18:28:06 +01:00
Justin Cormack
c7dbdf1dfc add nfs client and server support, fix #117
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-04 13:24:48 +01:00
Ian Campbell
aed7f798b0 Add bugfix patch for partial AF_VSOCK shutdown
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-05-03 17:27:14 +01:00
Nathan LeClaire
54c89599ce Cache kernel source download
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-04-27 22:45:17 +00:00
Justin Cormack
100fd737ad Add a local prefix '-moby' to the kernel name
We are now using a custom kernel not unmodified upstream, so
best to identify it.

Also fix https://github.com/docker/pinata/issues/2153

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-26 12:25:56 +01:00
Justin Cormack
5c61ee27f3 Switch from busybox mdev to kernel devtmpfs
This is simpler, and as a by-product should resolve
https://github.com/docker/pinata/issues/1968
as it uses the now-more-correct loop device names
that newer util-linux expects.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-25 12:03:32 +01:00
Justin Cormack
4989d24c6b fix arm kernel build see #96
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-18 10:46:57 +01:00
Rolf Neugebauer
e4cff4a1e1 kernel,initrd: add CIFS to the kernel and cifs-utils to the initrd
Needed to enable SMB/CIFS mounts on Windows hosts

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-15 14:51:27 +01:00
Ian Campbell
1285fd4aa6 hyperv-socks: Backport patches.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-04-12 14:36:58 +01:00
Ian Campbell
c0113ed91e Update vsock patches
Upstream commit 598881800825 ("vsock: Fix blocking ops call in
prepare_to_wait") was subsequently reverted in 6f57e56a1527, which said:

    The commit reverted with this patch caused us to potentially miss wakeups.
    Since the condition is not checked between the prepare_to_wait and the
    schedule(), if a wakeup happens after the condition is checked but before
    the sleep happens, we will miss it. ( A description of the problem can be
    found here: http://www.makelinux.net/ldd3/chp-6-sect-2 ).

The underlying issue has been fixed instead with f7f9b5e7f8ec ("AF_VSOCK:
Shrink the area influenced by prepare_to_wait").

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-04-12 14:33:32 +01:00
Ian Campbell
a887fb110c Add VSOCK patches
These are WIP taken from git@github.com:stefanha/linux.git#vsock
(==4c9d2a6be1c6, using "cherry-pick -x") and correspond to RFC v5 of the
frontend patches posted in
http://thread.gmane.org/gmane.linux.kernel.virtualization/27455

There is no corresponding spec proposal update yet, but this set of patches
correspond (roughly) to addressing the feedback on v4 of the spec proposal
http://thread.gmane.org/gmane.comp.emulators.virtio.devel/1062.

kernel_config.arm modifications copied from x86, not tested.

Added /etc/kernel-patches/ directory to the image to be consumed by the
licensing.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-04-05 13:40:36 +01:00
Justin Cormack
8220f615f0 update to 4.4.6 stable kernel series
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 14:04:55 +01:00
Justin Cormack
e5c3789caa update to 4.1.20
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-30 17:02:22 +01:00
Justin Cormack
af7777c832 store source info for kernel and kernel patches in image for #45
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-18 13:53:26 +00:00
Justin Cormack
90b270b186 Debian unstable cannot currently compile Linux without segfaulting, revert to Ubuntu
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-15 10:32:17 +00:00
Justin Cormack
373375569a fix arm build, dtb files now checked in
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-11 13:48:59 +00:00