Commit Graph

52 Commits

Author SHA1 Message Date
Justin Cormack
20250e5f41 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
457e44dbcc 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
4e2f887f40 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
bf29850d3c 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
4549970d55 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
de993ec0d9 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
3665ef0b82 reorder kernel Dockerfile
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-13 21:15:34 +01:00
Justin Cormack
ba40e0a33b 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
3d0cd1deca 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
0a6f4f6bf5 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
c51a0b831e Simplify kernel output and main Dockerfile
Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2016-09-12 16:02:07 +01:00
Justin Cormack
21a0c10707 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
069930f3a6 quieter kernel build
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-08-31 15:53:16 +01:00
Justin Cormack
c1e2418a16 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
5b527df37c 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
dce8e37a71 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
1163bf09be 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
9e5c86f006 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
dec4fb790f 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
1f4d6c0402 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
0bb80957bc 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
7cebdba16b typo
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-07-21 13:41:56 +01:00
David Sheets
a2269275b6 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
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
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
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
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
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
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
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
Nathan LeClaire
54c89599ce Cache kernel source download
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-04-27 22:45:17 +00: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
027be103c0 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
c69f65b5db bump aufs patch
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-03-10 11:21:54 +00:00
Justin Cormack
705d33afb8 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
2a6f32b164 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
d98db48c4d bump aufs commit
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-02-12 17:03:16 -08:00
Justin Cormack
053f1cba68 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
a106d4ecda 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
dd0cd99c4d 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
55bfabc8f2 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
5b3188cd0c 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
Justin Cormack
06821b12db initial changes towards building kernel for arm
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-30 18:33:07 +00:00
Justin Cormack
12db308469 switch to Debian unstable for kernel compiles, prep for arm cross compile
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-30 16:57:08 +00:00