En esta página, se proporcionan detalles sobre el código fuente de Container-Optimized OS, incluido cómo acceder a la fuente de la imagen de Container-Optimized OS, la fuente para herramientas de contenedor relacionadas y cómo compilar a partir del código 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.html
contiene 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.10.
Configuración del kernel: https://cos.googlesource.com/cos/overlays/board-overlays/+/refs/heads/master/project-lakitu/sys-kernel/lakitu-kernel-5_10/files/base.config-x86_64.
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 decos-dev-70-11021-11-0
están engs://cos-tools/11021.11.0/
.
$ gsutil ls gs://cos-tools/11021.11.0/
gs://cos-tools/11021.11.0/kernel-headers.tgz
gs://cos-tools/11021.11.0/kernel-src.tar.gz
gs://cos-tools/11021.11.0/kernel-src.tar.gz.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 incluye 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 la de lanzamiento.
Contenedores | Ubicación de la versión |
---|---|
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 Klet | 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 del código fuente
Container-Optimized OS no acepta contribuciones directas del público.