mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-10-03 06:58:35 +00:00
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>
51 lines
2.0 KiB
Markdown
51 lines
2.0 KiB
Markdown
## Hyperkit/Moby Infrakit plugin
|
|
|
|
This is a Hyper/Kit Moby instance plugin for infrakit. The instance
|
|
plugin is capable to start/manage several hyperkit instances with with
|
|
different configurations and Moby configurations.
|
|
|
|
The plugin keeps state in a local directory (default
|
|
`.infrakit/hyperkit-vms`) where each instance keeps some state in a
|
|
sub-directory. The VM state directory can be specified at the kernel
|
|
command line using the `--vm-dir` option.
|
|
|
|
## Building
|
|
|
|
```sh
|
|
make
|
|
```
|
|
(you need a working docker installation, such as Docker for Mac)
|
|
|
|
## Quickstart
|
|
|
|
This is roughly based on the [infrakit tutorial](https://github.com/docker/infrakit/blob/master/docs/tutorial.md). You need to have the infrakit binaries in your path (or adjust the invocation of the commands below). To get the binaries, it's best to compile from source (checkout `https://github.com/docker/infrakit.git`, then `make` or `make build-in-container`). The add the `./build` directory to your path.
|
|
|
|
Start the default group plugin:
|
|
```shell
|
|
infrakit-group-default
|
|
```
|
|
and the vanilla flavour plugin:
|
|
```shell
|
|
infrakit-flavor-vanilla
|
|
```
|
|
|
|
Then start the hyperkit plugin:
|
|
```shell
|
|
./build/infrakit-instance-hyperkit
|
|
```
|
|
|
|
Next, you can commit a new configuration. There is a sample infrakit config file in `hyperkit.json`. It assumes that you have a default moby build in the top-level directory. The `Moby` property needs to be of the form `<dir>/<prefix>` and assumes that the kernel and initrd images are called `<prefix>-bzImage` and `<prefix>-initrd.img` respectively (this is the convention used by the `moby` tool).
|
|
```
|
|
infrakit group commit hyperkit.json
|
|
```
|
|
|
|
This will create a single hyperkit instance with its state stored in
|
|
`~/.infrakit/hyperkit-vms`. There is a `tty` file which you can
|
|
connect to with `screen` to access the VM.
|
|
|
|
If you kill the hyperkit process a new instance will be restarted. If
|
|
you change the VM parameter in JSON file and commit the new config, a
|
|
new VM will be created. f you change the `Size` parameter, multiple
|
|
VMs will get started.
|
|
|