Rename Moby to LinuxKit part 1

This covers the base docs; I also did a bunch of cleanup and
remove old docs that are no longer needed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
Justin Cormack
2017-04-12 11:42:48 +01:00
parent 14325046c6
commit 89c642eac1
12 changed files with 66 additions and 168 deletions

View File

@@ -1,6 +1,6 @@
# Moby
# LinuxKit
Moby, a toolkit for building custom minimal, immutable Linux distributions.
LinuxKit, a toolkit for building custom minimal, immutable Linux distributions.
- Secure defaults without compromising usability
- Everything is replaceable and customisable
@@ -17,15 +17,16 @@ Moby, a toolkit for building custom minimal, immutable Linux distributions.
### Build the `moby` tool
Simple build instructions: use `make` to build. This will build the Moby customisation tool.
Simple build instructions: use `make` to build. This will build the customisation tool in `bin/`. Add this
to your `PATH` or copy it to somewhere in your `PATH` eg `sudo cp bin/moby /usr/local/bin/`.
If you already have `go` installed you can use `go get -u github.com/docker/moby/src/cmd/moby` to install
the `moby` tool, and then use `moby build moby.yml` to build the example configuration. You
the `moby` tool, and then use `moby build linuxkit.yml` to build the example configuration. You
can use `go get -u github.com/docker/moby/src/cmd/infrakit-instance-hyperkit` to get the
hyperkit infrakit tool.
Once you have built the tool, use `bin/moby build moby.yml` to build the example configuration,
and `bin/moby run moby` to run locally. Use `halt` to terminate on the console.
Once you have built the tool, use `moby build linuxkit.yml` to build the example configuration,
and `bin/moby run linuxkit` to run locally. Use `halt` to terminate on the console.
Build requirements:
- GNU `make`
@@ -34,14 +35,14 @@ Build requirements:
### Booting and Testing
You can use `bin/moby run <name>` to execute the image you created with `moby build <name>.yml`.
You can use `moby run <name>` to execute the image you created with `moby build <name>.yml`.
This will use a suitable backend for your platform or you can choose one, for example VMWare.
See `moby run --help`.
Some platforms do not yet have `moby run` support, so you can use `./scripts/qemu.sh moby-initrd.img moby-bzImage moby-cmdline`
or `./scripts/qemu.sh mobylinux-bios.iso` which runs qemu in a Docker container.
`make test` or `make hyperkit-test` will run the test suite
`make test` or `make test-hyperkit` will run the test suite
There are also docs for booting on [Google Cloud](docs/gcp.md); `./bin/moby run --gcp <name>.yml` should
work if you specified a GCP image to be built in the config.
@@ -50,9 +51,8 @@ More detailed docs will be available shortly, for running both single hosts and
## Building your own customised image
To customise, copy or modify the [`moby.yml`](moby.yml) to your own `file.yml` or use one of the [examples](examples/) and then run `./bin/moby build file.yml` to
generate its specified output. You can run the output with `./scripts/qemu.sh` or on OSX with `./bin/moby run file`. `moby run` targets will be available for other
platforms shortly.
To customise, copy or modify the [`linuxkit.yml`](linuxkit.yml) to your own `file.yml` or use one of the [examples](examples/) and then run `moby build file.yml` to
generate its specified output. You can run the output with `moby run file`.
The yaml file specifies a kernel and base init system, a set of containers that are built into the generated image and started at boot time. It also specifies what
formats to output, such as bootable ISOs and images for various platforms.
@@ -61,8 +61,8 @@ formats to output, such as bootable ISOs and images for various platforms.
The yaml format specifies the image to be built:
- `kernel` specifies a kernel Docker image, containing a kernel and a filesystem tarball, eg containing modules. `mobylinux/kernel` is built from `kernel/`
- `init` is the base `init` process Docker image, which is unpacked as the base system, containing `init`, `containerd`, `runc` and a few tools. Built from `base/init/`
- `kernel` specifies a kernel Docker image, containing a kernel and a filesystem tarball, eg containing modules. The example kernels are built from `kernel/`
- `init` is the base `init` process Docker image, which is unpacked as the base system, containing `init`, `containerd`, `runc` and a few tools. Built from `pkg/init/`
- `onboot` are the system containers, executed sequentially in order. They should terminate quickly when done.
- `services` is the system services, which normally run for the whole time the system is up
- `files` are additional files to add to the image
@@ -70,13 +70,10 @@ The yaml format specifies the image to be built:
For a more detailed overview of the options see [yaml documentation](docs/yaml.md).
## Architecture
## Architecture and security
There is an [overview of the architecture](docs/architecture.md) covering how the system works.
## Security design
There is an [overview of the security considerations and direction](docs/security.md) covering the security design of the system.
## Roadmap