Access source code

This page provides details on Container-Optimized OS source code, including how to access Container-Optimized OS image source, source for related container tools, and how to build from source.

Container-Optimized OS image source

Container-Optimized OS from Google is a fork of the Chromium OS open-source project. You can find the majority of the source code for Container-Optimized OS in the COS repositories https://cos.googlesource.com .

Some of the useful resources that can help you determine the source code used to build the image include:

   
gcloud  
storage  
ls  
gs://cos-tools/17228.0.0/  
gs://cos-tools/17228.0.0/about_os_credits.html  
gs://cos-tools/17228.0.0/about_os_credits.html.md5  
gs://cos-tools/17228.0.0/cos-package-info.json  
gs://cos-tools/17228.0.0/cos-package-info.json.md5  
gs://cos-tools/17228.0.0/cos_full_payload_dev.bin  
gs://cos-tools/17228.0.0/gpu_R470_version  
gs://cos-tools/17228.0.0/gpu_R470_version.md5  
gs://cos-tools/17228.0.0/gpu_default_version  
gs://cos-tools/17228.0.0/gpu_default_version.md5  
gs://cos-tools/17228.0.0/gpu_latest_version  
gs://cos-tools/17228.0.0/gpu_latest_version.md5  
gs://cos-tools/17228.0.0/kernel-headers.tgz  
gs://cos-tools/17228.0.0/kernel-headers.tgz.md5  
gs://cos-tools/17228.0.0/kernel-src.tar.gz  
gs://cos-tools/17228.0.0/kernel-src.tar.gz.md5  
gs://cos-tools/17228.0.0/kernel_commit  
gs://cos-tools/17228.0.0/kernel_commit.md5  
gs://cos-tools/17228.0.0/kernel_info  
gs://cos-tools/17228.0.0/kernel_info.md5  
gs://cos-tools/17228.0.0/manifest.xml  
gs://cos-tools/17228.0.0/manifest.xml.md5  
gs://cos-tools/17228.0.0/toolchain.tar.xz  
gs://cos-tools/17228.0.0/toolchain.tar.xz.gcs  
gs://cos-tools/17228.0.0/toolchain.tar.xz.md5  
gs://cos-tools/17228.0.0/toolchain_env  
gs://cos-tools/17228.0.0/toolchain_env.md5  
gs://cos-tools/17228.0.0/vmlinux  
gs://cos-tools/17228.0.0/vmlinux.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/  
gs://cos-tools/17228.0.0/lakitu/ 
  • Image artifacts for Arm-based images are available in the public Cloud Storage bucket under gs://cos-tools/<build-number>/lakitu-arm64/ . For example, artifacts for cos-arm64-dev-105-17228-0-0 are under gs://cos-tools/17228.0.0/lakitu-arm64/ .
   
gcloud  
storage  
ls  
gs://cos-tools/17228.0.0/lakitu-arm64/  
gs://cos-tools/17228.0.0/lakitu-arm64/about_os_credits.html  
gs://cos-tools/17228.0.0/lakitu-arm64/about_os_credits.html.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/cos-package-info.json  
gs://cos-tools/17228.0.0/lakitu-arm64/cos-package-info.json.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/gpu_R470_version  
gs://cos-tools/17228.0.0/lakitu-arm64/gpu_R470_version.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/gpu_default_version  
gs://cos-tools/17228.0.0/lakitu-arm64/gpu_default_version.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/gpu_latest_version  
gs://cos-tools/17228.0.0/lakitu-arm64/gpu_latest_version.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/kernel-headers.tgz  
gs://cos-tools/17228.0.0/lakitu-arm64/kernel-headers.tgz.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/kernel-src.tar.gz  
gs://cos-tools/17228.0.0/lakitu-arm64/kernel-src.tar.gz.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/kernel_commit  
gs://cos-tools/17228.0.0/lakitu-arm64/kernel_commit.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/kernel_info  
gs://cos-tools/17228.0.0/lakitu-arm64/kernel_info.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/manifest.xml  
gs://cos-tools/17228.0.0/lakitu-arm64/manifest.xml.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/toolchain.tar.xz  
gs://cos-tools/17228.0.0/lakitu-arm64/toolchain.tar.xz.gcs  
gs://cos-tools/17228.0.0/lakitu-arm64/toolchain.tar.xz.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/toolchain_env  
gs://cos-tools/17228.0.0/lakitu-arm64/toolchain_env.md5  
gs://cos-tools/17228.0.0/lakitu-arm64/vmlinux  
gs://cos-tools/17228.0.0/lakitu-arm64/vmlinux.md5 
  • Those familiar with Chromium OS build system may also find the build recipes under https://cos.googlesource.com/cos/overlays/board-overlays/+/master/project-lakitu/ useful.

  • Actual source code archives for individual packages can also be found under one of the package mirrors maintained by Chromium OS build system. You can access them by appending the correct tarball name to one of the following URLs:

    • https://storage.googleapis.com/chromeos-mirror/gentoo/distfiles/
    • https://storage.googleapis.com/chromeos-localmirror/distfiles/

      For example, to download kubernetes version 1.19.2, use https://storage.googleapis.com/chromeos-localmirror/distfiles/kubernetes-server-linux-amd64-1.19.2.tar.gz .

The Chromium OS Build FAQ and other Chromium OS Build documentation explains how the build system and package mirrors work.

Container source

Container-Optimized OS from Google ships with some tools that download containers at runtime. Those containers are also open sourced. The following table lists the containers, their source location and release location.

Containers Release Location
Toolbox Container Registry gcr.io/cos-cloud/toolbox
Cos-gpu-installer Container Registry gcr.io/cos-cloud/cos-gpu-installer
Cloud logging agent Container Registry gcr.io/stackdriver-agents/stackdriver-logging-agent
Konlet agent Container Registry gcr.io/gce-containers/konlet

Building from source

Follow the instructions on Building from Open Source to build a Container-Optimized OS disk image from the source.

Source code contributions

Container-Optimized OS does not accept direct contributions from the public.

Create a Mobile Website
View Site in Mobile | Classic
Share by: