En esta página, se proporcionan detalles sobre el código fuente de Container-Optimized OS, como cómo acceder a la fuente de imágenes de Container-Optimized OS, la fuente de herramientas de contenedores relacionadas y cómo compilar desde la fuente.
Fuente de la imagen de Container-Optimized OS
Container-Optimized OS de Google es una bifurcación del proyecto de código abierto de Chromium OS. Puedes encontrar la mayoría de los códigos fuente para Container-Optimized OS en los repositorios de COS https://cos.googlesource.com.
Algunos de los recursos útiles que pueden ayudarte a determinar el código fuente utilizado para compilar la imagen incluyen lo siguiente:
- Dentro de la imagen de SO, el archivo - /opt/google/chrome/resources/about_os_credits.htmlcontiene información sobre la versión y la licencia de todos los paquetes usados para compilar esa imagen.
- Fuente del kernel: https://cos.googlesource.com/third_party/kernel/+/cos-5.15. 
 Configuración del kernel (x86): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/x86/configs/lakitu_defconfig.
 Configuración del kernel (Arm): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/arm64/configs/lakitu_defconfig.
 La confirmación SHA1 de la fuente del kernel que se utiliza para compilar una versión particular también se proporciona en las notas de la versión para esa versión.
- Los artefactos de imágenes adicionales, que incluyen las fuentes de kernel archivadas y los encabezados de kernel, también están disponibles en un bucket público de Google Cloud Storage en - gs://cos-tools/<build-number>/. Por ejemplo, los artefactos de- cos-dev-105-17228-0-0están en- 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/
- Los artefactos de imágenes para imágenes basadas en Arm están disponibles en el bucket público de Cloud Storage en gs://cos-tools/<build-number>/lakitu-arm64/. Por ejemplo, los artefactos decos-arm64-dev-105-17228-0-0están engs://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
- A aquellos que están familiarizados con el sistema de compilación de Chromium OS también pueden encontrar útiles las recetas de compilación en https://cos.googlesource.com/cos/overlays/board-overlays/+/master/project-lakitu/. 
- Los archivos de código fuente reales para paquetes individuales también pueden encontrarse en uno de los duplicados de paquetes que mantiene el sistema de compilación de Chromium OS. Para acceder a estos, agrega el nombre correcto de tarball a una de las siguientes URL: - https://storage.googleapis.com/chromeos-mirror/gentoo/distfiles/
- https://storage.googleapis.com/chromeos-localmirror/distfiles/- Por ejemplo, para descargar la versión 1.19.2 de Kubernetes, usa - https://storage.googleapis.com/chromeos-localmirror/distfiles/kubernetes-server-linux-amd64-1.19.2.tar.gz.
 
Las Preguntas frecuentes sobre la compilación de Chromium OS y otra documentación sobre la Compilación de Chromium OS explican cómo funcionan el sistema de compilación y las duplicaciones de paquetes.
Fuente del contenedor
Container-Optimized OS de Google se envía con algunas herramientas que descargan contenedores durante el tiempo de ejecución. Esos contenedores también son de código abierto. En la siguiente tabla, se enumeran los contenedores, su ubicación de origen y su ubicación de lanzamiento.
| Contenedores | Ubicación de lanzamiento | 
|---|---|
| Caja de herramientas | Container Registry gcr.io/cos-cloud/toolbox | 
| Cos-gpu-installer | Container Registry gcr.io/cos-cloud/cos-gpu-installer | 
| Agente de Cloud Logging | Container Registry gcr.io/stackdriver-agents/stackdriver-logging-agent | 
| Agente de Konlet | Container Registry gcr.io/gce-containers/konlet | 
Cómo compilar desde la fuente
Sigue las instrucciones en Cómo compilar a partir del código abierto para compilar una imagen de disco de Container-Optimized OS desde la fuente.
Contribuciones de código fuente
Container-Optimized OS no acepta contribuciones directas del público.