Esta página proporciona detalles sobre el código fuente de Container-Optimized OS, incluido cómo acceder a la fuente de la imagen de Container-Optimized OS, origen de las herramientas del contenedor 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 rama de la 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.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 confirmación de la fuente del kernel que se usa para compilar una versión en particular es también se proporcionan en las notas de la versión de 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-105-17228-0-0
están 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 las imágenes basadas en ARM están disponibles de forma pública
bucket de Cloud Storage en
gs://cos-tools/<build-number>/lakitu-arm64/
. Por ejemplo, los artefactos decos-arm64-dev-105-17228-0-0
tienen un valor inferior ags://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 cuenta con algunas herramientas que descargan contenedores en el entorno de ejecución. Esos contenedores también son de código abierto. En la siguiente tabla, se indican contenedores, su ubicación de origen y de lanzamiento.
Contenedores | Ubicación del 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 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.