Commit Graph

3380 Commits

Author SHA1 Message Date
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
Dave Tucker
16cfd3ea2d tests: Rename kernel-config image to test-kernel-config
Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-05 11:51:10 +01:00
Dave Tucker
e4d84cf304 tests: add makefile for tests
this removes all test targets from the top level makefile with the
exception of `make test` that now calls `$(MAKE) -C test`.

all tests now use `moby run` by instead of the older `./scripts`.
this removes the need for dedicated qemu/hyperkit test targets.

Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-05 11:01:09 +01:00
Dave Tucker
fb4d621833 tests: use the poweroff pkg in test-kernel-config
Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-04 23:56:40 +01:00
Dave Tucker
05767273f3 tests: cleanup test directory
- add a `pkg` directory for packages
- add a `cases` directory for yml files

Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-04 23:56:40 +01:00
Justin Cormack
edb909567c Merge pull request #1772 from rneugeba/pkg
Update packages
2017-05-04 23:11:52 +01:00
Rolf Neugebauer
21f1646ce2 Update YAML files with new package hashes
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Rolf Neugebauer
17adcefe6c pkg: Convert openntpd to use the Alpine base image and git tree hash
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Rolf Neugebauer
41a1d16694 pkg: Use git tree hash for the prometheus node_exporter
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Rolf Neugebauer
1748a69f2a pkg: Convert mount to use the Alpine base and git tree hash
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Rolf Neugebauer
fce13fb48d pkg: Convert format to use the Alpine base and git tree hash
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Rolf Neugebauer
43d97967ef pkg: Convert docker-ce to use the Alpine base and git tree hash
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Rolf Neugebauer
e929205c31 pkg: Convert dhcpcd to use the Alpine base image and git tree hash
This builds the dhcpcd package from a fixed Alpine 3.5 base and adds
the dhcpcd daemon from the Alpine base image. This should make the
build reproducible and allows us to use the git tree hash.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Rolf Neugebauer
aea6d6c54e pkg: Convert binfmt to use the Alpine base image and git tree hash
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Justin Cormack
6deddf749c Merge pull request #1770 from justincormack/cleanup
Fix make clean to remove new -kernel files
2017-05-04 16:34:44 +01:00
Justin Cormack
9eaf89da47 Merge pull request #1764 from dave-tucker/artifacts
Makefile: gather all build artifacts in one location
2017-05-04 16:34:29 +01:00
Justin Cormack
0c53e88be5 Fix make clean to remove new -kernel files
Missed this in the changeover

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-04 16:03:20 +01:00
Dave Tucker
8610716be1 Makefile: gather all build artifacts in one location
This makes it easier for CI to grab artifacts from the ephemeral build
VMs and provides a stable location so they can be used in subsequent
tests. For example, running the LTP tests.

Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-04 12:08:31 +01:00
Rolf Neugebauer
9dead59989 Merge pull request #1769 from rneugeba/kern-up
kernel: Update to 4.4.66/4.9.26/4.10.14
2017-05-04 11:13:47 +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
Justin Cormack
81c3b92a7a Merge pull request #1766 from ndauten/ndauten-patch-1
Spelling error: Dautenhan -> Dautenhahn
2017-05-03 19:15:39 +01:00
Nathan Dautenhahn
f8f9ed9965 Spelling error: Dautenhan -> Dautenhahn
Signed-off-by: Nathan Dautenhahn <ndd@cis.upenn.edu>
2017-05-03 14:04:29 -04:00
Rolf Neugebauer
ba6c210029 Merge pull request #1765 from rneugeba/kmod
Add support for building custom kernel modules
2017-05-03 17:06:49 +01:00
Justin Cormack
861c70c0e4 Merge pull request #1763 from justincormack/alpine-base
Use Alpine base image that includes packages
2017-05-03 16:55:54 +01:00
Rolf Neugebauer
c9c0c16490 docs: Add a section on how to compile kernel modules
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-03 16:46:12 +01:00
Rolf Neugebauer
6cfadcd26e test: Add a simple test/example for compiling a kernel module
The test is currently not hooked up, but it pulls the latest 4.9.x
kernel image, builds a simple kernel module against it and then creates
a test package containing the kernel module and a shell script.

The shell script prints out the 'modinfo' and then tries to 'insmod'
the module. It checks the output of 'dmesg' of the load succeeded.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-03 16:46:12 +01:00
Rolf Neugebauer
ffc0ed6a7c kernel: Fix kernel header build
Add more files to 'kernel-dev.tar' to enable building kernel
modules against the kernel.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-03 16:46:12 +01:00
Justin Cormack
3bd53067fb Update yaml files with new ca-certificates
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-03 16:43:24 +01:00
Justin Cormack
26f7d6ebdd Update ca-certificates to use new Alpine base image
This is what the other images should look like in future.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-03 16:42:28 +01:00
Justin Cormack
edfac0e8fb Add a base Alpine package that includes a package mirror
This means that we limit to one place where we use network access
in building, and in future all other package builds can be deterministic.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-03 16:29:53 +01:00
Justin Cormack
7698d1c344 Merge pull request #1762 from justincormack/remove-base
Remove unused mkimage-base
2017-05-03 14:38:45 +01:00
Justin Cormack
fa90764b55 Remove unused mkimage-base
We have not used this for ages, we use Go code in `moby` tool to
do this now.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-03 14:27:05 +01:00
Rolf Neugebauer
6c2974d49d Merge pull request #1756 from ijc25/kubernetes
projects/kubernetes: Fixup boot-*.sh
2017-05-03 09:30:58 +01:00
Ian Campbell
bb50dd9781 projects/kubernetes: Allow linuxkit to pick default backend
Drop `hyperkit` from the `linuxkit run` invocation, thus causing the linuxkit
tool to pick the platform's default backend (which is qemu on my Linux system,
which works better than hyperkit in this environment).

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-03 09:11:32 +01:00
Justin Cormack
0325cbe1ec Merge pull request #1758 from rneugeba/qemu
cmd: Unify 'run' cmdline options
2017-05-02 17:16:10 +01:00
Rolf Neugebauer
d2bdd94054 Merge pull request #1757 from rneugeba/kbuild
Update kernel build (and update to 4.4.65)
2017-05-02 17:03:44 +01:00
Rolf Neugebauer
5ce03cc884 cmd: Unify 'run' cmdline options
- Use 'disk-size' for disk size
- Use 'disk' for the path to the disk image
- Use 'fw' for the path to the EFI firmware

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-02 17:00:57 +01:00
Justin Cormack
3406d33d7f Merge pull request #1753 from dave-tucker/ci-fixes
Fix CI
2017-05-02 16:52:46 +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