blob: 0e7141c47c297bbbe6854a3f0de3534683f99124 [file] [log] [blame] [view] [edit]
# Toolbox Docker Container for Container-Optimized OS
Note: This is not an official Google product.
## Overview
This is a Docker image used by the
[CoreOS Toolbox](https://github.com/coreos/toolbox) script on [Container-Optimized
OS](https://cloud.google.com/container-optimized-os/). This image comes
pre-installed with common debugging tools that are not pre-installed on the host.
The official toolbox container is available at `gcr.io/cos-cloud/toolbox`.
Starting with tag `20190312-00`, COS toolbox includes a tool called
`cos-kernel` to make it easy to fetch kernel headers, source, and
toolchain for COS releases. For example, the following command fetches
kernel headers, source, and toolchain for the instance it's running on:
```bash
my-cos-instance ~ $ toolbox
root@my-cos-instance:~# cos-kernel fetch
```
By default, `cos-kernel` uses `$HOME` as its install directory but this
can be changed via the `--instdir` option. `cos-kernel` copies the
files it fetches in the `fetched-files` directory and extracts them into
`cos-kernel-headers`, `cos-kernel-src`, and `cos-toolchain`.
```bash
root@my-cos-instance:~# ls -l
drwxr-xr-x 4 root root 4096 Mar 12 14:43 cos-kernel-headers
drwxr-xr-x 4 root root 4096 Mar 12 14:44 cos-kernel-src
drwxr-xr-x 4 root root 4096 Mar 12 14:43 cos-toolchain
drwxr-xr-x 4 root root 4096 Mar 12 14:40 fetched-files
````
The following command fetches kernel headers, source, and toolchain for
release `11636.0.0` and builds the kernel:
```bash
root@my-cos-instance:~# cos-kernel build 11636.0.0
```
To see the list of available subcommands and their options, type:
```bash
root@my-cos-instance:~# cos-kernel help
```
For detailed documentation on how this is used, see
https://cloud.google.com/container-optimized-os/docs/how-to/toolbox.
# Contributor Docs
## Releasing
To release a new version of COS Toolbox, tag the commit you want to release
with the date in the form of `vYYYYMMDD`. This will trigger a Cloud Build job to
build and release the container image.