Commit Graph

17 Commits

Author SHA1 Message Date
Cole Robinson
dec8013748 make: use bash to fetch dracut conf 'drivers' list
dracut will process conf files with bash, and in fact it's common to
use idioms like += in conf files for string concatenation. The current
grep usage in the Makefile won't catch all possible valid 'drivers'
variable cases.

Instead, use bash to parse and echo the 'drivers' content

Fixes: #356

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2019-09-09 13:17:58 -04:00
Cole Robinson
6daec98aaf make: Move comment about dracut --no-kernel
The current placement is confusing IMO, let's move it close to the
code it's describing

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2019-09-09 13:17:58 -04:00
Marco Vedovati
2f55017fea osbuilder: add dracut build method
Add the option to build image and initrd using dracut.

Fixes: #311

Suggested-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-07-29 12:58:24 +02:00
Marco Vedovati
68f2090bab make: add ability to silent recipe commands with chronic
Add the ability to silent recipe commands with chronic.
When OSBUILDER_USE_CHRONIC is set, the target recipe command is run
using chronic, and the output is muted unless the command fails.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-06-18 13:36:03 +02:00
Marco Vedovati
cbb8c01412 make: add print-% target printing variable value
Add a print-% make target, to be able to retrieve the value of make
variables.
E.g. "make print-MY_MAKE_VAR MY_MAKE_VAR=1" will print "1"

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-06-18 13:25:27 +02:00
Marco Vedovati
0013352d9b make: add nsdax source to install-scripts target
nsdax.gpl.c is required by image_builder.sh

Fixes: #283

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-04-26 15:20:18 +02:00
Julio Montes
71ccc0a6ea mage-builder: remove -s option and IMG_SIZE envar
guest kernel needs 64 bytes of DRAM per 4K page of emulated PMEM, hence the
image size should be as small as possible to reduce the container's memory
footprint. The image size is recalculated automatically if it's too small
to contain the rootfs.

Signed-off-by: Julio Montes <julio.montes@intel.com>
2019-03-13 13:05:06 -06:00
Jose Carlos Venegas Munoz
06c8d88eb6 makefile: Add make install
allow install osbuilder scripts.

Example:
make install DESTDIR=/tmp/t

export DISTRO_REPO=1                                                                                                                                         export GOPATH=~/go
export AGENT_SOURCE_BIN=/tmp/usr/bin/kata-agent

/tmp/t/usr/libexec/kata-containers/osbuilder/rootfs-builder/rootfs.sh fedora
pushd /tmp/t/usr/libexec/kata-containers/osbuilder/rootfs-builder
/tmp/t/usr/libexec/kata-containers/osbuilder/image-builder/image_builder.sh $(pwd)/rootfs-Fedora

Fixes: #206

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2018-11-26 10:36:14 -06:00
Marco Vedovati
be3bea4325 rootfs.sh: add options to list and get test config
Add new options to rootfs.sh: -l prints the list of all distros,
-t retrieves a subset of the distro configuration from config.sh
for testing purpose.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-10-18 09:48:47 +02:00
Marco Vedovati
562be90907 tests: support parallel building of artifacts
Rework test_images.sh and Makefile to allow building artifacts in
parallel for faster tests execution.
Add new targets to Makefile ({rootfs,image,initrd}-<distro name>).

Fixes: #168

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-10-02 12:58:55 +02:00
Marco Vedovati
344a37c03c Makefile: update targets to better track build artifacts
Update Makefile so that build artifacts are actually tracked as make
targets. This is to enforce a strict prerequisite ordering and better
handle parallel builds.

Fixes: #157

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2018-09-06 12:35:38 +02:00
James O. D. Hunt
0cd64fb5c9 build: Added targets to run tests
Updated the `Makefile` to provide the following new targets:

```
make test              # Run all tests.
make test-image-only   # Only run image tests.
make test-initrd-only  # Only run initrd tests.
```

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-07-30 15:36:18 +01:00
James O. D. Hunt
f90f65247e rootfs: Create a summary file inside the image
Create a YAML metadata file inside the rootfs image
containing information about the environment:

```
/var/lib/osbuilder/osbuilder.yaml
```

Example contents:

```
---
osbuilder:
  url: "https://github.com/kata-containers/osbuilder"
  version: "unknown"
rootfs-creation-time: "2018-04-19T16:19:30.254610305+0000Z"
description: "osbuilder rootfs"
file-format-version: "0.0.1"
architecture: "x86_64"
base-distro:
  name: "Centos"
  version: "7"
  packages:
    - "iptables"
    - "systemd"
agent:
  url: "https://github.com/kata-containers/agent"
  name: "kata-agent"
  version: "0.0.1-2ec0b9593845b9a5e0eab5a85b20d74c35a2ca52-dirty"
  agent-is-init-daemon: "no"
```

This change adds a new `-o` option to `rootfs.sh` for
specifying the version of osbuilder to the rootfs builder.

Fixes #35.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2018-04-20 11:46:55 +01:00
Peng Tao
6e1f2e063d Makefile: allow to build image and initrd based on existing rootfs
Just so that we do not have to re-build rootfs every time for local
build/testing.

Fixes: #69

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-03-22 23:20:53 +08:00
Peng Tao
82759dac14 initrd: add script to build kata initrd image
Build a kata initrd image based on rootfs created by rootfs.sh.

Fixes: #5

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-02-01 23:27:36 +08:00
Peng Tao
94e7b1da4f rootfs: allow to use agent as init process
Add AGENT_INIT env to make it configurable.

Signed-off-by: Peng Tao <bergwolf@gmail.com>
2018-01-31 00:59:29 +08:00
Jose Carlos Venegas Munoz
48820425eb Makefile: Add image target
Use as default base OS centos

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-12-06 13:32:03 -06:00