Questa pagina fornisce dettagli sul codice sorgente di Container-Optimized OS, tra cui come accedere al codice sorgente dell'immagine di Container-Optimized OS, al codice sorgente degli strumenti per i contenitori correlati e come eseguire il build dal codice sorgente.
Origine dell'immagine Container-Optimized OS
Container-Optimized OS di Google è un fork del progetto open source Chromium OS. Puoi trovare la maggior parte del codice sorgente di Container-Optimized OS nei repository COS all'indirizzo https://cos.googlesource.com.
Ecco alcune risorse utili che possono aiutarti a determinare il codice sorgente utilizzato per creare l'immagine:
All'interno dell'immagine del sistema operativo, il file
/opt/google/chrome/resources/about_os_credits.html
contiene informazioni sulla versione e sulla licenza di tutti i pacchetti utilizzati per compilare l'immagine.Codice sorgente del kernel: https://cos.googlesource.com/third_party/kernel/+/cos-5.15.
Configurazione del kernel (x86): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/x86/configs/lakitu_defconfig.
Configurazione del kernel (Arm): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/arm64/configs/lakitu_defconfig.
Il commit SHA1 del codice sorgente del kernel utilizzato per compilare una determinata versione è fornito anche nelle release-notes per quella versione.Altri elementi dell'immagine, tra cui sorgenti del kernel e intestazioni del kernel archiviate, sono disponibili anche in un bucket pubblico di Google Cloud Storage in
gs://cos-tools/<build-number>/
. Ad esempio, gli elementi percos-dev-105-17228-0-0
si trovano ings://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/
- Gli elementi delle immagini per le immagini basate su Arm sono disponibili nel
bucket Cloud Storage pubblico in
gs://cos-tools/<build-number>/lakitu-arm64/
. Ad esempio, gli elementi percos-arm64-dev-105-17228-0-0
si trovano ings://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
Chi ha dimestichezza con il sistema di build di Chromium OS potrebbe trovare utili anche le ricette di build all'indirizzo https://cos.googlesource.com/cos/overlays/board-overlays/+/master/project-lakitu/.
Gli archivi del codice sorgente effettivi dei singoli pacchetti sono disponibili anche in uno dei mirror dei pacchetti gestiti dal sistema di build di Chromium OS. Puoi accedervi aggiungendo il nome del file tarball corretto a uno dei seguenti URL:
https://storage.googleapis.com/chromeos-mirror/gentoo/distfiles/
https://storage.googleapis.com/chromeos-localmirror/distfiles/
Ad esempio, per scaricare la versione 1.19.2 di Kubernetes, utilizza
https://storage.googleapis.com/chromeos-localmirror/distfiles/kubernetes-server-linux-amd64-1.19.2.tar.gz
.
Le Domande frequenti sulla compilazione di Chromium OS e altra documentazione relativa alla compilazione di Chromium OS spiegano il funzionamento del sistema di compilazione e dei mirror dei pacchetti.
Origine container
Container-Optimized OS di Google viene fornito con alcuni strumenti che scaricano i container in fase di esecuzione. Anche questi container sono open source. La tabella seguente elenca i contenitori, la loro posizione di origine e la posizione di rilascio.
Container | Posizione di rilascio |
---|---|
Cassetta degli attrezzi | Container Registry gcr.io/cos-cloud/toolbox |
Cos-gpu-installer | Container Registry gcr.io/cos-cloud/cos-gpu-installer |
Agente di logging cloud | Container Registry gcr.io/stackdriver-agents/stackdriver-logging-agent |
Agente Konlet | Container Registry gcr.io/gce-containers/konlet |
Creazione dal codice sorgente
Segui le istruzioni riportate nella sezione Creazione da open source per creare un'immagine disco di Container-Optimized OS dall'origine.
Contributi al codice sorgente
Container-Optimized OS non accetta contributi diretti da parte del pubblico.