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.htmlconté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 para- cos-dev-105-17228-0-0estão em- 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/
- 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-0estã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.