وكالات السفر عبر الإنترنت القائمة على الكتلة

يمكنك تمكين التحديثات عبر الأثير (OTA) للأجهزة الجديدة التي تعمل بنظام التشغيل Android 5.0. OTA هي الآلية التي من خلالها يقوم مصنعو المعدات الأصلية بتحديث قسم النظام الخاص بالجهاز عن بعد:

  • يستخدم Android 5.0 والإصدارات الأحدث حظر تحديثات OTA للتأكد من أن كل جهاز يستخدم نفس القسم بالضبط. بدلاً من مقارنة الملفات الفردية وحوسبة التصحيحات الثنائية، تتعامل كتلة OTA مع القسم بأكمله كملف واحد وتحسب تصحيحًا ثنائيًا واحدًا، مما يضمن أن القسم الناتج يحتوي بالضبط على البتات المقصودة. يتيح ذلك لصورة نظام الجهاز تحقيق نفس الحالة عبر fastboot أو OTA.
  • استخدم Android 4.4 والإصدارات السابقة تحديثات OTA للملفات، والتي ضمنت أن الأجهزة تحتوي على محتويات ملفات وأذونات وأوضاع مماثلة، ولكنها سمحت للبيانات الوصفية مثل الطوابع الزمنية وتخطيط وحدة التخزين الأساسية بالاختلاف بين الأجهزة بناءً على طريقة التحديث.

نظرًا لأن كتلة OTA تضمن أن كل جهاز يستخدم نفس القسم، فإنه يمكّن من استخدام dm-verity لتوقيع قسم النظام بشكل مشفر. للحصول على تفاصيل حول dm-verity، راجع التمهيد الذي تم التحقق منه .

ملاحظة: يجب أن يكون لديك نظام OTA لوحدة العمل قبل استخدام dm-verity.

التوصيات

بالنسبة للأجهزة التي تعمل بنظام التشغيل Android 5.0 أو الإصدارات الأحدث، استخدم حظر تحديثات OTA في ذاكرة القراءة فقط الخاصة بالمصنع. لإنشاء OTA يعتمد على الكتلة للتحديثات اللاحقة، قم بتمرير خيار --block إلى ota_from_target_files .

بالنسبة للأجهزة التي تم تشغيلها بنظام التشغيل Android 4.4 أو الإصدارات الأقدم، استخدم ملف تحديثات OTA. في حين أنه من الممكن نقل الأجهزة عن طريق إرسال كتلة كاملة عبر الهواء (OTA) لنظام Android 5.0 أو إصدار أحدث، إلا أن ذلك يتطلب إرسال OTA كامل أكبر بكثير من OTA التزايدي (وبالتالي لا يُنصح به).

نظرًا لأن dm-verity يتطلب دعم أداة تحميل التشغيل الموجود فقط في الأجهزة الجديدة التي يتم شحنها بنظام التشغيل Android 5.0 أو الإصدارات الأحدث، فلا يمكنك تمكين dm-verity للأجهزة الموجودة.

يمكن للمطورين الذين يعملون على نظام Android OTA (صورة الاسترداد والبرامج النصية التي تولد OTAs) مواكبة التغييرات من خلال الاشتراك في القائمة البريدية android-ota@googlegroups.com .

ملف مقابل كتلة OTAs

أثناء OTA المستند إلى الملف، يحاول Android تغيير محتويات قسم النظام في طبقة نظام الملفات (على أساس كل ملف على حدة). لا يضمن التحديث كتابة الملفات بترتيب ثابت، أو الحصول على وقت تعديل آخر ثابت أو كتلة فائقة، أو حتى وضع الكتل في نفس الموقع على جهاز الكتلة. لهذا السبب، تفشل وكالات السفر عبر الإنترنت المستندة إلى الملفات على جهاز يدعم تقنية dm-verity؛ بعد محاولة OTA، لا يقوم الجهاز بالتمهيد.

أثناء البث عبر الهواء (OTA) المستند إلى الكتلة، يقوم Android بإخبار الجهاز بالفرق بين الصورتين المكتنتين (بدلاً من مجموعتين من الملفات). يتحقق التحديث من بنية الجهاز مقابل خادم البناء المقابل على مستوى الكتلة (أسفل نظام الملفات) باستخدام إحدى الطرق التالية:

  • تحديث كامل . يعد نسخ صورة النظام بالكامل أمرًا بسيطًا ويجعل إنشاء التصحيح أمرًا سهلاً ولكنه ينشئ أيضًا صورًا كبيرة يمكن أن تجعل تطبيق التصحيحات باهظ الثمن.
  • تحديث تزايدي . يؤدي استخدام أداة الاختلاف الثنائي إلى إنشاء صور أصغر حجمًا ويجعل تطبيق التصحيح أمرًا سهلاً، ولكنه يستهلك الكثير من الذاكرة عند إنشاء التصحيح نفسه.

ملحوظة: يقوم adb fastboot بوضع نفس البتات على الجهاز مثل OTA الكامل، لذا فإن التفليش متوافق مع كتلة OTA.

تحديث الأنظمة غير المعدلة

بالنسبة للأجهزة التي تحتوي على أقسام نظام غير معدلة تعمل بنظام التشغيل Android 5.0، تظل عملية تنزيل وتثبيت كتلة OTA هي نفسها بالنسبة لملف OTA. ومع ذلك، قد يتضمن تحديث OTA نفسه واحدًا أو أكثر من الاختلافات التالية:

  • حجم التحميل . تكون تحديثات OTA الكاملة للكتلة بنفس حجم تحديثات OTA للملفات الكاملة تقريبًا، ويمكن أن يكون حجم التحديثات التزايدية أكبر ببضعة ميغابايت فقط.

    مقارنة أحجام OTA

    الشكل 1. مقارنة أحجام Nexus 6 OTA بين إصدارات Android 5.0 وAndroid 5.1 (تغييرات مختلفة في البنية المستهدفة)

    بشكل عام، تكون تحديثات OTA للكتلة التزايدية أكبر من تحديثات OTA للملفات التزايدية للأسباب التالية:

    • الحفاظ على البيانات . تحتفظ وكالات السفر عبر الإنترنت المستندة إلى الكتلة بمزيد من البيانات (بيانات تعريف الملف، وبيانات dm-verity، وتخطيط ext4، وما إلى ذلك) مقارنة بوكالات السفر عبر الإنترنت المستندة إلى الملف.
    • اختلافات خوارزمية الحساب . في تحديث الملف عبر الهواء، إذا كان مسار الملف متطابقًا في كلا الإصدارين، فلن تحتوي حزمة OTA على أي بيانات لهذا الملف. في تحديث الكتلة عبر الهواء، يعتمد تحديد التغيير البسيط أو عدم التغيير في الملف على جودة خوارزمية حساب التصحيح وتخطيط بيانات الملف في كل من النظام المصدر والهدف.
  • حساسية للفلاش الخاطئ وذاكرة الوصول العشوائي . في حالة تلف الملف، ينجح الملف عبر الهواء (OTA) طالما أنه لا يمس الملف التالف، ولكن يفشل كتلة عبر الهواء (OTA) إذا اكتشف أي تلف في قسم النظام.

تحديث الأنظمة المعدلة

بالنسبة للأجهزة التي تحتوي على أقسام نظام معدلة تعمل بنظام التشغيل Android 5.0:

  • فشل تحديثات OTA للكتلة التزايدية . قد يتم تعديل قسم النظام أثناء adb remount أو كنتيجة لبرامج ضارة. يتحمل الملف OTA بعض التغييرات على القسم، مثل إضافة ملفات ليست جزءًا من البنية المصدر أو الهدف. ومع ذلك، فإن كتلة OTA لا تتسامح مع الإضافات إلى القسم، لذلك سيحتاج المستخدمون إلى تثبيت OTA كامل وكتابة أي تعديلات على قسم النظام) أو وميض صورة نظام جديدة لتمكين OTAs المستقبلية.
  • تؤدي محاولات تغيير الملفات المعدلة إلى فشل التحديث . بالنسبة لكل من تحديثات OTA للملفات والكتلة، إذا حاول OTA تغيير ملف تم تعديله، فسيفشل تحديث OTA.
  • تؤدي محاولات الوصول إلى الملفات المعدلة إلى حدوث أخطاء (dm-verity فقط) . بالنسبة لتحديثات OTA للملفات والكتلة، إذا تم تمكين dm-verity وحاول OTA الوصول إلى الأجزاء المعدلة من نظام ملفات النظام، فسيقوم OTA بإنشاء خطأ.