Commit Graph

54 Commits

Author SHA1 Message Date
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
Justin Cormack
6dc57f8817 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
7d13618c2c update to 4.1.20
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-30 17:02:22 +01:00
Justin Cormack
cbd7af5e1d 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
8c01f302cd 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
98b688817d update kernel to 4.1.19
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-10 11:22:34 +00:00
Justin Cormack
fa38e7c1b2 bump aufs patch
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-10 11:21:54 +00:00
Justin Cormack
11e0140e24 update kernel to 4.1.18
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-02-22 16:48:54 +00:00
Dave Tucker
2b5b1e64fa Clean up ARM builds
- Check in dtbs and give them their own directory
- Add cubieboard dtbs :)
- Remove hyper-v tools from arm Dockerfile

Signed-off-by: Dave Tucker <dt@docker.com>
2016-02-19 14:59:55 +00:00
Justin Cormack
e9bd1ad9cd bump aufs commit
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-02-12 17:03:16 -08:00
Justin Cormack
0008577f78 update kernel to 4.1.17
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-02-12 17:02:28 -08:00
Justin Cormack
ded0269f3d revert to debian - this is aufs issue and affects both anyway
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-01-22 14:15:59 +00:00
Justin Cormack
39e05c599e switch to Ubuntu for stable release with cross compilers as Debian broke
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2016-01-18 17:46:19 +00:00
Mindy Preston
554eb6ba26 fix qemu invocation for arm kernel
Download the correct dtb from debian when making a kernel and use it
when invoking qemu-system-arm.  Also, provide additional serial
parameters.
2016-01-14 14:23:57 +00:00
Justin Cormack
b20efa4991 Update kernel to 4.1.15
Add fix for https://github.com/docker/docker/issues/18180 with
aufs update.

Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2016-01-12 14:11:05 +00:00