खास जानकारी

Android डिवाइसों में कई ऐसे पार्टिशन होते हैं जो अलग-अलग तरह के काम करते हैं बूट प्रोसेस.

स्टैंडर्ड पार्टिशन

  • boot विभाजन. इस विभाजन में एक कर्नेल इमेज है और इसे बना दिया गया है mkbootimg का इस्तेमाल करके. किसी भी इमेज को फ़्लैश करने के लिए, वर्चुअल पार्टिशन का इस्तेमाल किया जा सकता है बिना किसी नए बूट पार्टीशन को फ़्लैश किए सीधे ऐक्सेस कर सकता है. इस सेगमेंट में, पहले लॉन्च किए गए डिवाइसों में मौजूद सामान्य रैम डिस्क भी शामिल है Android 13.

    • कर्नेल. वर्चुअल kernel विभाजन, कर्नेल (zImage, zImage-dtb, Image.gz-dtb) पुरानी इमेज पर नया कर्नेल इमेज लिखकर कर्नेल इमेज. अगर दिया गया डेवलपमेंट कर्नेल असंगत है, तो आप vendor, system या dtb पार्टिशन (अगर मौजूद हो) को इसके साथ अपडेट करना होगा जुड़े हुए कर्नेल मॉड्यूल.

    • रैम डिस्क. वर्चुअल ramdisk पार्टीशन, रैम डिस्क को इससे बदल देता है: पुरानी रैम डिस्क इमेज पर नई रैम डिस्क इमेज लिखनी होगी.

    ओवरराइट कार्रवाई मौजूदा इमेज के शुरू होने की जगह तय करती है और नई इमेज को उस जगह पर कॉपी कर देता है. नई इमेज (कर्नेल या ramdisk) मौजूदा इमेज से बड़ी हो सकती है; जगह बनाने के लिए, बूटलोडर, इमेज के साथ-साथ डेटा को दूसरी जगह ले जा सकता है या कोई गड़बड़ी हुई है.

  • init_boot विभाजन. इस विभाजन में Android 13 और उसके बाद के वर्शन वाले डिवाइसों पर लॉन्च किया जा रहा है.

  • system विभाजन. इस सेगमेंट में Android फ़्रेमवर्क शामिल है.

  • odm विभाजन. इस सेगमेंट में, ओरिजनल डिज़ाइन मैन्युफ़ैक्चरर (ODM) शामिल है सिस्टम-ऑन-चिप (SoC) वेंडर बोर्ड-सपोर्ट पैकेज (बीएसपी) को पसंद के मुताबिक बनाने की सुविधा. इस तरह के कस्टमाइज़ेशन की मदद से, SoC कॉम्पोनेंट बदलने या उन्हें पसंद के मुताबिक बनाने के लिए ओडीएम की सुविधा मिलती है और बोर्ड के खास कॉम्पोनेंट, डीमन, और हार्डवेयर ऐब्स्ट्रैक्शन लेयर (एचएएल) पर ODM की खास सुविधाएं. यह विभाजन है ज़रूरी नहीं; आम तौर पर, इसका इस्तेमाल कस्टमाइज़ेशन को शामिल करने के लिए किया जाता है, ताकि डिवाइस कई हार्डवेयर SKU के लिए एक वेंडर इमेज का इस्तेमाल करता है. जानकारी के लिए, ओडीएम देखें सेगमेंट.

  • odm_dlkm विभाजन. यह पार्टीशन खास तौर पर ODM कर्नेल को सेव करने के लिए है मॉड्यूल देखें. odm_dlkm विभाजन में ODM कर्नेल मॉड्यूल संग्रहित किया जा रहा है (इसके उलट odm विभाजन में) से ODM कर्नेल मॉड्यूल को अपडेट किया जा सकता है वह भी odm पार्टिशन को अपडेट किए बिना.

  • recovery विभाजन. यह विभाजन, रिकवरी इमेज को सेव करता है, जो कि OTA प्रोसेस के दौरान चालू किया गया. सीमलेस सिस्टम का इस्तेमाल करने वाले डिवाइस अपडेट होने पर, रिकवरी इमेज इस तरह सेव की जा सकती हैं: boot या init_boot इमेज में मौजूद ramdisk (किसी दूसरी इमेज में नहीं) इमेज).

  • cache विभाजन. इस सेगमेंट में, कुछ समय के लिए सेव किया गया डेटा सेव होता है. हालांकि, इसका इस्तेमाल करना ज़रूरी नहीं है का इस्तेमाल करें. कैश मेमोरी का बंटवारा बूटलोडर से लिखा जा सकता है, लेकिन उसे हमेशा के लिए मिटाया जा सकता है. बंटवारा साइज़, डिवाइस के टाइप और userdata पर स्टोरेज की उपलब्धता पर निर्भर करता है; आम तौर पर, 50 एमबी से 100 एमबी तक की रफ़्तार काफ़ी होती है.

  • misc विभाजन. इस सेगमेंट का इस्तेमाल रिकवरी सेगमेंट में किया जाता है और यह 4 केबी या इससे ज़्यादा.

  • userdata विभाजन. इस सेगमेंट में, उपयोगकर्ता के इंस्टॉल किए गए ऐप्लिकेशन और इसमें कस्टमाइज़ेशन डेटा भी शामिल है.

  • metadata विभाजन. इस सेगमेंट का इस्तेमाल, मेटाडेटा को सेव करने के लिए किया जाता है डिवाइस मेटाडेटा का इस्तेमाल करता है, तो डेटा एन्क्रिप्ट (सुरक्षित) करने की कुंजी एन्क्रिप्ट करने का तरीका. इसका साइज़ है: 16 एमबी या इससे ज़्यादा. इस डेटा को एन्क्रिप्ट (सुरक्षित) नहीं किया गया है और इसके डेटा का स्नैपशॉट भी नहीं लिया गया है. डिवाइस को फ़ैक्ट्री रीसेट करने पर, डेटा हमेशा के लिए मिट जाएगा. इस विभाजन का उपयोग है पूरी तरह से सीमित.

  • vendor विभाजन. इस विभाजन में ऐसी सभी बाइनरी हैं जो एओएसपी को डिस्ट्रिब्यूट किया जा सकता है. अगर डिवाइस में मालिकाना जानकारी नहीं है, तो इस सेगमेंट को छोड़ा जा सकता है.

  • vendor_dlkm विभाजन. यह सेगमेंट, सिर्फ़ वेंडर को सेव करने के लिए है कर्नेल मॉड्यूल. vendor_dlkm पार्टिशन में वेंडर कर्नेल मॉड्यूल स्टोर किए जा रहे हैं (vendor विभाजन के विपरीत) कर्नेल को अपडेट करना संभव बनाता है मॉड्यूल vendor विभाजन को अपडेट किए बिना.

  • radio विभाजन. इस विभाजन में रेडियो इमेज है और यह आवश्यक है केवल उन डिवाइसों के लिए जिनमें रेडियो-विशिष्ट सॉफ़्टवेयर वाला रेडियो खास पार्टिशन.

  • tos विभाजन. यह पार्टीशन, Trusty OS की बाइनरी इमेज सेव करता है और इसका इस्तेमाल सिर्फ़ तब किया जाता है, जब डिवाइस में Trusty शामिल हो. जानकारी के लिए, सेवा की शर्तें देखें सेगमेंट.

  • pvmfw विभाजन. इस हिस्से में Protected Virtual Machine सेव की जाती है फ़र्मवेयर (pvmfw), सुरक्षित वीएम में चलने वाला पहला कोड है. यहां जाएं: सुरक्षित वर्चुअल मशीन फ़र्मवेयर देखें.

डाइनैमिक पार्टिशन

Android 11 और उसके बाद के वर्शन वाले डिवाइसों पर, इस ऐप्लिकेशन का इस्तेमाल किया जा सकता है डाइनैमिक पार्टिशन, जो Android के लिए यूज़रस्पेस पार्टिशनिंग सिस्टम है ओवर-द-एयर (ओटीए) के दौरान पार्टिशन बनाने, उनका साइज़ बदलने या उन्हें नष्ट करने की सुविधा देता है अपडेट. ज़्यादा जानकारी के लिए, डाइनैमिक रिपोर्ट देखें विभाजन.

महत्वपूर्ण विभाजन तय करें

यदि डिवाइस को चलाने के लिए विशिष्ट पार्टिशन या डेटा की आवश्यकता है, तो आपको डेटा को पूरी तरह सुरक्षित किया गया हो या उसे फिर से फ़्लैश किया जा सकता हो. इन्हें fastboot oem कमांड का इस्तेमाल करके, फिर से बनाया जा सकता है, उपलब्ध कराया जा सकता है या एक्सट्रैक्ट किया जा सकता है. इसमें, हर डिवाइस के लिए फ़ैक्ट्री के हिसाब से तय की गई सेटिंग, सीरियल नंबर, कैलिब्रेशन डेटा वगैरह.

Android 11 में हुए बदलाव

Android 11 में, पार्टिशन में कई बदलाव किए गए हैं, साथ ही, इसमें लाइब्रेरी और सूंग इमेज के नए वैरिएंट को लिंक करने पर पाबंदियां भी शामिल हैं.

Android पार्टिशन लेआउट

पहला डायग्राम. Android 11 में पार्टिशन लेआउट

  • सिंगल सिस्टम इमेज (एसएसआई). एक नई सैद्धांतिक इमेज, जिसमें system और system_ext इमेज. जब किसी सेट के लिए ये विभाजन सामान्य होते हैं टारगेट किए गए डिवाइस का इस्तेमाल करते हैं, तो वे डिवाइस SSI को शेयर कर सकते हैं. साथ ही, system और system_ext इमेज.

  • system_ext विभाजन. एक नया सेगमेंट, जो system संसाधनों का इस्तेमाल कर सकता है साथ ही, इसमें ऐसे सिस्टम मॉड्यूल शामिल किए जा सकते हैं जो:

    • system पार्टीशन में एओएसपी सिस्टम मॉड्यूल को बढ़ाएं. हमारा सुझाव है कि आप: ऐसे मॉड्यूल को एओएसपी में अपस्ट्रीम करना, ताकि उन्हें system पर इंस्टॉल किया जा सके बाद में बांटा जा सकता है.

    • OEM या SoC के हिसाब से बने मॉड्यूल बंडल करें. हमारा सुझाव है कि ऐसे मॉड्यूल को अनबंडल करने के लिए ताकि उन्हें product या vendor पार्टिशन में इंस्टॉल किया जा सके.

  • system विभाजन. OEM प्रॉडक्ट के लिए इस्तेमाल की जाने वाली सिस्टम इमेज. बुध यह सुझाव दिया जाता है कि मालिकाना हक वाले मॉड्यूल को system सेगमेंट से बाहर ले जाएं. इसके लिए, अपस्ट्रीमिंग की प्रोसेस को AOSP में बदलें या फिर system_ext पार्टीशन में ले जाएं.

  • product विभाजन. यह सेगमेंट, अब अनुमति वाले इंटरफ़ेस का इस्तेमाल इन कामों के लिए कर सकता है प्रॉडक्ट के लिए खास तौर पर बने ऐसे मॉड्यूल इंस्टॉल करना जिन्हें किसी अन्य मॉड्यूल के साथ बंडल नहीं किया गया है विभाजन.

VNDK में बदलाव

वेंडर नेटिव डेवलपमेंट किट (वीएनडीके) लाइब्रेरी का एक सेट है जो system पार्टीशन में इंस्टॉल किया गया है और एचएएल को खास तौर पर लागू करना होगा.

  • Android 10 और उससे पहले के वर्शन में, vendor पार्टीशन, VNDK लाइब्रेरी को इन देशों में लिंक कर सकता है system विभाजन, लेकिन system में अन्य लाइब्रेरी से लिंक नहीं कर सकता विभाजन. product सेगमेंट में मौजूद नेटिव मॉड्यूल किसी भी लाइब्रेरी से लिंक हो सकते हैं system विभाजन में.

  • Android 11 और उसके बाद के वर्शन में, product और vendor पार्टिशन, system पार्टीशन में VNDK लाइब्रेरी से लिंक हो सकते हैं, लेकिन नहीं system पार्टीशन में अन्य लाइब्रेरी से लिंक करें.

जल्द ही प्रॉडक्ट के वैरिएंट

Soong बिल्ड सिस्टम, इमेज को दो हिस्सों में बांटने के लिए इमेज के अलग-अलग वैरिएंट का इस्तेमाल करता है डिपेंडेंसी बनाना. नेटिव मॉड्यूल (/build/soong/cc) सिस्टम में बदलाव कर सकता है प्रोसेस मॉड्यूल से लेकर मुख्य वैरिएंट और वेंडर प्रोसेस मॉड्यूल के लिए, वेंडर के वैरिएंट; एक इमेज के वैरिएंट के मॉड्यूल को दूसरे मॉड्यूल से लिंक नहीं किया जा सकता इस्तेमाल किया जा सकता है.

  • Android 10 या उससे पहले के वर्शन में, सिस्टम मॉड्यूल अपने-आप मुख्य वैरिएंट बनाता है. यह vendor_available: true की जानकारी देकर भी वेंडर के वैरिएंट बना सकता है Android.bp फ़ाइलें; इससे वेंडर मॉड्यूल, सिस्टम के मॉड्यूल से लिंक हो सकते हैं. वीएनडीके लाइब्रेरी, जो कि system लाइब्रेरी के वेंडर वैरिएंट हैं, इन्हें भी vendor_available: true को तय करके, वेंडर मॉड्यूल के लिए वेंडर के वैरिएंट बनाएं इसकी Android.bp फ़ाइलों में (देखें उदाहरण) शामिल होता है.

  • Android 11 में, सिस्टम मॉड्यूल भी इसकी मदद से, प्रॉडक्ट का एक वैरिएंट (मुख्य और वेंडर वैरिएंट के अलावा) बनाया जा सकेगा vendor_available: true तय करते हैं.

  • Android 12 या उसके बाद वाले वर्शन में, ऐसा सिस्टम मॉड्यूल जिसमें vendor_available: true, मुख्य फ़ंक्शन के अलावा वेंडर वैरिएंट बनाता है वैरिएंट. प्रॉडक्ट का वैरिएंट बनाने के लिए, product_available: true ज़रूरी है तय किया गया है. बिना product_available: true वाली कुछ VNDK लाइब्रेरी प्रॉडक्ट मॉड्यूल के लिए उपलब्ध है.