LTP is compiled in on debian container and the binaries
then copied into another container, which is pushed to hub.
LTP does not compile on Alpine as it uses glibc specific
pthread extensions.
I tried to link LTP statically to not require a glibc based
base image but that failed too.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@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>
- VHD is uncompressed VHD. Currently hard coded at 1GB, which may need to change. Use `format: vhd`
- GCE is the GCE compressed tarred raw image. Use `format: gce-img` - reserving `gce` for actually
uploading the image.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
os.FindProcess() does not return an error when then process does not
exist. It even returns a dummy process object.
Use the go-ps package to find out if the hyperkit process is actually
running.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
the `moby` tool uses a prefix for the build output. Specify the prefix
(and optional path) in the `Moby` property in the JSON instead of assuming
a different path for each initrd/kernel.
Also, adopt the new name for the kernel image (vmlinuz64 -> <prefix>-bzImage).
This should make it simpler to boot up hyperkit with Moby images
build from by the moby tool.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
- remove remainder of editions code
- add a new check container to run tests without Docker
- switch over `make test` to use new command to build tests
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Note that the EFI ISO is not yet automatically sized, and the
kernel command lines are currently hard coded in the builders.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Don't return if the process does not exist. Instead proceed and delete
the state directory.
This allows us to use the Destroy() method elsewhere to clean up the state.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Instead pass the directory where to find initrd/vmlinuz via the
"Moby" entry in the instance JSON config.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This change now allows setting the Disk size, memory, and number of CPUs
for an instance via the JSON config file.
We now also write the hyperkit command line to the VM directory.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This is the first cut of a InfraKit instance plugin which
primarily allows one to manage Moby instances (though, other Linux's
may work too).
It's very rough on the edges and needs work and update to handle
templates and better configuration etc.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Use aws cli to pull docker engine binaries from s3 bucket. Conditional and
happens if DOCKER_BIN_URL begins with 's3://'
Example usage:
```
export AWS_ACCESS_KEY_ID=key
export AWS_SECRET_ACCESS_KEY=secret
make DOCKER_BIN_URL=s3://path-to-engine-binaries
```
Signed-off-by: Robb Kistler <robb.kistler@docker.com>
Signed-off-by: Robb Kistler <robb.kistler@docker.com>
This includes most things except the containerd and runc builds
which I will do next time I update them.
Note that all golang:alpine images now for 1.8 are ALpine 3.5 based.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
- `CONFIG_BUG_ON_DATA_CORRUPTION` is a 4.10 kernel only flag, so gate this.
- some config was duplicated on gated and normal config
- some 4.4 issues with the new config
Signed-off-by: Justin Cormack <justin.cormack@docker.com>