The scripts used to scrape the various repositories to build
and push package for all foreign kernels. They were designed
to be run periodically and provide "official" foreign kernel
packages. Needless to say we did not run them periodically
and the linuxkit packages became out-dated quickly.
Now, we just provide users who are interested in using foreign
kernels the means to build their own package from specific
vendor kernels.
Each script uses slightly different command line arguments
as the location and naming of the kernel packages differ
wildly. The help message provide a working example which
has been tested with a minimal LinuxKit YAML file.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This script is slightly modified from the ChromiumOS splitconfig
It takes a number of kernel config files and prints the common
on specific kernel config options to seperate files.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Also adjust the 'linuxkit/alpine' script to follow the
same pattern.
The new version of the script extract username/password from
the credential helper (or docker) and build and 'expect'
script to feed the info to 'notary'.
They can be invoked by:
DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE="phrase" ./push-manifest.sh ...
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Remove the image and the intermediate images. Otherwise, especially
for the initial runs, the disk fills up quickly.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
No actual source change, just make it easier to enable
kernel headers should they be needed.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Doing a "docker pull" to check if an image exist on hub
takes a long time for the number of images, in particular
in the linuxkit/kernel-mainline repo.
Instead, get a list of tags on Hub and check that way. This
does not check if the image was signed, but should be good
enough.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This only covers the 4.x Ubuntu kernels and for now does
not include the headers to build modules against.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
The Ubuntu mainline PPA has kernel.org based kernels for many
kernel releaseis. This commit adds suport for downloading and
converting the 3.16.x long long term support kernel as well
as the current 4.x series. The "mainline.sh" script only
downloads/processes kernels which have not yet been put on
Hub.
The kernels are stored under "linuxkit/kernel-mainline" and are
tagged with the kernel version.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This script can create/start/stop/remove Hyper-V VMs. The
VMs are configured as Gen2 VMs which boot from EFI ISOs.
Network and Disk configuration is optional.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This deprectes scripts/qemu.sh as moby run qemu can now safely be run in
CI, where we currently used the qemu container
Signed-off-by: Dave Tucker <dt@docker.com>
- one was old for installing in d4m no longer relevant
- the other is relaced by `docker run hyperkit`
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Previously, the cmdline file was never sent in the build context which
caused the script to pick the default options.
Also, when mulitple options are specified (not the default) the right
escaping needs to be used.
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
- cut down the hyperkit script but leave as reference for now
- an error left over after shutdown that needs removing at some point
fix#1375
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Trying to find the relevant yaml file was an issue as we now support
`--name` and it might be in a different directory, so although it is
a bit verbose outputing a whole file at least it is more consistent.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Currently if you just do `make` the hyperkit executables won't get
put in `bin/`, so try to extract from OSX.
This is temporary until get a better runner, but makes it nicer after `make clean`.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This is all slightly annoying, maybe we should make a file for the CLI for
hyperkit, but this is better and fixes a bug that the test CLI was coming from moby,
and is easier to use with custom builds.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Passing accel=kvm:tcg causes it to try KVM first if available with a fallback
to TCG (emulated/JIT mode) if it is not available. With this the boot logs gain:
+Hypervisor detected: KVM
and also
-Booting paravirtualized kernel on bare hardware
+Booting paravirtualized kernel on KVM
Among various other noise.
If I rename my host /dev/kvm then this is reversed, although with the following
message:
Could not access KVM kernel module: No such file or directory
failed to initialize KVM: No such file or directory
Back to tcg accelerator.
Q35 is a more modern emulated platform based on the ICH9 host chipset rather
than the default "pc" I440FX (Pentium Pro / Pentium II era) emulation. See
http://wiki.qemu-project.org/Features/Q35 for more info. Switching to Q35 is
not a requirement for enabling KVM but seemed like a reasonable change.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>