Commit Graph

3218 Commits

Author SHA1 Message Date
Rolf Neugebauer
477a56432b Merge pull request #1787 from tych0/kernel-config
projects: add a project that re-works how we manage kernel config
2017-05-09 20:56:53 +01:00
Rolf Neugebauer
e98e6fc0ba Merge pull request #1795 from jeffrey-hogan/GCP_README_TYPO
Correct gcp.yml Example URL Path
2017-05-09 19:52:15 +01:00
Jeffrey Hogan
50875c5a21
Correct gcp.yml example URL path
Signed-off-by: Jeffrey Hogan <jeff.hogan1@gmail.com>
2017-05-09 13:12:35 -05:00
Tycho Andersen
1c10661069 collapse kernel build back into one file
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-09 11:13:32 -06:00
Justin Cormack
b39e477c10 Merge pull request #1793 from justincormack/mobyup
Update moby tool to fix symlinks handling
2017-05-09 14:08:53 +01:00
Justin Cormack
5c792e791a Merge pull request #1790 from justincormack/docker-17.05
Update to Docker 17.05
2017-05-09 13:57:48 +01:00
Justin Cormack
6dced3a196 Update moby tool to fix symlinks handling
Symlinks were being handled incorrectly in initrd output.

Fix #1792

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-09 13:54:38 +01:00
Justin Cormack
ad8a4cad1f Merge pull request #1791 from justincormack/initrd-symlink-cleanup
Clean up initrd creation library
2017-05-09 13:44:34 +01:00
Justin Cormack
56e30fdbc5 Clean up initrd creation library
Remove duplicated code and clean up file handling a little.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-09 13:30:14 +01:00
Justin Cormack
9ca3ba489a Update yaml files to new Docker CE
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-09 11:12:39 +01:00
Justin Cormack
9e879dc56a Update Docker to 17.05.0-ce
This includes nested build support so we can look at starting to dogfood.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-09 11:08:16 +01:00
Rolf Neugebauer
b848b40687 Merge pull request #1789 from justincormack/go-in-alpine
Multistage builds for containerd and runc
2017-05-08 23:31:39 +01:00
Justin Cormack
61bbbf0808 Change containerd and runc to use multistage builds from new Alpine base
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 22:37:59 +01:00
Justin Cormack
f2fc503bb0 Add Go to linuxkit/alpine
Note this is currently Go 1.7.4 but should be updated soon to 1.8.1.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 22:03:02 +01:00
Justin Cormack
8269292398 Merge pull request #1788 from justincormack/containerd-up
Update containerd
2017-05-08 22:02:25 +01:00
Justin Cormack
b70ca67931 Remove dist tool from containerd
It is 20MB and we don't use it...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 21:12:12 +01:00
Justin Cormack
c73f9b3e6b Update containerd
My patch has been merged so may as well use upstream.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 21:10:54 +01:00
Justin Cormack
618c86fcc9 Merge pull request #1786 from justincormack/mobyup
Update moby tool
2017-05-08 20:32:39 +01:00
Justin Cormack
da72655886 Merge pull request #1777 from deitch/document-container-mount-options
Add docs how to use mount options for special mounting containers
2017-05-08 20:32:15 +01:00
Justin Cormack
1e29c39c81 Merge pull request #1776 from deitch/external-disk-docs
Add docs on how to use external disk
2017-05-08 20:19:56 +01:00
Justin Cormack
4261ce0a81 Update moby tool
Adds support for tar output, various fixes.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 20:18:59 +01:00
Avi Deitcher
a9e9958d7c Add docs how to use mount options for special mounting containers
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-05-08 15:15:01 -04:00
Avi Deitcher
ff7de6e532 Add docs on how to use external disk
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-05-08 14:47:45 -04:00
Tycho Andersen
9cd2f434cf projects: remove unused configs from kernel-config
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-08 12:06:25 -06:00
Tycho Andersen
42b6b44fa9 projects: split kernel-config build into three phases
...and add straw man implementations of kernel_config.base and
kernel_config.x86 as examples.

First, splitting the build: to avoid duplication, we split the build into
three parts: a "source" stage, a "config" stage, and a "build" stage. The
"source" stage allows us to use a cached image, so we don't have to
re-download the kernel source every time. The "config" step applies our
patches and generates (and checks) the kernel config. I've left this as a
separate step for now so that we can build just an image with a config in
it, without having to ^C the build. However there's no real reason it needs
to be a separate step, assuming that this kernel config design is
acceptable. The third step is the actual kernel build.

Then there is kernel config management: the bulk of it occurs in
makeconfig.sh, with the idea being that we can specify base, arch, and
version specific config options as necessary.

The config files themselves are lists of options (both positive and
negative). We include the negative options, because we want to explicitly
turn off things that are on in the default config (e.g. CONFIG_USELIB), and
it seems cleaner to do things this way then to have some sort of negative
options list.

The options files are sorted with the default behavior of the "sort"
command, which ignores comment lines, meaning that negative options and
positive options are inline with each other. I don't have a strong opinion
on whether or not to group all negative options, or whether this default
behavior makes sense, so I just left it.

Finally, obviously the .base and .x86 files are incomplete. I mostly
selected a few options with interesting dependencies or special issues
(CONFIG_PANIC_ON_OOPS) with how we manage things, so as to demo how
everything would work. It's not really clear to me that there's a good way
to generate e.g. kernel_config.base, without a lot of painstaking work
(which I'm happy to do if we agree this is a good approach).

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-08 12:06:25 -06:00
Tycho Andersen
1e0021d969 projects: add kernel-config project
This is just a direct import of the current kernel/ directory, with a
slight splitting up of the dockerfiles to build a kernel-source and kernel
image.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-08 12:06:25 -06:00
Rolf Neugebauer
a4c95be30a Merge pull request #1785 from rneugeba/kern-v4.11
kernel: Add initial support for the 4.11 kernel
2017-05-08 17:31:52 +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
Justin Cormack
17dd50cec6 Merge pull request #1784 from justincormack/from-tar
Code in the initrd generator to split a single tarball
2017-05-08 17:02:59 +01:00
Rolf Neugebauer
f422c0604b Merge pull request #1774 from rneugeba/no-c
Remove the c-compile package
2017-05-08 16:59:38 +01:00
Rolf Neugebauer
423957cfef Update YAML files to new packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:49:39 +01:00
Rolf Neugebauer
f0e289439f kernel: Update to use new toybox image
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:46:47 +01:00
Rolf Neugebauer
9cb3c53b8f tests: Use git tree hash for virtsock package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:46:47 +01:00
Rolf Neugebauer
725853f11d Update packages/tests to use the new tini package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:46:47 +01:00
Rolf Neugebauer
2273a1c9a8 tools: Remove c-compile
It is not longer used by any package. Some projects
still use it and I haven't updated their builds but they
should continue to work.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:46:47 +01:00
Rolf Neugebauer
662ed3ad1f pkg: Remove c-compile from init
There is no need for start-stop-daemon since this package
is using containerd. Remove it and update the init
package to alpine:edge

Also use the git tree hash for the package hash while at it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:46:47 +01:00
Rolf Neugebauer
41b7861bac pkg: Remove c-compile from rgnd
Directly install the required packages from the Alpine base
image to compile the rngd package.

Also use the git tree hash for the package hash while at it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:28:39 +01:00
Rolf Neugebauer
ff45e154e9 tools: Remove c-compile from toybox-media
Directly install the required packages from the Alpine base
image to compile the toybox-media package.

Also use the git tree hash for the package hash while at it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:28:39 +01:00
Rolf Neugebauer
046afdda48 tools: Remove c-compile from tini
Use the alpine base image and install the tools to compile
tini manually. This removes the dependency on c-compile.

Also use the git tree hash for the package hash while at it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:28:39 +01:00
Rolf Neugebauer
98a8be0087 pkg: Update packages to new version of the alpine base image
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:28:39 +01:00
Justin Cormack
fb3dab399d Code in the initrd generator to split a single tarball
In the WIP code in `moby` we now have a standard base tarball format,
that includes the kernel and cmdline as files in `/boot` so that the
entire output of the yaml file can default to a single tarball. Then
this can be split back up by LinuxKit into initrd, kernel and cmdline
as needed. This will probably become the only output of the `moby build`
stage, with a `moby package` stage dealing with output formats.

We may remove the output format specification from the yaml file as well,
and just have it in the command.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 16:15:50 +01:00
Justin Cormack
46dfcd1574 Merge pull request #1782 from justincormack/report-8-may
Add development report for 8 May
2017-05-08 15:37:20 +01:00
Justin Cormack
2bb0b7121c Add development report for 8 May
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 15:22:02 +01:00
Justin Cormack
405309741c Merge pull request #1781 from justincormack/base-virtual-packages
Include virtual packages in alpine mirror
2017-05-08 14:41:26 +01:00
Justin Cormack
8914ccc6da Include virtual packages in alpine mirror
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 14:20:27 +01:00
Justin Cormack
85093a5f42 Merge pull request #1713 from fntlnz/linuxkit-cmd/qemu-portforwarding
Port forwarding in qemu runner
2017-05-08 11:15:12 +01:00
Rolf Neugebauer
3a6512d3fb Merge pull request #1779 from rneugeba/kern-up
kernel: Update to 4.4.67/4.9.27/4.10.15
2017-05-08 11:12:05 +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
Lorenzo Fontana
82e6534e9c Port forwarding in qemu runner
Example usage:
	linuxkit run qemu -publish 1111:1111/udp -publish 8081:80/tcp example

Signed-off-by: Lorenzo Fontana <lo@linux.com>
2017-05-06 00:34:44 +02:00
Rolf Neugebauer
f3157af1db Merge pull request #1655 from dave-tucker/test-cleanup
Clean up the tests
2017-05-05 13:56:14 +01:00