ソースコードにアクセス

このページでは、Container-Optimized OS のソースコードの詳細(Container-Optimized OS のイメージソースへのアクセス方法、関連するコンテナツールのソース、ソースからのビルド方法など)について説明します。

コンテナ用に最適化された OS のイメージソース

Google の Container-Optimized OS は、Chromium OS のオープンソース プロジェクトのフォークです。Container-Optimized OS のソースコードの大部分は、COS リポジトリ https://cos.googlesource.com で公開されています。

イメージをビルドするために使用されたソースコードを特定する上で、次のリソースが役立ちます。

         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/
  • Arm ベース イメージのイメージ アーティファクトは、gs://cos-tools/<build-number>/lakitu-arm64/ の Cloud Storage 公開バケット内にあります。たとえば、cos-arm64-dev-105-17228-0-0 のアーティファクトは 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
  • Chromium OS ビルドシステムに精通している方には、https://cos.googlesource.com/cos/overlays/board-overlays/+/master/project-lakitu/ にあるビルドレシピも役立ちます。

  • 個々のパッケージの実際のソースコード アーカイブは、Chromium OS ビルドシステムによって維持されているパッケージ ミラーでも見つけることができます。パッケージ ミラーにアクセスするには、以下の URL のいずれかに、適切な tarball 名を追加してください。

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

      たとえば、kubernetes バージョン 1.19.2 をダウンロードするには、https://storage.googleapis.com/chromeos-localmirror/distfiles/kubernetes-server-linux-amd64-1.19.2.tar.gz を使用します。

Chromium OS ビルドに関するよくある質問とその他の Chromium OS ビルドに関するドキュメントでは、ビルドシステムとパッケージ ミラーの仕組みについて説明しています。

コンテナのソース

Google の Container-Optimized OS には、実行時にコンテナをダウンロードするツールがいくつか付属しています。これらのコンテナもオープンソースです。次の表に、コンテナ、ソースの場所、リリースの場所を示します。

コンテナ リリースの場所
ツールボックス Container Registry gcr.io/cos-cloud/toolbox
Cos-gpu-installer Container Registry gcr.io/cos-cloud/cos-gpu-installer
Cloud Logging エージェント Container Registry gcr.io/stackdriver-agents/stackdriver-logging-agent
Konlet エージェント Container Registry gcr.io/gce-containers/konlet

ソースからのビルド

ソースから Container-Optimized OS ディスク イメージをビルドするには、オープンソースからの構築の手順に従ってください。

ソースコードの投稿

Container-Optimized OS は、一般からの直接的な投稿を受け付けていません。