इस पेज पर, उन कई टास्क के बारे में बताया गया है जिन्हें अपने डिवाइस के लिए बाइन्ड करने के लिए, आपको करना पड़ सकता है.
कस्टम फ़्लैश कॉन्फ़िगरेशन बनाना
फ़ास्टबूट के निर्देश, fastboot-info.txt
नाम के आर्टफ़ैक्ट में बताए गए हैं. अगर एक से ज़्यादा टारगेट बनाए जाते हैं, तो $OUT_DIR में एक से ज़्यादा fastboot-info.txt
फ़ाइलें होंगी. साथ ही, $ANDROID_PRODUCT_OUT
आपके बनाए गए सबसे नए टारगेट पर ले जाता है. इस पेज पर, फ़ास्टबूट के लिए टास्क की सूची दी गई है. इन्हें m fastboot_info
का इस्तेमाल करके फिर से जनरेट किया जा सकता है. fastboot-info.txt
फ़ाइल में बदलाव करके, अपनी पसंद के मुताबिक फ़्लैश करने का लॉजिक लागू किया जा सकता है.
fastboot-info.txt
फ़ाइल में ये निर्देश काम करते हैं:
flash %s
: किसी दिए गए पार्टीशन को फ़्लैश करता है. ज़रूरी नहीं वाले आर्ग्युमेंट में ये शामिल हैं:--slot-other,
filename_path, and
--apply-vbmeta`.update-super
: सुपर पार्टीशन को अपडेट करता है.if-wipe
: अगर कोई वाइप तय किया गया है, तो शर्त के मुताबिक कोई दूसरा कॉम्पोनेंट चलाता है.erase %s
: किसी दिए गए पार्टीशन को मिटाता है. इसका इस्तेमाल सिर्फ़if-wipe
के साथ किया जा सकता है -> उदाहरण के लिए,if-wipe erase cache
).
फ़्लैश लॉक की स्थिति तय करना
अगर किसी डिवाइस के लिए कस्टम फ़्लैशबूट डीमन (flashbootd) बनाया जा रहा है, तो आपको बूटलोडर और बूटलोडर लॉक की स्थिति का पता लगाना होगा. getFlashLockState()
@SystemApi
, बूटलोडर की स्थिति को ट्रांसमिट करता है और PersistentDataBlockManager.getFlashLockState()
सिस्टम एपीआई, ज़रूरी शर्तें पूरी करने वाले डिवाइसों पर बूटलोडर के लॉक स्टेटस की जानकारी दिखाता है.
रिटर्न वैल्यू | स्वास्थ्य से जुड़ी स्थितियां |
---|---|
FLASH_LOCK_UNKNOWN |
यह वैल्यू सिर्फ़ Android 7.x या उसके बाद के वर्शन पर अपग्रेड करने वाले उन डिवाइसों से मिलती है जो पहले, फ़्लैश लॉक की स्थिति पाने के लिए ज़रूरी बूटलोडर में बदलावों के साथ काम नहीं करते थे. हालांकि, अगर वे फ़्लैश लॉक/अनलॉक करने की सुविधा के साथ काम करते थे, तो यह वैल्यू मिलती थी.
|
FLASH_LOCK_LOCKED |
यह कोड, ऐसे किसी भी डिवाइस से मिलता है जिस पर फ़्लैश करके लॉक/अनलॉक करने की सुविधा काम नहीं करती. इसका मतलब है कि डिवाइस हमेशा लॉक रहता है. यह कोड, ऐसे किसी भी डिवाइस से मिलता है जिस पर फ़्लैश करके लॉक/अनलॉक करने की सुविधा काम करती है और वह लॉक की स्थिति में है. |
FLASH_LOCK_UNLOCKED |
यह वैल्यू, ऐसे किसी भी डिवाइस से मिलती है जो फ़्लैशिंग लॉक/अनलॉक की सुविधा के साथ काम करता है और अनलॉक की स्थिति में है. |
मैन्युफ़ैक्चरर को लॉक और अनलॉक किए गए बूटलोडर वाले डिवाइसों से मिली वैल्यू की जांच करनी चाहिए. उदाहरण के लिए, AOSP में एक रेफ़रंस लागू करने का तरीका है, जो ro.boot.flash.locked
बूट प्रॉपर्टी के आधार पर वैल्यू दिखाता है. सैंपल कोड इन डायरेक्ट्री में मौजूद है:
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java