Commit Graph

44 Commits

Author SHA1 Message Date
Rolf Neugebauer
4b50134bde kernel: Make the Docker Hub organisation configurable
For local testinf it is useful to store packages under a different
organisation on the hub (or indeed to select a different registry).
This is enabled by making the ORG configurable when calling make.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-16 16:28:16 +01:00
Rolf Neugebauer
5f5c27cbba kernel: Update to 4.11.1/4.10.16/4.9.28/4.4.68
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-15 10:34:02 +01:00
Rolf Neugebauer
d633913c92 kernel: Add initial support for the 4.11 kernel
This add a new version of the Hyper-V socket support based on
https://github.com/dcui/linux/commits/decui/hv_sock/next-20170504

Note, this changes the Linux side API to Hyper-V sockets as the
support is now based on the VMware/virtio socket implementation.
This means that the Address Family and the addressing changes.

Other patches from the 4.10 kernel are no longer needed as they
were already upstream.

The new Hyper-V socket code has not been tested, but the kernel
boots fine on HyperKit and Hyper-V.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 17:12:00 +01:00
Rolf Neugebauer
0a3cb6d8ce kernel: Update to 4.4.67/4.9.27/4.10.15
Note, the bugfix for the memory leak on a missing disk on Hyper-V
has been incorporated into 4.9 and 4.10 so has been removed from
our patch queue.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 10:39:09 +01:00
Rolf Neugebauer
566bb2a1f0 kernel: Update to 4.4.66/4.9.26/4.10.14
This also adds the cherry-picked commit f1c635b439a5c017 ("scsi: storvsc: Workaround
for virtual DVD SCSI version") from 4.11 for the 4.9 and 4.10 kernels. This commit
fixes a crash/memory leak on Hyper-V when no disk drives are attached and if one
boots of a CD-ROM drive.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 10:58:32 +01:00
Rolf Neugebauer
c9a123ba54 kernel: Update to 4.4.65
The 4.9 and 4.10 series did not get updates

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-02 15:20:04 +01:00
Rolf Neugebauer
f44421042e kernel: Fix DEBUG builds and add default debug targets/images
Building debug kernels (with additional run time checks and debugging)
was broken a few commits back. This adds back support for building debug
kernels.

In addition, it builds and uploads debug kernels for selected kernel
series (4.9.x LTS and latest stable). The tag for these kernels has
a "_dbg" suffix.

Update documentation.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-02 14:17:01 +01:00
Rolf Neugebauer
14b92b363a kernel: Update to 4.4.64/4.9.25/4.10.13
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-27 08:54:17 +01:00
Rolf Neugebauer
6dcb0c1c97 kernel: Update to 4.4.63/4.9.24/4.10.12
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-27 00:43:02 +01:00
Rolf Neugebauer
c2dbeaa932 kernel: Update to 4.4.62/4.9.23/4.10.11
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-26 23:38:59 +01:00
Rolf Neugebauer
43d981094d kernel: Rework the kernel build
- Use multi-stage builds
- Use a single Dockerfile for all kernels
  Kernel version and series are passed in as arguments
- Use a separate kernel config per kernel version
  These have been copied from kernel_config and ran
  through oldconfig to tidy them up
- Rename patch directories
- Refactor the Makefile to use a template
  - Allows building of all kernels without arguments to make
  - Use git tree hash as the image tag
  - Don't build the image if the tag already exists

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-26 22:29:47 +01:00
Ian Campbell
20cfa2af2c Switch fallback hostname to linuxkit-* from moby-*
This was missed when things were renamed.

The intention with this code was (apparently) to provide a (pseudo)unique
hostname in the case where something more specific was not provided (e.g. by
DHCP). Make this a little clearer by using '(none)' rather than 'linuxkit' as
the default, in the normal case this will be overwritten by something more
specific and if it isn't we will change it to something somewhat unique derived
from the MAC address (as before). nb: '(none)' is already used by Debian so I
think it is a safe choice as the sentinel value.

The use of both CONFIG_DEFAULT_HOSTNAME and the explicit /etc/hostname from
mkimage.sh is likely to be redundant in some cases, but neither seems to
completely cover all cases so keep both.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-04-25 14:09:38 +01:00
Rolf Neugebauer
648b6a8a57 kernel: Update to 4.10.10/4.9.22/4.4.61
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-13 23:32:39 -05:00
Rolf Neugebauer
b8b8307725 kernel: Push kernels to the linuxkit org
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-13 18:19:58 -05:00
Tycho Andersen
98666053fa kernel: remove unused makefile line
Going through some unrelated stuff and noticed this.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-04-13 15:26:40 -06:00
Rolf Neugebauer
85d6492d5d kernel: Use linuxkit images for compilingi/packaging the kernel
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-12 21:28:17 +01:00
Rolf Neugebauer
201f89de74 kernel: Update to 4.10.9/4.9.21/4.4.60
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-09 22:50:18 +01:00
Riyaz Faizullabhoy
53a7e096dd Sign and verify kernel image on make push
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-04-04 08:33:48 -07:00
Justin Cormack
7cb524029c Add support for AWS ENA network driver
This is a new PV style high performance network driver, added to
4.9 kernel, supporting 20Gb, see
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-03 11:14:34 +01:00
Rolf Neugebauer
43bd19620f kernel: Update to 4.10.8/4.9.20/4.4.59
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-03 11:05:10 +01:00
Ian Campbell
80b3f45973 kernel Enable support for RTL8139 NIC
This is the default NIC provided by virt-install, I think it is also pretty
common on other virtualisation platforms since both the drivers and the
emulation are pretty widespread (IIRC Xen HVM guests used to get this by
default, and may still do).

Personally I'd probably try and remember to switch to virtio (or even e1000) in
preference, but that's one more thing to do.

Bump the image number.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-03-31 15:54:27 +01:00
Rolf Neugebauer
730e11757c kernel: Update to 4.4.58/4.9.19/4.10.7
The 4.9.19/4.10.7 kernels include the fix for the VMBus
memory leak, so we don't need to carry these patches anymore.

The patches against 4.9.x/4.10.x now also all have added a
"Origin" line pointing to the git tree the patches were cherry
picked from.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-30 10:29:50 +01:00
Rolf Neugebauer
d10a41a70a kernel: Update to 4.9.18/4.10.6/4.4.57
For 4.9.18 and 4.10.6 cherry-picked the VMBus leak fix
from Linus' tree instead of char-misc.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-28 13:43:21 +01:00
Rolf Neugebauer
130e546fcf kernel: Update kernel to 4.4.45/4.9.17/4.10.5
In 4.10.5 and 4.9.17 include a fix for the VMBus memory leak,
cherry-picked from char-misc: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/commit/?h=char-misc-linus&id=5e030d5ce9d99a899b648413139ff65bab12b038

This patch was tested with the 4.10.5 kernel and the Hyper-V
Socket stress test. It was forwarded to stable@vger to be
included in one of the next stable releases.

Also remove the CPU ACCT revert as 17.03.1-rc1 is out and has a fix

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-23 17:20:30 +01:00
Rolf Neugebauer
e671d4664f kernel: Add initial support for 4.10.x kernels
Note, this also removes the LTS4.4 build options and replaces
it with a KERNEL= build option to select the kernel to build.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-20 13:50:27 +00:00
Rolf Neugebauer
56bb8a0617 kernel: Update kernel to 4.9.16/4.4.55
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-20 10:36:26 +00:00
Anil Madhavapeddy
778236fb39 kernel: activate the Mellanox network driver suite
This builds a family of drivers for various Mellonox
cards, sufficient to get a DHCP lease on packet.net
Type2/3 machines (see #1245).

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-03-17 16:10:30 +00:00
Rolf Neugebauer
158db9950d kernel: Make 'tag' the default target
This is a stop-gap to prevent accidental push of kernel
images to hub until we sort out doing this from CI.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-15 14:31:27 +00:00
Anil Madhavapeddy
38b2fff68b kernel: add igb and ixgb drivers, with vf variants
This lets us boot on packet.net machines and successfully gives
a DHCP lease when installed via iPXE.  See #1245

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-03-15 14:13:54 +00:00
Rolf Neugebauer
a1a45db3d5 kernel: Update kernels to 4.9.15/4.4.54
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-15 10:32:24 +00:00
Rolf Neugebauer
7185191736 kernel: Add the kernel version to the hub image
A given image is pushed to hub twice, once as
kernel:<kernel version>.<major version>.x and once as
kernel:<kernel version>.<major version>.<minor version>-<n>.

The latter is used to decide if a new kernel image is pushed to hub.

Most users should use the former to pick up the latest kernel.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-14 10:54:01 +00:00
Rolf Neugebauer
a968fcde4d kernel: Remove AUFS kernel
We default to overlay, so no need to carry AUFS patches and kernel.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-14 10:51:52 +00:00
Rolf Neugebauer
54cb00edd8 kernel: Pass kernel version as build-arg to docker
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-13 20:15:13 +00:00
Rolf Neugebauer
7020a2d975 kernel: Add Makefile to kernel build dependencies
This will also include it in the sha1 calculation

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-13 20:15:13 +00:00
Justin Cormack
edeaf1c7f6 Add back code to push kernel to hub
- Accidentally removed from top level Makefile, now in kernel Makefile.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-03-07 23:48:46 +00:00
Justin Cormack
f4a112dc21 Change kernel upload for new tooling
The mobylinux/kernel image now has the bzImage (no longer named vmlinuz64)
and a tarball of the files needed for the initrd, ie modules etc.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-20 15:54:02 +00:00
Justin Cormack
c6cfa0e4d3 Clean up kernel Makefile so it has no repetition
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-17 17:43:35 +00:00
Justin Cormack
3f81edee37 Move kernel directory to top level
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-04 09:17:16 +01:00
Justin Cormack
70d8143e48 move kernel under rest of build and pull through aufs tools
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-17 15:26:42 +00:00
Justin Cormack
fdeb106f3a Build aufs support
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-17 13:51:43 +00:00
Justin Cormack
d89b06a71f slim down kernel config some more; make it support modules, but not ship with any
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-11 15:43:14 +00:00
Justin Cormack
5e5e4b5549 fix kernel make clean
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2015-12-10 23:49:18 +00:00
Justin Cormack
8693ca9c64 remove -i option since pinata fixed
Signed-off-by: Justin Cormack <justin.cormack@unikernel.com>
2015-12-09 15:48:09 +00:00
Justin Cormack
33056820a4 Add a (non modular) upstream kernel build, for pinata alpha and general testing
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2015-12-02 10:17:51 +00:00