このページでは、Container-Optimized OS のソースコードの詳細(Container-Optimized OS のイメージソースへのアクセス方法、関連するコンテナツールのソース、ソースからのビルド方法など)について説明します。
コンテナ用に最適化された OS のイメージソース
Google の Container-Optimized OS は、Chromium OS のオープンソース プロジェクトのフォークです。Container-Optimized OS のソースコードの大部分は、COS リポジトリ https://cos.googlesource.com で公開されています。
イメージをビルドするために使用されたソースコードを特定する上で、次のリソースが役立ちます。
OS イメージ内の
/opt/google/chrome/resources/about_os_credits.html
ファイルには、そのイメージをビルドするために使用されたすべてのパッケージのバージョンとライセンスの情報が含まれています。カーネルソース: https://cos.googlesource.com/third_party/kernel/+/cos-5.15
カーネル構成(x86): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/x86/configs/lakitu_defconfig
カーネル構成(Arm): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/arm64/configs/lakitu_defconfig
特定のバージョンをビルドするために使用されたカーネルソースの commit SHA1 も、そのバージョンのリリースノートに記載されています。アーカイブされたカーネルソースやカーネル ヘッダーなど、その他のイメージ アーティファクトも
gs://cos-tools/<build-number>/
で一般公開されている Google Cloud Storage バケット内にあります。たとえば、cos-dev-105-17228-0-0
のアーティファクトはgs://cos-tools/17228.0.0/
にあります。
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 は、一般からの直接的な投稿を受け付けていません。