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 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 लाइब्रेरी प्रॉडक्ट मॉड्यूल के लिए उपलब्ध है.