Esta página fornece detalhes sobre o código-fonte do SO otimizado para contentores, incluindo como aceder à origem da imagem do SO otimizado para contentores, à origem das ferramentas de contentores relacionadas e como criar a partir da origem.
Origem da imagem do SO otimizado para contentores
O SO otimizado para contentores da Google é uma ramificação do projeto de código aberto Chromium OS. Pode encontrar a maioria do código fonte do Container-Optimized OS nos repositórios do COS https://cos.googlesource.com.
Alguns dos recursos úteis que podem ajudar a determinar o código fonte usado para criar a imagem incluem:
Na imagem do SO, o ficheiro
/opt/google/chrome/resources/about_os_credits.html
contém informações de versão e licença para todos os pacotes usados para criar essa imagem.Fonte do kernel: https://cos.googlesource.com/third_party/kernel/+/cos-5.15.
Configuração do kernel (x86): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/x86/configs/lakitu_defconfig.
Configuração do kernel (Arm): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/arm64/configs/lakitu_defconfig.
O SHA1 de confirmação da origem do kernel usado para criar uma versão específica também é fornecido nas notas de lançamento dessa versão.Também estão disponíveis artefactos de imagem adicionais, incluindo origens do kernel e cabeçalhos do kernel arquivados, num contentor público do Google Cloud Storage em
gs://cos-tools/<build-number>/
. Por exemplo, os artefactos paracos-dev-105-17228-0-0
estão emgs://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/
- Os artefactos de imagem para imagens baseadas em ARM estão disponíveis no contentor do Cloud Storage público em
gs://cos-tools/<build-number>/lakitu-arm64/
. Por exemplo, os artefactos paracos-arm64-dev-105-17228-0-0
estão emgs://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
As pessoas familiarizadas com o sistema de compilação do Chromium OS também podem achar as receitas de compilação em https://cos.googlesource.com/cos/overlays/board-overlays/+/master/project-lakitu/ úteis.
Também pode encontrar arquivos de código fonte reais para pacotes individuais num dos espelhos de pacotes mantidos pelo sistema de compilação do Chromium OS. Pode aceder a estes ficheiros anexando o nome do ficheiro tar.gz correto a um dos seguintes URLs:
https://storage.googleapis.com/chromeos-mirror/gentoo/distfiles/
https://storage.googleapis.com/chromeos-localmirror/distfiles/
Por exemplo, para transferir a versão 1.19.2 do Kubernetes, use o comando
https://storage.googleapis.com/chromeos-localmirror/distfiles/kubernetes-server-linux-amd64-1.19.2.tar.gz
.
As Perguntas frequentes sobre a compilação do Chromium OS e outra documentação sobre a compilação do Chromium OS explicam como funcionam o sistema de compilação e as réplicas de pacotes.
Origem do contentor
O SO otimizado para contentores da Google é fornecido com algumas ferramentas que transferem contentores no tempo de execução. Esses contentores também são de código aberto. A tabela seguinte apresenta os contentores, a respetiva localização de origem e a localização de lançamento.
Contentores | Localização do lançamento |
---|---|
Caixa de ferramentas | Container Registry gcr.io/cos-cloud/toolbox |
Cos-gpu-installer | Container Registry gcr.io/cos-cloud/cos-gpu-installer |
Agente do Cloud Logging | Container Registry gcr.io/stackdriver-agents/stackdriver-logging-agent |
Agente Konlet | Container Registry gcr.io/gce-containers/konlet |
Criar a partir da origem
Siga as instruções no artigo Criação a partir de código aberto para criar uma imagem de disco do SO otimizado para contentores a partir da origem.
Contribuições de código-fonte
O SO otimizado para contentores não aceita contribuições diretas do público.