Commit Graph

68 Commits

Author SHA1 Message Date
Justin Cormack
ab5a4b580c update Linux to 4.4.31
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-12 16:30:44 +00:00
Justin Cormack
d81f00b125 Update kernel config
- remove unused graphics options
- move W^X test to debug kernel #685
- reboot on kernel panic fix #660

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-08 16:12:29 +00:00
Justin Cormack
5866d4a83b update Linux to 4.4.30
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-01 20:50:12 +00:00
Justin Cormack
50a64ac6c4 make curl fail on 404
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-01 13:58:02 +00:00
Justin Cormack
933cfbf2db Linux 4.4.29
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-31 13:12:43 +00:00
Justin Cormack
a2bb950d3f upgrade Linux to 2.4.28
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-28 14:09:20 +01:00
Justin Cormack
b2d6f54b9a Update to Linux 4.4.27
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-24 17:20:50 +01:00
Justin Cormack
b92ef47f94 Revert "kernel: update to 4.8.2"
This reverts commit 0808e359df.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-24 17:20:02 +01:00
Justin Cormack
0df11f9311 Revert "Update Linux kernel to 4.8.3"
This reverts commit 2f985f8306.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-24 17:19:30 +01:00
Justin Cormack
2a8c177f11 Revert "Linux 4.8.4"
This reverts commit 2db93ebbc7.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-24 17:19:12 +01:00
Justin Cormack
27790f5299 Linux 4.8.4
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-22 17:05:20 +01:00
Justin Cormack
d6195e4db0 Update Linux kernel to 4.8.3
Fix Dirty COW.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-21 09:35:09 +01:00
Justin Cormack
2409adfe0a update C build base images for Musl update
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-20 13:23:12 +01:00
Rolf Neugebauer
6983bb3e7a kernel: update to 4.8.2
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-10-18 16:23:33 +01:00
Justin Cormack
ca047291ff update to Linux 4.4.25
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-10-16 22:19:37 +01:00
Justin Cormack
e7b9428589 set -j on kernel build again
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-11 16:27:55 +01:00
Justin Cormack
a68ad29880 Update Linux to 4.4.24
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-08 13:48:29 +02:00
Justin Cormack
8de1b3d040 update kernel to 4.4.23
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-01 21:03:47 +01:00
Justin Cormack
e1454f0249 add ncurses to C build for menuconfig
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-01 18:26:38 +01:00
Justin Cormack
0214c41ff3 Use patched aufs-utils so can compile kernel with alpine
This is going to be submitted upstream.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-29 16:17:46 +01:00
Justin Cormack
a80281b5e9 Update Linux kernel to 4.4.22
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-26 00:01:53 +01:00
Rolf Neugebauer
593d3f907e linux: update kernel to 4.4.21
- removed some Hyper-V patches which were picked up
  between 4.4.20 and 4.4.21
- udate aufs

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-09-19 18:20:28 +01:00
Justin Cormack
654e47ad1c reorder kernel Dockerfile
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-13 21:15:34 +01:00
Justin Cormack
955aad6276 Use a random tag for Debian kernel build base
To store all the old images they need a different tag, so use a
random one.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-12 16:36:01 +01:00
Justin Cormack
35070c03f7 Use a base image for building kernel
As we do not have a simple way to hash Debian, use the Docker
sha256 until we switch to Alpine.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-12 16:36:01 +01:00
Justin Cormack
91fbb9c245 revert to debian for kernel build
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-12 16:36:01 +01:00
Justin Cormack
b392bf0a2e Simplify kernel output and main Dockerfile
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 16:02:07 +01:00
Justin Cormack
30275af07e Update kernel and aufs
- kernel 4.4.20
- aufs 20160905

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-07 22:51:51 +01:00
Justin Cormack
07bf4888c1 quieter kernel build
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-31 15:53:16 +01:00
Justin Cormack
69f290d28f Remove support for arm kernel build
See #449. Plan is to use upstream Alpine kernel for Arm, as
does not need vsock, hvsock or aufs.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-31 14:23:40 +01:00
Justin Cormack
3628e60d54 Update build containers to Ubuntu 16.10
Should update to Alpine in future.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-08-23 19:53:11 +01:00
Justin Cormack
32acad99a7 Update kernel and aufs
- Linux 4.4.19
- AUFS 20160822

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-22 11:05:07 +01:00
David Sheets
296d1e10c7 kernel: apply debug configuration to all kernels
Signed-off-by: David Sheets <dsheets@docker.com>
2016-08-10 17:08:07 +01:00
David Sheets
661c19649a kernel: add a Makefile DEBUG variable and a kernel_config for debugging
Signed-off-by: David Sheets <dsheets@docker.com>
2016-08-10 17:07:48 +01:00
Justin Cormack
55e15928ff Update kernel and aufs
- Linux 4.4.17
- AUFS 20160808

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-10 15:03:36 +01:00
Justin Cormack
e30cb91bce Update kernel to 4.4.16
This contains a lot of fixes for overlay.

Fix #374

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-29 16:21:24 +01:00
Natanael Copa
66ba586cac Move built kernel to arch specific subdir
We want be able to build kernels for different archs without that they
clash with each other so we but the generated files into an $arch subdir.

Signed-off-by: Natanael Copa <natanael.copa@docker.com>
2016-07-25 17:18:02 +02:00
Justin Cormack
ebca732d3d typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 13:41:56 +01:00
David Sheets
473765c04b kernel: apply the AUFS patch to integrate with lockdep
AUFS introduces new lockdep relations which are beyond the maximum variants
that lockdep ships with. Without this patch, AUFS triggers lockdep BUG sanity
checks and disables lockdep for the rest of the system.

The present value of the patch is:

```diff
aufs4.4 lockdep patch

diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
index c57e424..4153563 100644
--- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h
@@ -29,7 +29,7 @@ extern int lock_stat;
  */
 #define XXX_LOCK_USAGE_STATES		(1+3*4)

-#define MAX_LOCKDEP_SUBCLASSES		8UL
+#define MAX_LOCKDEP_SUBCLASSES		(8UL + 4)

 /*
  * NR_LOCKDEP_CACHING_CLASSES ... Number of classes
@@ -203,7 +203,7 @@ struct lock_chain {
 	u64				chain_key;
 };

-#define MAX_LOCKDEP_KEYS_BITS		13
+#define MAX_LOCKDEP_KEYS_BITS		(13 + 3)
 /*
  * Subtract one because we offset hlock->class_idx by 1 in order
  * to make 0 mean no class. This avoids overflowing the class_idx
diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h
index 51c4b24..fba7557 100644
--- a/kernel/locking/lockdep_internals.h
+++ b/kernel/locking/lockdep_internals.h
@@ -54,9 +54,9 @@ enum {
  * table (if it's not there yet), and we check it for lock order
  * conflicts and deadlocks.
  */
-#define MAX_LOCKDEP_ENTRIES	32768UL
+#define MAX_LOCKDEP_ENTRIES	(32768UL << 5)

-#define MAX_LOCKDEP_CHAINS_BITS	16
+#define MAX_LOCKDEP_CHAINS_BITS	(16 + 5)
 #define MAX_LOCKDEP_CHAINS	(1UL << MAX_LOCKDEP_CHAINS_BITS)

 #define MAX_LOCKDEP_CHAIN_HLOCKS (MAX_LOCKDEP_CHAINS*5)
@@ -65,7 +65,7 @@ enum {
  * Stack-trace: tightly packed array of stack backtrace
  * addresses. Protected by the hash_lock.
  */
-#define MAX_STACK_TRACE_ENTRIES	524288UL
+#define MAX_STACK_TRACE_ENTRIES	(524288UL << 5)

 extern struct list_head all_lock_classes;
 extern struct lock_chain lock_chains[];
```

Signed-off-by: David Sheets <dsheets@docker.com>
2016-07-20 16:08:00 +01:00
Rolf Neugebauer
9d5797cdd3 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
Justin Cormack
880966311c 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
7378c6e282 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
b39033bd09 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
Justin Cormack
7f99dffed7 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
Justin Cormack
6b5c0495f1 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
Justin Cormack
2dc7c66e0d 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
Natanael Copa
26ae4693e1 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
Justin Cormack
fe9e4f0f1a 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
Nathan LeClaire
6ade5f97e9 Cache kernel source download
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-04-27 22:45:17 +00:00
Ian Campbell
eb221b4d4f 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