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.4.
커널 구성: https://cos.googlesource.com/cos/overlays/board-overlays/+/refs/heads/master/project-lakitu/sys-kernel/lakitu-kernel-5_4/files/base.config-x86_64.
특정 버전을 빌드하는 데 사용된 커널 소스의 커밋 SHA1은 해당 버전의 출시 노트에도 나와 있습니다.보관 된 커널 소스 및 커널 헤더를 포함한 추가 이미지 아티팩트는
gs://cos-tools/<build-number>/
의 공개 Google Cloud Storage 버킷에서도 제공됩니다. 예를 들어,cos-dev-70-11021-11-0
의 아티팩트는gs://cos-tools/11021.11.0/
아래에 있습니다.
$ gsutil ls gs://cos-tools/11021.11.0/
gs://cos-tools/11021.11.0/kernel-headers.tgz
gs://cos-tools/11021.11.0/kernel-src.tar.gz
gs://cos-tools/11021.11.0/kernel-src.tar.gz.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 빌드 문서에 빌드 시스템 및 패키지 미러의 작동 원리가 설명되어 있습니다.
소스에서 빌드
오픈소스에서 빌드의 지침을 따라 소스에서 Container-Optimized OS 디스크 이미지를 빌드하세요.
소스 코드에 기여
기본 Chromium 저장소에 코드를 기부하는 방법에 대한 지침은 http://dev.chromium.org/developers/contributing-code를 참조하세요.