आप एंड्रॉइड 5.0 चलाने वाले नए उपकरणों के लिए ब्लॉक-आधारित ओवर-द-एयर (ओटीए) अपडेट सक्षम कर सकते हैं। OTA वह तंत्र है जिसके द्वारा OEM किसी डिवाइस के सिस्टम विभाजन को दूरस्थ रूप से अपडेट करते हैं:
- एंड्रॉइड 5.0 और बाद के संस्करण यह सुनिश्चित करने के लिए ब्लॉक ओटीए अपडेट का उपयोग करते हैं कि प्रत्येक डिवाइस बिल्कुल समान विभाजन का उपयोग करता है। अलग-अलग फ़ाइलों की तुलना करने और बाइनरी पैच की गणना करने के बजाय, ब्लॉक ओटीए पूरे विभाजन को एक फ़ाइल के रूप में संभालता है और एकल बाइनरी पैच की गणना करता है, यह सुनिश्चित करते हुए कि परिणामी विभाजन में बिल्कुल इच्छित बिट्स शामिल हैं। यह डिवाइस सिस्टम छवि को फास्टबूट या ओटीए के माध्यम से समान स्थिति प्राप्त करने की अनुमति देता है।
- एंड्रॉइड 4.4 और इससे पहले के संस्करणों में फ़ाइल ओटीए अपडेट का उपयोग किया गया था, जो सुनिश्चित करता था कि डिवाइस में समान फ़ाइल सामग्री, अनुमतियां और मोड हों, लेकिन टाइमस्टैम्प और अंतर्निहित स्टोरेज के लेआउट जैसे मेटाडेटा को अपडेट विधि के आधार पर डिवाइस के बीच भिन्न होने की अनुमति दी गई थी।
क्योंकि ब्लॉक ओटीए यह सुनिश्चित करता है कि प्रत्येक डिवाइस समान विभाजन का उपयोग करता है, यह सिस्टम विभाजन पर क्रिप्टोग्राफ़िक रूप से हस्ताक्षर करने के लिए डीएम-वेरिटी के उपयोग को सक्षम बनाता है। डीएम-सत्यापन पर विवरण के लिए, सत्यापित बूट देखें।
ध्यान दें: dm-verity का उपयोग करने से पहले आपके पास एक कार्यशील ब्लॉक OTA सिस्टम होना चाहिए।
सिफारिशों
एंड्रॉइड 5.0 या उसके बाद के संस्करण के साथ लॉन्च होने वाले उपकरणों के लिए, फ़ैक्टरी ROM में ब्लॉक OTA अपडेट का उपयोग करें। बाद के अपडेट के लिए ब्लॉक-आधारित ओटीए उत्पन्न करने के लिए, --block
विकल्प को ota_from_target_files
पर पास करें।
एंड्रॉइड 4.4 या इससे पहले के संस्करण के साथ लॉन्च होने वाले उपकरणों के लिए, फ़ाइल ओटीए अपडेट का उपयोग करें। हालाँकि Android 5.0 या उसके बाद के संस्करण का पूर्ण ब्लॉक OTA भेजकर उपकरणों को परिवर्तित करना संभव है, इसके लिए एक पूर्ण OTA भेजने की आवश्यकता होती है जो वृद्धिशील OTA से काफी बड़ा होता है (और इसलिए इसे हतोत्साहित किया जाता है)।
चूँकि dm-verity को बूटलोडर समर्थन की आवश्यकता होती है जो केवल Android 5.0 या उसके बाद के संस्करण वाले नए उपकरणों में पाया जाता है, आप मौजूदा उपकरणों के लिए dm-verity को सक्षम नहीं कर सकते ।
एंड्रॉइड ओटीए सिस्टम (पुनर्प्राप्ति छवि और ओटीए उत्पन्न करने वाली स्क्रिप्ट) पर काम करने वाले डेवलपर्स android-ota@googlegroups.com मेलिंग सूची की सदस्यता लेकर परिवर्तनों के साथ बने रह सकते हैं।
फ़ाइल बनाम ब्लॉक ओटीए
फ़ाइल-आधारित ओटीए के दौरान, एंड्रॉइड फ़ाइल सिस्टम परत पर सिस्टम विभाजन की सामग्री को बदलने का प्रयास करता है (फ़ाइल-दर-फ़ाइल आधार पर)। अपडेट में फ़ाइलों को एक सुसंगत क्रम में लिखने, एक सुसंगत अंतिम संशोधित समय या सुपरब्लॉक, या यहां तक कि ब्लॉक को ब्लॉक डिवाइस पर एक ही स्थान पर रखने की गारंटी नहीं है। इस कारण से, फ़ाइल-आधारित OTAs dm-verity-सक्षम डिवाइस पर विफल हो जाते हैं; OTA प्रयास के बाद, डिवाइस बूट नहीं होता है।
ब्लॉक-आधारित ओटीए के दौरान, एंड्रॉइड डिवाइस को दो ब्लॉक छवियों (फ़ाइलों के दो सेटों के बजाय) के बीच अंतर दिखाता है। अद्यतन निम्न विधियों में से किसी एक का उपयोग करके ब्लॉक स्तर (फ़ाइल सिस्टम के नीचे) पर संबंधित बिल्ड सर्वर के विरुद्ध डिवाइस बिल्ड की जाँच करता है:
- पूर्ण अद्यतन . पूर्ण सिस्टम छवि की प्रतिलिपि बनाना सरल है और पैच निर्माण को आसान बनाता है लेकिन बड़ी छवियां भी उत्पन्न करता है जिससे पैच लगाना महंगा हो सकता है।
- वृद्धिशील अद्यतन . बाइनरी डिफरेंट टूल का उपयोग करने से छोटी छवियां उत्पन्न होती हैं और पैच एप्लिकेशन आसान हो जाता है, लेकिन पैच बनाते समय यह मेमोरी-गहन होता है।
ध्यान दें: adb fastboot
डिवाइस पर पूर्ण ओटीए के समान बिट्स रखता है, इसलिए फ्लैशिंग ब्लॉक ओटीए के साथ संगत है।
असंशोधित सिस्टम को अपडेट करें
एंड्रॉइड 5.0 चलाने वाले असंशोधित सिस्टम विभाजन वाले उपकरणों के लिए, ब्लॉक ओटीए के लिए डाउनलोड और इंस्टॉल प्रक्रिया फ़ाइल ओटीए के समान ही रहती है। हालाँकि, OTA अपडेट में निम्नलिखित में से एक या अधिक अंतर शामिल हो सकते हैं:
- डाउनलोड आकार . पूर्ण ब्लॉक ओटीए अपडेट लगभग पूर्ण फ़ाइल ओटीए अपडेट के समान आकार के होते हैं, और वृद्धिशील अपडेट केवल कुछ मेगाबाइट बड़े हो सकते हैं।
सामान्य तौर पर, वृद्धिशील ब्लॉक ओटीए अपडेट निम्न कारणों से वृद्धिशील फ़ाइल ओटीए अपडेट से बड़े होते हैं:
- डेटा संरक्षण . ब्लॉक-आधारित ओटीए फ़ाइल-आधारित ओटीए की तुलना में अधिक डेटा (फ़ाइल मेटाडेटा, डीएम-सत्यापन डेटा, ext4 लेआउट, आदि) को संरक्षित करते हैं।
- संगणना एल्गोरिथ्म अंतर . फ़ाइल OTA अद्यतन में, यदि फ़ाइल पथ दोनों बिल्ड में समान है, तो OTA पैकेज में उस फ़ाइल के लिए कोई डेटा नहीं है। ब्लॉक ओटीए अपडेट में, किसी फ़ाइल में बहुत कम या कोई बदलाव निर्धारित करना पैच गणना एल्गोरिदम की गुणवत्ता और स्रोत और लक्ष्य प्रणाली दोनों में फ़ाइल डेटा के लेआउट पर निर्भर करता है।
- दोषपूर्ण फ़्लैश और रैम के प्रति संवेदनशीलता । यदि कोई फ़ाइल दूषित है, तो एक फ़ाइल OTA तब तक सफल होती है जब तक वह दूषित फ़ाइल को नहीं छूती है, लेकिन एक ब्लॉक OTA विफल हो जाता है यदि उसे सिस्टम विभाजन पर कोई भ्रष्टाचार का पता चलता है।
संशोधित सिस्टम को अद्यतन करें
Android 5.0 चलाने वाले संशोधित सिस्टम विभाजन वाले उपकरणों के लिए:
- वृद्धिशील ब्लॉक ओटीए अपडेट विफल ।
adb remount
के दौरान या मैलवेयर के परिणामस्वरूप सिस्टम विभाजन को संशोधित किया जा सकता है। फ़ाइल ओटीए विभाजन में कुछ बदलावों को सहन करता है, जैसे उन फ़ाइलों को जोड़ना जो स्रोत या लक्ष्य निर्माण का हिस्सा नहीं हैं। हालाँकि, ब्लॉक ओटीए विभाजन में परिवर्धन को बर्दाश्त नहीं करता है, इसलिए उपयोगकर्ताओं को भविष्य के ओटीए को सक्षम करने के लिए किसी भी सिस्टम विभाजन संशोधन को ओवरराइट करके एक पूर्ण ओटीए स्थापित करने की आवश्यकता होगी) या एक नई सिस्टम छवि फ्लैश करनी होगी। - संशोधित फ़ाइलों को बदलने का प्रयास अद्यतन विफलता का कारण बनता है । फ़ाइल और ब्लॉक ओटीए अपडेट दोनों के लिए, यदि ओटीए संशोधित फ़ाइल को बदलने का प्रयास करता है, तो ओटीए अपडेट विफल हो जाता है।
- संशोधित फ़ाइलों तक पहुँचने का प्रयास त्रुटियाँ उत्पन्न करता है (केवल dm-सत्यापन) । फ़ाइल और ब्लॉक OTA अपडेट दोनों के लिए, यदि dm-verity सक्षम है और OTA सिस्टम फ़ाइल सिस्टम के संशोधित भागों तक पहुँचने का प्रयास करता है, तो OTA एक त्रुटि उत्पन्न करता है।