이 페이지에서는 Container-Optimized OS 이미지 소스에 액세스하는 방법, 관련 컨테이너 도구의 소스, 소스에서 빌드하는 방법을 포함하여 Container-Optimized OS 소스 코드에 대한 세부정보를 제공합니다.
Container-Optimized OS 이미지 소스
Google의 Container-Optimized OS는 Chromium OS 오픈소스 프로젝트의 한 포크입니다. Container-Optimized OS의 소스 코드는 대부분 COS 저장소(https://cos.googlesource.com)에 있습니다.
이미지를 빌드하는 데 사용된 소스 코드를 확인하는 데 유용한 몇 가지 리소스는 다음과 같습니다.
OS 이미지 내에서
/opt/google/chrome/resources/about_os_credits.html
파일에는 해당 이미지를 빌드하는 데 사용된 모든 패키지의 버전 및 라이선스 정보가 포함되어 있습니다.커널 소스: https://cos.googlesource.com/third_party/kernel/+/cos-5.15
커널 구성(x86): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/x86/configs/lakitu_defconfig
커널 구성(Arm): https://cos.googlesource.com/third_party/kernel/+/refs/heads/cos-5.15/arch/arm64/configs/lakitu_defconfig
특정 버전을 빌드하는 데 사용된 커널 소스의 커밋 SHA1은 해당 버전의 출시 노트에도 나와 있습니다.보관된 커널 소스 및 커널 헤더를 포함한 추가 이미지 아티팩트는
gs://cos-tools/<build-number>/
의 공개 Google Cloud Storage 버킷에서도 제공됩니다. 예를 들어,cos-dev-105-17228-0-0
의 아티팩트는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/
- Arm 기반 이미지의 이미지 아티팩트는
gs://cos-tools/<build-number>/lakitu-arm64/
의 공개 Cloud Storage 버킷에서 사용 가능합니다. 예를 들어,cos-arm64-dev-105-17228-0-0
의 아티팩트는gs://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
Chromium OS 빌드 시스템에 익숙한 사용자는 https://cos.googlesource.com/cos/overlays/board-overlays/+/master/project-lakitu/에서 유용한 빌드 레시피를 확인할 수 있습니다.
또한 개별 패키지에 대한 실제 소스 코드 보관 파일은 Chromium OS 빌드 시스템에서 유지관리하는 패키지 미러 중 하나에서도 찾을 수 있습니다. 다음 URL 중 하나에 올바른 tarball 이름을 추가하여 액세스할 수 있습니다.
https://storage.googleapis.com/chromeos-mirror/gentoo/distfiles/
https://storage.googleapis.com/chromeos-localmirror/distfiles/
예를 들어 kubernetes 버전 1.19.2를 다운로드하려면
https://storage.googleapis.com/chromeos-localmirror/distfiles/kubernetes-server-linux-amd64-1.19.2.tar.gz
를 사용합니다.
Chromium OS 빌드 FAQ 및 다른 Chromium OS 빌드 문서에 빌드 시스템 및 패키지 미러의 작동 원리가 설명되어 있습니다.
컨테이너 소스
Google의 Container-Optimized OS는 런타임에서 컨테이너를 다운로드하는 일부 도구와 함께 제공됩니다. 해당 컨테이너도 오픈소스로 제공됩니다. 다음 표에는 컨테이너, 컨테이너의 소스 위치, 출시 위치가 나열되어 있습니다.
컨테이너 | 출시 위치 |
---|---|
도구 상자 | Container Registry gcr.io/cos-cloud/toolbox |
Cos-gpu-installer | Container Registry gcr.io/cos-cloud/cos-gpu-installer |
Cloud Logging 에이전트 | Container Registry gcr.io/stackdriver-agents/stackdriver-logging-agent |
Konlet 에이전트 | Container Registry gcr.io/gce-containers/konlet |
소스에서 빌드
오픈소스에서 빌드의 지침을 따라 소스에서 Container-Optimized OS 디스크 이미지를 빌드하세요.
소스 코드 참여
Container-Optimized OS는 공개적인 직접 참여를 허용하지 않습니다.