本页面详细介绍了 Container-Optimized OS 源代码,包括如何访问 Container-Optimized OS 映像源、相关容器工具的来源以及如何从源代码构建。
Container-Optimized OS 映像来源
Google 推出的 Container-Optimized OS 是 Chromium OS 开源项目的分支。您可以在 COS 代码库 https://cos.googlesource.com 中找到 Container-Optimized 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。
该版本的版本说明中也提供了用于构建特定版本的内核源代码的提交 SHA1。其他映像的工件(包括归档的内核源代码和内核头文件)也可以在公共 Google Cloud Storage 存储分区的
gs://cos-tools/<build-number>/
下找到。例如,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 的映像的工件位于公共 Cloud Storage 存储桶的
gs://cos-tools/<build-number>/lakitu-arm64/
下。例如,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 版本系统维护的一个软件包镜像下找到。您可以为如下某个网址附上正确的 tar 压缩包名称,从而访问这些归档:
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 不接受公众的直接贡献。