En esta página se proporciona información sobre el código fuente de Container-Optimized OS, incluido cómo acceder al código fuente de la imagen de Container-Optimized OS, el código fuente de las herramientas de contenedores relacionadas y cómo compilar a partir del código fuente.
Origen de la imagen de Container-Optimized OS
Container-Optimized OS de Google es una bifurcación del proyecto de código abierto Chromium OS. Puedes encontrar la mayor parte del código fuente de Container-Optimized OS en los repositorios de COS: https://cos.googlesource.com.
Estos son algunos de los recursos útiles que pueden ayudarte a determinar el código fuente usado para crear la imagen:
Dentro de la imagen del SO, el archivo
/opt/google/chrome/resources/about_os_credits.html
contiene información sobre la versión y la licencia de todos los paquetes que se han usado para crear 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.
El SHA1 de la confirmación de la fuente del kernel utilizada para compilar una versión concreta también se proporciona en las notas de la versión de esa versión.También hay disponibles artefactos de imagen adicionales, como fuentes del kernel y encabezados del kernel archivados, en un segmento público de Google Cloud Storage en
gs://cos-tools/<build-number>/
. Por ejemplo, los artefactos decos-dev-105-17228-0-0
se encuentran engs://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 imagen para imágenes basadas en Arm están disponibles en el segmento público de Cloud Storage en
gs://cos-tools/<build-number>/lakitu-arm64/
. Por ejemplo, los artefactos decos-arm64-dev-105-17228-0-0
se encuentran 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
Si conoces el sistema de compilación de Chromium OS, puede que te resulten útiles las recetas de compilación de https://cos.googlesource.com/cos/overlays/board-overlays/+/master/project-lakitu/.
Los archivos de código fuente reales de los paquetes individuales también se pueden encontrar en uno de los mirrors de paquetes que mantiene el sistema de compilación de Chromium OS. Para acceder a ellos, añade el nombre del archivo tar.gz correcto a una de las siguientes URLs:
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
.
En las preguntas frecuentes sobre la compilación de Chromium OS y en otra documentación sobre la compilación de Chromium OS se explica cómo funcionan el sistema de compilación y los mirrors de paquetes.
Origen del contenedor
Container-Optimized OS de Google se distribuye con algunas herramientas que descargan contenedores en tiempo de ejecución. Esos contenedores también son de código abierto. En la siguiente tabla se indican 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 registro de Cloud | Container Registry gcr.io/stackdriver-agents/stackdriver-logging-agent |
Agente de Konlet | Container Registry gcr.io/gce-containers/konlet |
Compilación a partir del código fuente
Sigue las instrucciones de la sección Crear a partir de código abierto para crear una imagen de disco de Container-Optimized OS a partir del código fuente.
Contribuciones de código fuente
Container-Optimized OS no acepta contribuciones directas del público.