बूट फ़्लो

किसी डिवाइस के लिए, बूट करने के सुझाए गए तरीके के बारे में इस पेज पर बताया गया है. साथ ही, इसे पहली इमेज में दिखाया गया है:

वेरिफ़ाइड बूट की प्रोसेस

पहली इमेज. वेरिफ़ाइड बूट का तरीका.

A/B डिवाइसों के लिए बूट करने का तरीका

अगर डिवाइस A/B का इस्तेमाल कर रहा है, तो बूट करने का तरीका थोड़ा अलग होता है. रोलबैक प्रोटेक्शन के मेटाडेटा को अपडेट करने से पहले, बूट करने के लिए इस्तेमाल किए जाने वाले स्लॉट को बूट कंट्रोल HAL का इस्तेमाल करके, SUCCESSFUL के तौर पर मार्क करना ज़रूरी है.

अगर प्लैटफ़ॉर्म का कोई अपडेट फ़ेल हो जाता है (जिसे SUCCESSFUL के तौर पर मार्क नहीं किया गया है), तो A/B स्टैक दूसरे स्लॉट पर वापस चला जाता है. इसमें Android का पिछला वर्शन मौजूद होता है. हालांकि, अगर रोलबैक प्रोटेक्शन का मेटाडेटा सेट किया गया है, तो रोलबैक प्रोटेक्शन की वजह से पिछला वर्शन बूट नहीं हो सकता.

उपयोगकर्ताओं को वेरिफ़ाइड बूट की स्थिति के बारे में बताना

किसी डिवाइस की बूट स्थिति का पता लगाने के बाद, उपयोगकर्ता को उस स्थिति के बारे में बताएं. अगर डिवाइस में कोई समस्या नहीं है, तो कुछ भी दिखाए बिना आगे बढ़ें. वेरिफ़ाइड बूट से जुड़ी समस्याएं इन कैटगरी में आती हैं:

  • पीली स्क्रीन: LOCKED डिवाइसों के लिए चेतावनी वाली स्क्रीन. इनमें, रूट ऑफ़ ट्रस्ट को कस्टम तरीके से सेट किया गया है
  • नारंगी स्क्रीन: UNLOCKED डिवाइसों के लिए चेतावनी वाली स्क्रीन
  • लाल स्क्रीन (eio): dm-verity में गड़बड़ी के लिए चेतावनी वाली स्क्रीन
  • लाल स्क्रीन (कोई ओएस नहीं मिला): कोई मान्य ओएस नहीं मिला

LOCKED डिवाइसों के लिए, रूट ऑफ़ ट्रस्ट को कस्टम तरीके से सेट करना

अगर डिवाइस LOCKED है, रूट ऑफ़ ट्रस्ट को कस्टम तरीके से सेट किया गया है, और इमेज पर रूट ऑफ़ ट्रस्ट के कस्टम तरीके से सेट किए गए रूट ऑफ़ ट्रस्ट से हस्ताक्षर किया गया है, तो हर बार बूट करने पर पीली स्क्रीन दिखाएं. पीली स्क्रीन दस सेकंड बाद हट जाती है और डिवाइस बूट करना जारी रखता है. अगर उपयोगकर्ता पावर बटन दबाता है, तो *रोकने के लिए पावर बटन दबाएं* टेक्स्ट बदलकर *जारी रखने के लिए पावर बटन दबाएं* हो जाता है. साथ ही, स्क्रीन कभी नहीं हटती (डिवाइस, बर्न-इन से बचाने के लिए स्क्रीन को धुंधला कर सकता है या बंद कर सकता है). अगर उपयोगकर्ता फिर से पावर बटन दबाता है, तो स्क्रीन हट जाती है और फ़ोन बूट करना जारी रखता है.

hex-number के लिए, पुष्टि करने के लिए इस्तेमाल किए गए सार्वजनिक पासकोड के libavb प्रतिनिधित्व के sha256 के पहले आठ अंकों का इस्तेमाल करें. जैसे, d14a028c.

सुझाया गया टेक्स्ट:

आपका डिवाइस, कोई दूसरा ऑपरेटिंग सिस्टम लोड कर रहा है.

किसी दूसरे डिवाइस पर यह लिंक खोलें:

g.co/ABH

ओएस फ़िंगरप्रिंट: hex-number

रोकने के लिए पावर बटन दबाएं

पीली स्क्रीन का उदाहरण
दूसरी इमेज. पीली स्क्रीन का उदाहरण.

UNLOCKED डिवाइस

अगर डिवाइस UNLOCKED है, तो हर बार बूट करने पर नारंगी स्क्रीन दिखाएं. नारंगी स्क्रीन दस सेकंड बाद हट जाती है और डिवाइस बूट करना जारी रखता है. अगर उपयोगकर्ता पावर बटन दबाता है, तो *रोकने के लिए पावर बटन दबाएं* टेक्स्ट बदलकर *जारी रखने के लिए पावर बटन दबाएं* हो जाता है. साथ ही, स्क्रीन कभी नहीं हटती (डिवाइस, बर्न-इन या इसी तरह की अन्य समस्याओं से बचाने के लिए स्क्रीन को धुंधला कर सकता है और/या बंद कर सकता है). अगर उपयोगकर्ता फिर से पावर बटन दबाता है, तो स्क्रीन हट जाती है और फ़ोन बूट करना जारी रखता है.

hex-number के लिए, पुष्टि करने के लिए इस्तेमाल किए गए सार्वजनिक पासकोड के libavb प्रतिनिधित्व के sha256 के पहले आठ अंकों का इस्तेमाल करें. जैसे, d14a028c.

सुझाया गया टेक्स्ट:

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

किसी दूसरे डिवाइस पर यह लिंक खोलें:

g.co/ABH

आईडी: hex-number

रोकने के लिए पावर बटन दबाएं.

ORANGE स्क्रीन का उदाहरण
तीसरी इमेज. नारंगी स्क्रीन का उदाहरण.

dm-verity में गड़बड़ी

अगर Android का कोई मान्य वर्शन मिलता है और डिवाइस eio dm-verity मोड में है, तो लाल eio स्क्रीन दिखाएं. जारी रखने के लिए, उपयोगकर्ता को पावर बटन दबाना होगा. अगर उपयोगकर्ता 30 सेकंड के अंदर चेतावनी वाली स्क्रीन पर कोई कार्रवाई नहीं करता है, तो डिवाइस बंद हो जाता है. ऐसा, स्क्रीन को बर्न-इन से बचाने और बैटरी बचाने के लिए किया जाता है.

सुझाया गया टेक्स्ट:

आपके डिवाइस में गड़बड़ी है. इस पर भरोसा नहीं किया जा सकता और यह ठीक से काम नहीं कर सकता.

किसी दूसरे डिवाइस पर यह लिंक खोलें:

g.co/ABH

जारी रखने के लिए पावर बटन दबाएं.

RED eio स्क्रीन का उदाहरण
चौथी इमेज. लाल eio स्क्रीन का उदाहरण.

कोई मान्य ओएस नहीं मिला

अगर Android का कोई मान्य वर्शन नहीं मिलता है, तो लाल स्क्रीन दिखाएं. डिवाइस बूट करना जारी नहीं रख सकता. अगर उपयोगकर्ता 30 सेकंड के अंदर चेतावनी वाली स्क्रीन पर कोई कार्रवाई नहीं करता है, तो डिवाइस बंद हो जाता है. ऐसा, स्क्रीन को बर्न-इन से बचाने और बैटरी बचाने के लिए किया जाता है.

hex-number के लिए, पुष्टि करने के लिए इस्तेमाल किए गए सार्वजनिक पासकोड के libavb प्रतिनिधित्व के sha256 के पहले आठ अंकों का इस्तेमाल करें. जैसे, d14a028c.

सुझाया गया टेक्स्ट:

कोई मान्य ऑपरेटिंग सिस्टम नहीं मिला. डिवाइस बूट नहीं होगा.

किसी दूसरे डिवाइस पर यह लिंक खोलें:

g.co/ABH

आईडी: hex-number

बंद करने के लिए पावर बटन दबाएं.

RED स्क्रीन का उदाहरण
पांचवी इमेज. लाल स्क्रीन का उदाहरण.

अनलॉक करने की पुष्टि

fastboot इंटरफ़ेस के ज़रिए, fastboot flashing unlock कमांड को चलाने पर, अनलॉक करने की पुष्टि वाली स्क्रीन दिखाएं. फ़ोकस, शुरुआत में अनलॉक न करें पर होता है. अगर उपयोगकर्ता 30 सेकंड के अंदर चेतावनी वाली स्क्रीन पर कोई कार्रवाई नहीं करता है, तो स्क्रीन हट जाती है और कमांड फ़ेल हो जाता है.

सुझाया गया टेक्स्ट:

बूटलोडर को अनलॉक करने पर, इस फ़ोन में ऑपरेटिंग सिस्टम का कस्टम सॉफ़्टवेयर इंस्टॉल किया जा सकेगा. कस्टम ओएस की टेस्टिंग, ओरिजनल ओएस की तरह नहीं की जाती. इसलिए, यह आपके फ़ोन और इंस्टॉल किए गए ऐप्लिकेशन को ठीक से काम करने से रोक सकता है.

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

आपकी निजी जानकारी को अनधिकृत ऐक्सेस से बचाने के लिए, बूटलोडर को अनलॉक करने पर आपके फ़ोन में मौजूद सारा निजी डेटा भी मिट जाता है.

वॉल्यूम बटन दबाकर चुनें कि आपको बूटलोडर अनलॉक करना है या नहीं. इसके बाद, जारी रखने के लिए पावर बटन दबाएं.

बूटलोडर को अनलॉक न करें और फ़ोन को रीस्टार्ट करें.

बूटलोडर को अनलॉक करें.

अनलॉक करने की पुष्टि वाली स्क्रीन का उदाहरण
छठी इमेज. अनलॉक करने की पुष्टि वाली स्क्रीन का उदाहरण.

लॉक करने की पुष्टि

fastboot इंटरफ़ेस के ज़रिए, fastboot flashing lock कमांड को चलाने पर, लॉक करने की पुष्टि वाली स्क्रीन दिखाएं. फ़ोकस, शुरुआत में लॉक न करें पर होता है. अगर उपयोगकर्ता 30 सेकंड के अंदर चेतावनी वाली स्क्रीन पर कोई कार्रवाई नहीं करता है, तो स्क्रीन हट जाती है और कमांड फ़ेल हो जाता है.

टेक्स्ट:

बूटलोडर को लॉक करने पर, इस फ़ोन में ऑपरेटिंग सिस्टम का कस्टम सॉफ़्टवेयर इंस्टॉल नहीं किया जा सकेगा.

आपकी निजी जानकारी को अनधिकृत ऐक्सेस से बचाने के लिए, बूटलोडर को लॉक करने पर आपके फ़ोन में मौजूद सारा निजी डेटा मिट जाएगा.

वॉल्यूम बटन दबाकर चुनें कि आपको बूटलोडर लॉक करना है या नहीं. इसके बाद, जारी रखने के लिए पावर बटन दबाएं.

बूटलोडर को लॉक न करें और फ़ोन को रीस्टार्ट करें.

बूटलोडर को लॉक करें.

डिवाइस को लॉक करने की पुष्टि करने के लिए चेतावनी वाली स्क्रीन
सातवीं इमेज. डिवाइस को लॉक करने की पुष्टि वाली चेतावनी स्क्रीन.

Android को वेरिफ़ाइड बूट की स्थिति के बारे में बताना

बूटलोडर, कर्नेल-कमांड पैरामीटर के ज़रिए Android को वेरिफ़ाइड बूट की स्थिति के बारे में बताता है. इसके अलावा, Android 12 और इसके बाद के वर्शन में, बूटलोडर, बूटकॉन्फ़िग के ज़रिए भी Android को वेरिफ़ाइड बूट की स्थिति के बारे में बताता है. बूटलोडर, androidboot.verifiedbootstate विकल्प को इनमें से किसी एक वैल्यू पर सेट करता है:

  • green अगर डिवाइस LOCKED है और उपयोगकर्ता के सेट किए जा सकने वाले रूट ऑफ़ ट्रस्ट का इस्तेमाल नहीं किया जा रहा है
  • yellow अगर डिवाइस LOCKED है और उपयोगकर्ता के सेट किए जा सकने वाले रूट ऑफ़ ट्रस्ट का इस्तेमाल किया जा रहा है
  • orange अगर डिवाइस UNLOCKED है

androidboot.veritymode विकल्प को eio या restart पर सेट किया जाता है. यह इस बात पर निर्भर करता है कि dm-verity से जुड़ी गड़बड़ियों को ठीक करने के मामले में, बूटलोडर किस स्थिति में है. ज़्यादा जानकारी के लिए, पुष्टि से जुड़ी गड़बड़ियों को ठीक करना लेख पढ़ें.