752 Commits

Author SHA1 Message Date
Rolf Neugebauer
b294171311 kernel: Add the firmware to the result tarball
'make firmware_install' adds the firmware blobs creating
during the build to '/lib/firmware' in the result tarball.

This should be installed along with the kernel modules.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Rolf Neugebauer
6f81297da6 kernel: Enable RANDOMIZE_BASE on arm64 kernels as well
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Ian Campbell
a237b51511 Bump alpine base across the board.
By running:

    ./scripts/update-component-sha.sh --image linuxkit/alpine ad35b6ddbc70faa07e59a9d7dee7707c08122e8d

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 09:55:45 +01:00
Ian Campbell
13d11f49ba Rename "tag*" Makefile targets to "build*"
This better matches the `linuxkit pkg build` nomenclature.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:48:48 +01:00
Rolf Neugebauer
267017f484 Merge pull request #2568 from zx2c4/wireguard-bump
kernel/wireguard: version bump
2017-10-06 14:39:02 +01:00
Jason A. Donenfeld
c14e9e205b kernel/wireguard: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-06 03:42:57 +02:00
Rolf Neugebauer
06b09fb6a8 kernel: Update kernel to 4.13.5/4.9.53/4.4.90
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-05 12:01:12 +01:00
Rolf Neugebauer
ec06cfe69c kernel: Delete accidentally commit temporary files
Introduced with: fb98564e ("Add squashfs support to the kernel config")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-05 11:56:52 +01:00
Rolf Neugebauer
074541f79c Merge pull request #2551 from zx2c4/wireguard-bump
wireguard: version bump
2017-10-05 11:51:58 +01:00
Justin Cormack
fb98564ecc Add squashfs support to the kernel config
This is a useful read only filesystem for images that is efficient and
small as it supports compression.

For many use cases, when you are writing to media, it makes more sense than
using an initramfs as it does not require RAM, and it is more suitable for
disk media than ISO.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-10-03 15:09:27 +01:00
Rolf Neugebauer
d9bd133f58 kernel: Remove 4.12 kernel
4.12 has been EOLed:
http://lkml.iu.edu/hypermail/linux/kernel/1709.2/02589.html
Remove it and the related tests.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
6f535f866a kernel: Enable FORTIFY_SOURCE for 4.13 kernels
This new feature was disabled by default, enable it as it seems
sensible to have. From the documentation:
  Detect overflows of buffers in common string and memory functions
  where the compiler can determine and validate the buffer sizes.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
d0e55af229 kernel: Add support for 4.13 kernels
The patches from 4.12 applied cleanly, except for 81304747d9
("Drivers: hv: vmbus: Fix rescind handling"), which was already
in upstream so has been dropped from the patch series.

The kernel config is from 4.12 run through defconfig/oldconfig to
pick up any new defaults.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Rolf Neugebauer
6e540241c8 kernel: Update alpine base image for kernel builds
Since we are rebuilding the kernels might as well update the base

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-02 16:20:02 +01:00
Jason A. Donenfeld
43db718f14 wireguard: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-02 03:39:11 +02:00
Rolf Neugebauer
35fde3ec7d kernel: Update to 4.9.52/4.4.89
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-28 15:44:04 +01:00
Rolf Neugebauer
e75289e4e1 kernel: Update 4.12.x to latest VMBus/Hyper-V socket patches
Notie, the instructions added in: https://github.com/Microsoft/opengcs/pull/147
add a commit to revert another patch in this series. Instead of applying
c15d7f606f8 ("Revert "vmbus: destroy a hv_sock device only after the RESCIND_OFFER
is received"") we simply drop the orginal commit e37da6e7a52ea6 ("vmbus: destroy a
hv_sock device only after the RESCIND_OFFER is received") from our list.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-25 11:36:46 +01:00
Rolf Neugebauer
bd4723d1aa kernel: Update kernels to 4.12.14/4.9.51
While at it might as well update the alpine base...

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-20 12:13:26 +01:00
Rolf Neugebauer
f2a73dcd01 kernel: Enable HPSA and SMARTPQI SCSI driver modules
These drivers are for HPE SCSI cards and enabling them subsequently
enabled RAID_ATTRS and CHECK_SIGNATURE.

Only enabled for 4.9 and 4.12 kernels.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-20 11:59:06 +01:00
Jason A. Donenfeld
bd4775cf6f wireguard: version bump
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-09-19 03:43:14 +02:00
Rolf Neugebauer
ac18bbfda0 Merge pull request #2514 from matjohn2/zfs-depmod-fix
Ensure depmod is run on ZFS module builds (fixes ZFS modprobe)
2017-09-18 11:31:15 +01:00
Matt Johnson
fdc1c0edc8 Enable modprobe zfs by running depmod on the new kernel build.
Depmod in the zfs makefiles will never run as `/boot/` and relevant map files dont exist in our build environments.
Included style suggestions by @rn

Signed-off-by: Matt Johnson <matjohn2@cisco.com>
2017-09-18 08:55:17 +01:00
Rolf Neugebauer
7ba00c001b kernel: Update 4.12.x kernel patches
These are the recommended patches for 4.12 for Hyper-V sockets
and LCOW. Based on: https://github.com/Microsoft/opengcs/pull/138

This also includes a cherry-pick from upstream which fixes the
ext4/nvdimm/pax failures we have seen since 4.11.2.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-15 14:46:25 +01:00
Rolf Neugebauer
59782d502e kernel: Update to 4.12.13/4.9.50/4.4.88
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-14 17:19:43 +01:00
Rolf Neugebauer
3ed92e7497 kernel: Enable TASK_XACCT and TASK_IO_ACCOUNTING
This enables per task (IO) accounting which is useful
for monitoring IO activity and the like.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-12 11:47:05 +01:00
Rolf Neugebauer
7bc93a6c46 kernel: Update to 4,9.49/4.12.12
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-12 11:23:41 +01:00
Justin Cormack
ca4ee13fca Merge pull request #2499 from zx2c4/wireguard-bump
wireguard: bump to new snapshot with better RTS semantics
2017-09-11 20:51:34 +02:00
Jason A. Donenfeld
7fa39b172e wireguard: bump to new snapshot with better RTS semantics
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-09-11 18:46:07 +02:00
Rolf Neugebauer
5427147e3b kernel: Update to 4.12.11/4.9.48/4.4.87
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-08 14:44:44 +01:00
Rolf Neugebauer
c6af2f4d6b kernel: Update to 4.12.10
I must have missed the update earlier this week

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-08 14:08:04 +01:00
Rolf Neugebauer
8d45a96f34 kernel: Add zfs kmod build to the kernel build
This adds building the zfs-kmod package to the kernel build.
The zfs-kmod packages contains the matching ZFS kernel modules
for a given kernel in /lib/modules/$(uname -r)/extra.

The zfs-kmod package also contains the standard kernel modules
and depmod is run over them so that modprobe works

The zfs-kmod package is not build by default due to unclarity
about licenses. Users will have to build it themselves.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-06 15:32:12 +01:00
Rolf Neugebauer
c9ead45731 kernel: Add Dockerfile to compile the ZFS kernel module
Note this is not the latest ZFS version but the version matched
by the current alpine zfs utilities.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-06 15:32:12 +01:00
Rolf Neugebauer
6da35660a9 kernel: Update kernel build to latest alpine base
Since we have to recompile kernels, might as well.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-04 17:58:16 +01:00
Rolf Neugebauer
8ce9ead839 kernel: Enable CGROUP_RDMA and CGROUP_BPF for 4.12 kernels
These are new options introduced with 4.11.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-04 17:58:16 +01:00
Rolf Neugebauer
a8839d91db kernel: Enable ISCSI_TCP and DM_MULTIPATH for all kernels
These are enabled as modules and are useful for iSCSI storage backends.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-04 17:58:16 +01:00
Rolf Neugebauer
8be4a2b2c4 kernel: Update to 4.9.47/4.4.86
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-04 17:58:16 +01:00
Rolf Neugebauer
3fe863e8e6 kernel: Update kernels to 4.9.46/4.4.85
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
279d3f05bd kernel: Update to 4.4.84/4.9.45/4.12.9
Note, on x86_64 for 4.12.9 a new kernel option,
HARDLOCKUP_CHECK_TIMESTAMP was added which defaults to enabled. It enables
a low pass filter to compensate for perf based hard lockup detection.

Added this option to the x86_64 4.12.x kernel confog file.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
bdd4789598 kernel: Fix docker content trust for perf builds
Due to https://github.com/moby/moby/issues/34199 we can't supply
the FROM image via --build-arg and use DOCKER_CONTENT_TRUST=1 for build.

So we pull the image with DCT and then explicitly build it without.

This regression was introduced with 8b84baf2 ("kernel: Allow disabling content trust")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
7209afb758 kernel: Enable custom kernel config additions
For some use cases, we may want to add additional kernel
configuration options (e.g. when adding AUFS). This commit
enables it by:
- renaming DEBUG to EXTRA
- append kernel_config${EXTRA} to the kernel config
- allowing passing in an EXTRA argument to the make file

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 18:26:46 +01:00
Rolf Neugebauer
e75cf2f611 kernel: Use -dbg instead of _dbg as suffix for debug kernels
Otherwise we have a eird mixture of _ and - in the names.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 18:26:46 +01:00
Rolf Neugebauer
15d3ce25aa kernel: Add contents of ${DEBUG} to the LOCALVERSION
This way 'uname -r' will report something like
4.9.44-linuxkit_dbg on debug kernels.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 15:10:53 +01:00
Rolf Neugebauer
8b84baf226 kernel: Allow disabling content trust
specifying NOTRUST=1 on the make command line disables
content trust just like with packages.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 15:10:53 +01:00
Rolf Neugebauer
677bf96dff kernel: Fix warning about empty continuation
Without this change, recent Docker build produce this warning:
[WARNING]: Empty continuation line found in:
    RUN apk add     xz     xz-dev     zlib-dev &&     if [ $(uname -m) == x86_64 ]; then         apk add libunwind-dev;
    fi
[WARNING]: Empty continuation lines will become errors in a future release.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-24 11:06:28 +01:00
Rolf Neugebauer
cc67c08667 kernel: Add kernel config and build support for 4.12 kernels
- The x86_64 kernel config was derived from our 4.11 config
  and then adjusted with the recent changes
- The arm64 kernel config was derived from the 4.9 config

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
6fc9a32c15 kernel: Add patches for the 4.12 kernel
The VMBus/Hyper-V socket patches were partly taken from the now
defunct 4.11 tree and partly form the WIP 4.12 tree at:
https://github.com/dcui/linux/commits/decui/msft-4.12.y

From the 4.11 tree:
- 0001-tools-build-Add-test-for-sched_getcpu.patch
  Does not apply, may not be needed anymore to compile perf
- 0002-vmbus-vmbus_open-reset-onchannel_callback-on-error.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0003-vmbus-add-the-matching-tasklet_enable-in-vmbus_close.patch
  Already upstream: 5116f5e2e05cf("vmbus: re-enable channel tasklet")
- 0004-vmbus-remove-goto-error_clean_msglist-in-vmbus_open
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0005-vmbus-dynamically-enqueue-dequeue-a-channel-on-vmbus.patch
  From the 4.11 patches
- 0006-hv_sock-implements-Hyper-V-transport-for-Virtual-Soc.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0007-VMCI-only-try-to-load-on-VMware-hypervisor.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0008-hv_sock-add-the-support-of-auto-loading.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0009-tools-hv_sock-2-simple-test-cases.patch
  Dropped, this was just test code
- 0010-vmbus-introduce-in-place-packet-iterator.patch
  Already upstream: f3dd3f4797652("vmbus: introduce in-place packet iterator")
- 0011-hvsock-fix-a-race-in-hvs_stream_dequeue.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0012-hvsock-fix-vsock_dequeue-enqueue_accept-race.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0013-Drivers-hv-vmbus-Fix-rescind-handling.patch
  From the 4.11 patches
- 0014-vmbus-fix-hv_percpu_channel_deq-enq-race.patch
  From the 4.11 patches
- 0015-vmbus-add-vmbus-onoffer-onoffer_rescind-sync.patch
  From the 4.11 patches
- 0016-hv-sock-a-temporary-workaround-for-the-pending_send_.patch
  DROPPED. Does not apply at all anymore. Was a hack anyway
- 0017-vmbus-fix-the-missed-signaling-in-hv_signal_on_read.patch
  Applied manually from the 4.11 patches
- 0018-hv-sock-avoid-double-FINs-if-shutdown-is-called.patch
  From https://github.com/dcui/linux/commits/decui/msft-4.12.y
- 0019-Added-vsock-transport-support-to-9pfs.patch
  From the 4.11 patches
- 0020-NVDIMM-reducded-ND_MIN_NAMESPACE_SIZE-from-4MB-to-4K.patch
  From the 4.11 patches

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
0f5825fc32 kernel: Improve kconfig Docker file
Be a bit more verbose and error on error.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
aec0d5a702 kernel: Disable VHOST_VSOCK on 4.4 kernels
The host side VSOCK implementation introduced with
0009-VSOCK-Introduce-vhost_vsock.ko.patch
does not compile due to vhost_vq_init_access not being defined.

VHOST support (including VHOST_VSOCK) was enabled with
86deeaff ("kernel: Bring 4.4 x86_64 kernel config more in line
with 4.9") but not compile tested. Having VHOST support in
itself is fine, it's just the VHOST_VSOCK portion which is not
avail.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
20cc4b3ddf kernel: Don't check kernel config for debug kernels
The kernel config for debug kernels is created by concatenating
config files, so we can't use diff to check it.

This fixes a regression introduced by:
9362de0a ("kernel: Verify kernel config")

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-23 14:33:25 +01:00
Rolf Neugebauer
119cc56fcf kernel: Align arm64 4.4 kernel config with 4.9
Note, vhost vsock is disabled on arm64 because it failed to compile.
'vhost_vq_init_access' was not defined, but with a quick check
I could not find where it was supposed to be defined.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-21 20:43:30 +01:00