tree: c053aeae11ba61637a561e3c0401b4de6c4d4577 [path history] [tgz]
  1. cloudbuild.yaml
  2. cos-kernel
  3. Dockerfile
  4. README.md
src/cmd/toolbox/README.md

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 script on 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:

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.

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:

root@my-cos-instance:~# cos-kernel build 11636.0.0

To see the list of available subcommands and their options, type:

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.