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>
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>
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>
- 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>
Bring it into line with official images: remove `jq`, `sfdisk` which
are not needed; we used them for disk mounting but this is down standalone.
Add the tools for other filesystems, which are needed for `dm`, `btrfs`.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
Building debug kernels (with additional run time checks and debugging)
was broken a few commits back. This adds back support for building debug
kernels.
In addition, it builds and uploads debug kernels for selected kernel
series (4.9.x LTS and latest stable). The tag for these kernels has
a "_dbg" suffix.
Update documentation.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This fixes an issue introduced in the split of push and run.
Before this commit, an image could be pushed to a custom location from
the presence of the `CLOUDSDK_IMAGE_NAME` variable. The subsquent run
would fail as the name `test-ltp` or `test` had been hard coded in the
Make target. We now use a target-specific variable which is only set if
there is not an existing variable in the environment
Signed-off-by: Dave Tucker <dt@docker.com>
This fixes a regression where `linuxkit push gcp` no longer allows for a
custom destination to be provided via the `-img-name` flag or the
`CLOUDSDK_IMAGE_NAME` environment variable
Signed-off-by: Dave Tucker <dt@docker.com>
- Use a RUN command per artefact created
- Use WORKDIR to avoid "cd /linux" on every RUN command
- Copy all relevant build artefacts to /out
- Only create one additional layer in final stage
- Add System.map to output image
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>
Update examples/swap.yml to use latest linuxkit/swap image
Add comment to examples/swap.yml how to enable encryption
Add encrypt options to README
Make encrypted swap the default
Signed-off-by: Avi Deitcher <avi@deitcher.net>
for swap.sh, take any command-line options, not just those with an arg
that in turn requires a new hash on the example
Use latest 4.9.x kernel to keep in line with other examples
Replace (bash) herestring with (posix) heredoc in swap.sh, and update hash to match
Signed-off-by: Avi Deitcher <avi@deitcher.net>
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>
Previously we hardcoded `bzImage` which is not used for all
use cases or architectures.
fix#1630
Signed-off-by: Justin Cormack <justin.cormack@docker.com>