| # 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. |