בדף הזה מפורט קוד המקור של מערכת ההפעלה שמותאמת לקונטיינרים, כולל הסבר על גישה למקור של קובץ אימג' של מערכת ההפעלה שמותאמת לקונטיינרים, למקור של כלי קונטיינרים קשורים ועל בנייה ממקור.
מקור התמונה של מערכת הפעלה שמותאמת לקונטיינרים
מערכת הפעלה שמותאמת לקונטיינרים מבית Google היא fork של פרויקט הקוד הפתוח מערכת ההפעלה Chromium. אפשר למצוא את רוב קוד המקור של מערכת הפעלה שמותאמת לקונטיינרים במאגרי COS בכתובת https://cos.googlesource.com.
הנה כמה מקורות מידע שימושיים שיעזרו לכם לקבוע את קוד המקור ששימש לבניית התמונה:
בתוך תמונת מערכת ההפעלה, הקובץ
/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 של הקומיט של מקור הליבה ששימש לבניית גרסה מסוימת מסופק גם בהערות הגרסה של אותה גרסה.בנוסף, אפשר למצוא בקטגוריה ציבורית של Google Cloud Storage בכתובת
gs://cos-tools/<build-number>/ארטיפקטים נוספים של תמונות, כולל מקורות ליבה וכותרות ליבה בארכיון. לדוגמה, ארטיפקטים של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 זמינים בקטגוריה הציבורית של Cloud Storage בכתובת
gs://cos-tools/<build-number>/lakitu-arm64/. לדוגמה, ארטיפקטים של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
אנשים שמכירים את מערכת build של מערכת ההפעלה Chromium יכולים גם להיעזר במתכוני הבנייה בכתובת https://cos.googlesource.com/cos/overlays/board-overlays/+/master/project-lakitu/
אפשר גם למצוא ארכיונים של קוד המקור בפועל של חבילות נפרדות באחד משרתי הגיבוי של החבילות שמתוחזקים על ידי מערכת build של מערכת ההפעלה Chromium. אפשר לגשת אליהם על ידי הוספת השם הנכון של קובץ ה-tarball לאחת מכתובות ה-URL הבאות:
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 Build ובמסמכים אחרים בנושא מערכת ההפעלה Chromium Build מוסבר איך פועלים מערכת ה-Build ומאגרי החבילות.
מקור המאגר
מערכת הפעלה שמותאמת לקונטיינרים מבית Google מגיעה עם כמה כלים שמורידים קונטיינרים בזמן הריצה. המאגרים האלה הם גם קוד פתוח. בטבלה הבאה מפורטים המאגרים, מיקום המקור ומיקום השחרור שלהם.
| קונטיינרים | מיקום ההפצה |
|---|---|
| Toolbox | 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 agent | Container Registry gcr.io/gce-containers/konlet |
בנייה ממקור
פועלים לפי ההוראות במאמר יצירה מקוד פתוח כדי ליצור קובץ אימג' של דיסק של מערכת הפעלה שמותאמת לקונטיינרים מהמקור.
תכנים שנוספו עם קוד מקור
מערכת הפעלה שמותאמת לקונטיינרים לא מקבלת תרומות ישירות מהציבור.