בדף הזה מוסבר איך לפתח ליבות של Android במכשירי Cuttlefish.
מניפסטים נתמכים של ליבת מערכת ההפעלה
Cuttlefish תומך במניפסטים הבאים של הליבה בענף הגרסה האחרונה של Android ובגרסאות GSI של AOSP.
- ב-android-latest-release- common-android-mainline
 
- ב-android-15.0.0_r36- common-android16-6.12
- common-android15-6.6
- common-android14-6.1
- common-android14-5.15
 
- ב-aosp-android13-gsi- common-android13-5.15
- common-android13-5.10
 
- ב-aosp-android12-gsi- common-android12-5.10
- common-android12-5.4
- common-android-4.19-stable
 
- ב-aosp-android11-gsi- common-android11-5.4
- common-android-4.19-stable
- common-android-4.14-stable
 
אלה מקורות הליבה לפיתוח ליבה במכשירי Cuttlefish.
- kernel/common-android-mainline
- kernel/common-android16-6.12
- kernel/common-android15-6.6
- kernel/common-android14-6.1
- kernel/common-android14-5.15
- kernel/common-android13-5.15
- kernel/common-android13-5.10
פיתוח ליבות של Android
כדי לפתח ליבות במכשירי Cuttlefish, פועלים לפי השלבים הבאים:
- משכפלים את המניפסט המתאים של מאגר ליבת הלינוקס למכשיר Cuttlefish ומבצעים את השינויים הרצויים. - mkdir common-android-mainline- cd common-android-mainline- repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline- repo sync -c -j$(nproc) -q
- בונים את הליבה ואת ramdisk. מידע נוסף זמין במאמר בנושא יצירת מודולים של ספקים למכשיר הווירטואלי. - tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist- אם משתמשים במניפסטים של ליבת - common-android-4.19-stable,- common-android-4.14-stableאו- common-android11-5.4, מריצים את הפקודה:- BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.sh- במקום לבצע את הבנייה באופן מקומי (כדי להימנע מהורדה של מקור הליבה, מהגדרת סביבת פיתוח של הליבה), אפשר להוריד את הארטיפקטים הרלוונטיים בכתובת ci.android.com. 
- מפעילים את הליבה ואת ramdisk באמצעות Cuttlefish. - cvd create \ -kernel_path=./out/virtual_device_x86_64/dist/bzImage \ -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.img- אם מפעילים ליבת GKI שאינה (כלומר, כל ליבה בגרסה 4.19 ומטה), משמיטים את הארגומנט - -initramfs_path.- אם מפעילים את הליבה בגרסת aarch64 של Cuttlefish, צריך להשתמש בהגדרת ה-build - aarch64ובארטיפקט- Imageבמקום ב-- bzImage.- cvd create \ -kernel_path=./out/virtual_device_aarch64/dist/Image \ -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img
