تتضمّن أجهزة Android عدة أقسام تؤدي وظائف مختلفة في عملية التمهيد.
الأقسام العادية
قسم
boot
يحتوي هذا القسم على صورة نواة ويتم إنشاؤه باستخدامmkbootimg
. يمكنك استخدام قسم افتراضي لتثبيت أي من الصور مباشرةً بدون تثبيت قسم تمهيد جديد. يحتوي هذا القسم أيضًا على ملف ramdisk العام في الأجهزة التي تم إطلاقها قبل Android 13.kernel. يُعيد قسم
kernel
الافتراضي تحميل الإصدار القديم من نواة النظام (zImage
zImage-dtb
Image.gz-dtb
) من خلال كتابة ملف تعريف نواة النظام الجديد فوق ملف تعريف نواة النظام القديم. إذا كانت نواة التطوير المقدَّمة غير متوافقة، قد تحتاج إلى تحديث قسمvendor
أوsystem
أوdtb
(إذا كان متوفّرًا) باستخدام وحدات النواة المرتبطة.ramdisk. يُعيد قسم
ramdisk
الافتراضي كتابة ملف ramdisk عن طريق كتابة صورة ملف ramdisk الجديد فوق صورة ملف ramdisk القديم.
تحدِّد عملية الكتابة فوق البيانات موقع بدء الصورة الحالية في eMMC وتنسخ الصورة الجديدة إلى هذا الموقع. قد تكون الصورة الجديدة (النواة أو أداة ramdisk) أكبر من الصورة الحالية، ولكي يُفرِّغ bootloader مساحة، يمكنه نقل البيانات التي تلي الصورة أو إلغاء العملية مع إعلامك بخطأ.
قسم
init_boot
يحتوي هذا القسم على ملف ramdisk العام للأجهزة التي تعمل بالإصدار 13 من Android والإصدارات الأحدث.قسم
system
يحتوي هذا القسم على إطار عمل Android.قسم
odm
يحتوي هذا القسم على تخصيصات المصنّع الأصلي للتصميم (ODM) لحِزم دعم اللوحة (BSP) الخاصة بمورّدي المنظومة على الرقاقة (SoC). تتيح هذه التخصيصات لمطوّري الأجهزة الأصليين استبدال مكونات منظومة على رقاقة (SoC) أو تخصيصها، و تنفيذ وحدات نواة الأنظمة للمكونات والبرامج الخفية الخاصة باللوحة، و الميزات الخاصة بمطوّري الأجهزة الأصليين على طبقات تجريد الأجهزة (HAL). هذا القسم اختياري، ويتم استخدامه عادةً لتضمين عمليات التخصيص حتى تتمكّن الأجهزة من استخدام صورة مزوّد واحد لعدة رموز تعريف للأجهزة. لمعرفة التفاصيل، يُرجى الاطّلاع على ODM الأقسام.قسم
odm_dlkm
هذا القسم مخصّص لتخزين ملفّات برمجية لوحدة معالجة مركزية (ODM) . يتيح تخزين وحدات نواة ODM في قسمodm_dlkm
(بدلاً من قسمodm
) إمكانية تحديث وحدات نواة ODM بدون تحديث قسمodm
.قسم
recovery
يخزِّن هذا القسم صورة الاسترداد التي يتم التمهيد منها أثناء عملية التحديث عبر الهواء. يمكن للأجهزة التي تتيح التحديثات السلسة تخزين صور الاسترداد كملف دوار رام مضمّن في صورةboot
أوinit_boot
(بدلاً من ملف صورة منفصل).قسم
cache
يخزِّن هذا القسم البيانات المؤقتة وهو اختياري إذا كان الجهاز يستخدم التحديثات السلسة. لا يجب أن يكون قسم ذاكرة التخزين المؤقت قابلاً للكتابة من أداة تحميل التشغيل، ولكن يجب أن يكون قابلاً للمحو. يعتمد حجم القسم على نوع الجهاز ومدى توفّر المساحة علىuserdata
، ويتراوح عادةً بين 50 و100 ميغابايت.قسم
misc
يستخدم قسم الاسترداد هذا القسم الذي تبلغ مساحته 4 كيلوبايت أو أكثر.قسم
userdata
يحتوي هذا القسم على التطبيقات التي ثبَّتها المستخدم و البيانات، بما في ذلك بيانات التخصيص.قسم
metadata
يُستخدَم هذا القسم لتخزين مفتاح تشفير البيانات الوصفية عندما يستخدم الجهاز تشفير البيانات الوصفية. حجمه هو 16 ميغابايت أو أكبر. ولا يتم تشفير هذه البيانات ولا يتم التقاط لقطات لها. ويتم محوه عند إعادة ضبط الجهاز على الإعدادات الأصلية. إنّ استخدام هذا القسم محدود بشدة.قسم
vendor
يحتوي هذا القسم على أي ملف ثنائي غير قابل للتثبيت على نظام التشغيل AOSP. إذا كان الجهاز لا يحتوي على معلومات خاصة بالملكية، يمكنك حذف هذا القسم.قسم
vendor_dlkm
هذا القسم مخصّص لتخزين وحدات ملف التمهيد التابعة للمورّد. يتيح تخزين وحدات نواة المورّد في القسمvendor_dlkm
(بدلاً من القسمvendor
) إمكانية تعديل وحدات النواة بدون تعديل القسمvendor
.قسم
radio
يحتوي هذا القسم على صورة الراديو وهو مطلوب فقط للأجهزة التي تتضمّن راديوًا مع برنامج خاص بالراديو في قسم مخصّص.قسم
tos
يخزِّن هذا القسم الصورة الثنائية لنظام التشغيل Trusty ولا يتم استخدامه إلا إذا كان الجهاز يتضمّن Trusty. لمعرفة التفاصيل، يُرجى الاطّلاع على بنود الخدمة الأقسام.قسم
pvmfw
يخزِّن هذا القسم برمجية الثابت لجهاز افتراضي محمي (pvmfw)، وهي الرمز البرمجي الأول الذي يتم تشغيله في الأجهزة الافتراضية المحمية. اطّلِع على البرامج الثابتة المحمية للأجهزة الافتراضية للحصول على مزيد من التفاصيل.
الأقسام الديناميكية
يمكن للأجهزة التي تعمل بنظام التشغيل Android 11 والإصدارات الأحدث استخدام المساحة التخزينية الديناميكية، وهي نظام لتقسيم مساحة المستخدم في Android يتيح إنشاء أو تغيير حجم أو حذف الأقسام أثناء التحديثات عبر شبكة غير سلكية (OTA). لمعرفة التفاصيل، يُرجى الاطّلاع على التقسيمات الديناميكية.
تحديد الأقسام المهمة
إذا كان الجهاز يتطلّب أقسامًا أو بيانات معيّنة لتشغيله، عليك تحديد
هذه الأقسام أو البيانات على أنّها محمية بالكامل أو قابلة لإعادة الفلاش، ما يعني
أنّه يمكن إعادة إنشائها أو توفيرها أو استخراجها باستخدام الأمر fastboot oem
.
ويشمل ذلك بيانات مثل الإعدادات الخاصة بالمصنع لكل جهاز والأرقام التسلسلية
وبيانات المعايرة وغير ذلك.
التغييرات في Android 11
يتضمّن نظام التشغيل Android 11 تغييرات عديدة على الأقسام، بما في ذلك القيود المفروضة على الربط بالمكتبات ونُسخ صور Soong الجديدة.
الشكل 1: تنسيق التقسيم في Android 11
صورة نظام واحدة (SSI) صورة جديدة تجريبية تحتوي على الصور
system
وsystem_ext
عندما تكون هذه الأقسام شائعة لمجموعة من الأجهزة المستهدَفة، يمكن لهذه الأجهزة مشاركة ملف SSI وتخطّي إنشاء ملفَيsystem
وsystem_ext
.قسم
system_ext
قسم جديد يمكنه استخدام مواردsystem
ويمكن أن يتضمّن وحدات نظام:توسيع وحدات نظام AOSP في قسم
system
: ننصح بتحميل هذه الوحدات إلى AOSP حتى يمكن تثبيتها على القسمsystem
لاحقًا.تجميع وحدات خاصة بالمصنّع الأصلي للجهاز أو منظومة على الرقاقة (SoC) ننصحك بإزالة ربط هذه الوحدات كي يتمكّن من تثبيتها على قسم
product
أوvendor
.
قسم
system
صورة نظام شائعة تُستخدَم لمنتجات المصنّعين الأصليّين للأجهزة ننصح بنقل الوحدات المملوكة خارج القسمsystem
، إما عن طريق إرسالها إلى AOSP أو نقلها إلى القسمsystem_ext
.قسم
product
يمكن الآن لهذا القسم استخدام الواجهات المسموح بها لتركيب وحدات خاصة بالمنتجات غير المضمّنة في أي أقسام أخرى.
تغييرات مجموعة تطوير البرامج الأصلية للمورّدين (VNDK)
مجموعة تطوير البرامج الأصلية للمورّدين (VNDK) هي مجموعة من المكتبات المثبَّتة في قسم system
والمصمّمة
حصريًا للمورّدين من أجل تنفيذ واجهات برمجة التطبيقات لمستوى الحِزم (HAL).
في الإصدار 10 من Android والإصدارات الأقدم، يمكن أن يرتبط القسم
vendor
بمكتبات VNDK في القسمsystem
، ولكن لا يمكنه الارتباط بمكتبات أخرى في القسمsystem
. يمكن أن ترتبط الوحدات الأصلية في القسمproduct
بأي مكتبة في القسمsystem
.في الإصدار 11 من Android والإصدارات الأحدث، يمكن أن يرتبط قسما
product
وvendor
بمكتبات VNDK في القسمsystem
، ولكن لا يمكنهم الارتباط بمكتبات أخرى في القسمsystem
.
خيارات المنتجات في Soong
يستخدم نظام إنشاء Soong صِيغ الصور لتقسيم
ملحقات الإنشاء. يمكن للوحدات الأصلية (/build/soong/cc
) تحويل وحدات معالجة
النظام إلى الصيغة الأساسية ووحدات معالجة المورّد إلى
صيغة المورّد، ولا يمكن لوحدة في أحد صيغ الصور الربط بوحدات أخرى في
صيغة صورة مختلفة.
في الإصدار 10 من Android أو الإصدارات الأقدم، تنشئ وحدة النظام تلقائيًا الأسعار الأساسية. ويمكنها أيضًا إنشاء صيغ المورّدين من خلال تحديد
vendor_available: true
في ملفاتAndroid.bp
، ما يتيح لوحدات المورّدين الربط بوحدات النظام. يمكن أيضًا لمكتبات VNDK، وهي نُسخ مخصّصة لمورّد من مكتباتsystem
، إنشاء نُسخ مخصّصة لمورّد من وحدات المورّد من خلال تحديدvendor_available: true
في ملفاتAndroid.bp
(راجِع المثال).في Android 11، يمكن أيضًا لوحدة النظام إنشاء خيار منتج (بالإضافة إلى خيارات المنتج الأساسية والتابعة للمورّد) من خلال تحديد
vendor_available: true
.في الإصدار 12 من نظام التشغيل Android أو الإصدارات الأحدث، تنشئ وحدة النظام التي تحتوي على
vendor_available: true
إصدارًا خاصًا بالمورّد بالإضافة إلى الإصدار الأساسي. لإنشاء خيار منتج، يجب تحديدproduct_available: true
. لا تتوفّر بعض مكتبات VNDK التي لا تتضمّنproduct_available: true
لوحدات المنتجات.