मास्क ROM से पहले ऑडियो तक BIOS और ट्रस्टेड बूट फ्लो, 11 रीडिंग पेन SKUs पर, OEM के लिए टाइमिंग टेबल, A/B पार्टीशन स्कीम और OTA रिकवरी प्रक्रियाओं के साथ।

पोस्ट किया गया: अप्रै. 27, 2026 - 81 व्यूज़

रीडिंग पेन BIOS बूट फ्लो और ट्रस्टेड बूट: मास्क ROM से पहले ऑडियो तक, 11 SKUs में

दर्शक: यह मार्गदर्शिका OEM प्रोग्राम मैनेजरों, फ़र्मवेयर आर्किटेक्ट और अनुपालन इंजीनियरों के लिए है, जिन्हें रीडिंग पेन पर सिलिकॉन के पावर-ऑन से लेकर पहले ऑडियो तक की सटीक घटनाओं को समझने की आवश्यकता है। इसमें mask-ROM बूटलोडर, द्वितीय-चरण बूटलोडर, हस्ताक्षरित-इमेज सत्यापन, A/B पार्टीशन स्विचिंग और रिकवरी पाथ शामिल हैं, जिन्हें हम 11 इन-हाउस SKU (B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2, Y6) पर शिप करते हैं।

रीडिंग पेन का बूट कोई एकल घटना नहीं है। यह एक 5–7 चरणों वाली पाइपलाइन है, जो SKU के आधार पर लगभग 280–1,450 मिलीसेकंड में चलती है। हर चरण का एक कार्य होता है: कोड लोड करना, हस्ताक्षर सत्यापित करना, नियंत्रण सौंपना। यदि कोई भी चरण विफल होता है, तो अगला चरण नहीं चलता और पेन या तो पुनः आरंभ होता है, रिकवरी इमेज पर वापस जाता है, या ब्रिक हो जाता है।

यह लेख आपको उस पाइपलाइन के बारे में चरण-दर-चरण बताता है, हमारे 11 SKU पर मापे गए समय के साथ। हम आपको A/B पार्टीशन लेआउट, रोलबैक काउंटर, OTA स्टेजिंग फ्लो और विफलता-प्रबंधन पाथ दिखाएँगे, जिन्हें हम अपनी दो फ़ैक्ट्रियों में चलाते हैं। अंत तक आप हमारे फ़र्मवेयर-रिलीज़ नोट्स पढ़कर सटीक रूप से जान सकेंगे/सकेंगी कि संस्करण 2.4.7 से 2.5.0 में बदलने पर क्या बदलता है।

1. "BIOS" शब्द क्यों गलत है लेकिन विचार सही है

रीडिंग पेन में PC के अर्थ में BIOS नहीं होता। इसके पास एक mask-ROM बूटलोडर होता है — कुछ किलोबाइट अपरिवर्तनीय कोड, जो वेफ़र फ़ैब के समय सिलिकॉन में बर्न किया जाता है। यह ROM कोड ट्रस्ट का मूल है: इसके नीचे कोई सॉफ़्टवेयर नहीं है और इसे अधिलेखित करने का कोई तरीका नहीं है।

इसे BIOS कहना अब भी उपयोगी है क्योंकि यह आर्किटेक्चर सीधे UEFI अवधारणाओं से मेल खाता है: ROM = SEC चरण, द्वितीय-चरण बूटलोडर = PEI, फ़र्मवेयर = DXE, एप्लिकेशन = BDS। विक्रेता, जिनमें हम भी शामिल हैं, अक्सर B2B बातचीत में BIOS शब्द का ढीले ढंग से उपयोग करते हैं क्योंकि OEM खरीदार इसे समझता है।

विश्वसनीय-बूट श्रृंखला वह सत्यापन पाइपलाइन है जो इस ROM के ऊपर चलती है। इसका कार्य यह सुनिश्चित करना है कि ROM के बाद निष्पादित प्रत्येक कोड OEM की निजी कुंजी से हस्ताक्षरित हो। यदि कोई हस्ताक्षर गलत है, तो श्रृंखला रुक जाती है।

2. 7-चरणीय बूट पाइपलाइन

रीडिंग पेन का हर SKU समान सात तार्किक चरणों को लागू करता है। कार्यान्वयन फ़्लैश लेआउट और समय में भिन्न होते हैं।

चरण घटक यहाँ से चलता है सत्यापित करता है सामान्य विलंब
S1 Mask ROM बूटलोडर रोम वेंडर कुंजी (हार्ड-कोडेड) 6–14 ms
S2 प्रथम-चरण बूटलोडर (SBL) NOR/eMMC बूट पार्टीशन ओईएम RSA-2048 / ECDSA P-256 60–220 ms
S3 द्वितीय-चरण बूटलोडर (यदि कोई हो) NOR/eMMC बूट पार्टीशन ओईएम RSA-2048 / ECDSA P-256 40–160 ms
S4 फ़र्मवेयर इमेज (RTOS या Linux कर्नेल) NOR/eMMC मुख्य पार्टीशन ओईएम RSA-2048 / ECDSA P-256 80–320 मिलीसेकंड
S5 ट्रस्टज़ोन / TEE विभाजन TrustZone सुरक्षित स्टोरेज SE हस्ताक्षर 30–120 मिलीसेकंड
S6 एप्लिकेशन + ऑडियो एसेट्स मुख्य पार्टीशन AES-128 / AES-256 डिक्रिप्शन 50–280 मिलीसेकंड
S7 ऑडियो ड्राइवर + पहला सैंपल डीएसी लागू नहीं 14–60 मिलीसेकंड

पहले ऑडियो तक की कुल कोल्ड-बूट अवधि 280 मिलीसेकंड (B2) से लेकर 1,450 मिलीसेकंड (L5) तक होती है। यह अंतर लगभग पूरी तरह S4 और S6 में है — Linux-आधारित SKU को rootfs माउंट करने और ALSA को प्रारंभ करने में अधिक समय चाहिए।

3. प्रति-SKU बूट समय

SKU S1 रोम S2 एसबीएल S3 द्वितीय S4 फर्मवेयर S5 टीईई S6 ऐप S7 ऑडियो कुल
B1 8 ms 90 ms n/a 120 ms n/a 80 ms 22 ms 320 ms
B2 6 ms 70 ms n/a 90 ms n/a 84 ms 30 ms 280 ms
F8 10 ms 110 ms 80 ms 240 ms 60 ms 700 ms 50 ms 1,250 ms
K7 7 ms 80 ms n/a 140 ms 40 ms 60 ms 33 ms 360 ms
KF1 7 ms 80 ms n/a 140 ms 40 ms 60 ms 33 ms 360 ms
L5 12 ms 130 ms 100 ms 290 ms 80 ms 760 ms 78 ms 1,450 ms
P2 14 ms 130 ms n/a 160 ms n/a 90 मिलीसेकंड 26 मिलीसेकंड 420 मिलीसेकंड
Q6 7 मिलीसेकंड 75 मिलीसेकंड n/a 100 मिलीसेकंड n/a 92 मिलीसेकंड 26 मिलीसेकंड 300 मिलीसेकंड
Q8 7 मिलीसेकंड 75 मिलीसेकंड n/a 100 मिलीसेकंड n/a 92 मिलीसेकंड 26 मिलीसेकंड 300 मिलीसेकंड
T2 11 मिलीसेकंड 120 मिलीसेकंड 90 मिलीसेकंड 280 मिलीसेकंड 70 मिलीसेकंड 720 मिलीसेकंड 58 मिलीसेकंड 1,350 मिलीसेकंड
Y6 10 मिलीसेकंड 110 मिलीसेकंड 80 मिलीसेकंड 260 मिलीसेकंड 70 मिलीसेकंड 800 मिलीसेकंड 70 मिलीसेकंड 1,400 मिलीसेकंड

B2 हमारा सबसे तेज़ cold-boot है। L5 सबसे धीमा है। 1.17 सेकंड का अंतर मायने रखता है: यह "टैप करो और बोलो" अनुभव और "रुको, फिर बोलो" अनुभव के बीच का अंतर है।

खरीदार सुझाव: OEM से कुल समय ही नहीं, बल्कि बूट पाइपलाइन का पूरा विवरण माँगें। जो पेन 700 मिलीसेकंड में बूट होती है और उसमें 200 मिलीसेकंड की cryptographic verification होती है, उसका ऑडिट किया जा सकता है। जो पेन 700 मिलीसेकंड में बूट होती है लेकिन विवरण नहीं दे सकती, वह एक ब्लैक बॉक्स है।

4. A/B पार्टिशन लेआउट

हर Linux-आधारित रीडिंग पेन (F8, L5, T2, Y6) firmware के लिए A/B पार्टिशन योजना का उपयोग करती है। OTA सुरक्षा के लिए यही स्वर्ण मानक है, क्योंकि यदि नया image बूट नहीं हो पाता तो पेन पिछले known-good image पर वापस आ सकती है।

Reading pen eMMC partition layout (L5 example, 8 GB)

L5 पर A/B योजना boot और सिस्टम पार्टिशन के लिए 3.2 GB (4 × 800 MB) और user data के लिए 4.6 GB आरक्षित रखती है। TrustZone TEE पार्टिशन 200 MB की है और इसमें SE proxy तथा OEM कुंजियों के लिए secure-storage क्षेत्र शामिल है।

5. RTOS पार्टिशन लेआउट

RTOS-आधारित SKUs (B1, B2, K7, KF1, P2, Q6, Q8) को पूर्ण A/B की आवश्यकता नहीं है क्योंकि उनके firmware image 1.4–3.0 MB के होते हैं और hardware swap वाले dual-bank NOR में आराम से समा जाते हैं। B2 पर यह लेआउट ऐसा दिखता है:

ऑफसेट आकार सामग्री द्वारा सत्यापित
0x00000000 16 KB एसबीएल मास्क रोम (RSA-2048)
0x00004000 1.0 MB फर्मवेयर स्लॉट A एसबीएल (RSA-2048)
0x00104000 1.0 MB फ़र्मवेयर स्लॉट B एसबीएल (RSA-2048)
0x00204000 4.0 MB OID ऑडियो + एसेट्स फ़र्मवेयर (AES-128-CTR)
0x00604000 1.0 MB OTA स्टेजिंग फ़र्मवेयर (AES-128-CTR)
0x00704000 64 KB यूज़र NVM (की स्टोर) ट्रस्टज़ोन-M SAU
0x00714000 64 KB बूट फ़्लैग्स + रोलबैक काउंटर हार्डवेयर राइट-वन्स

रोलबैक काउंटर एक 32-बिट मोनोटोनिक काउंटर है जो हर सफल बूट पर बढ़ता है। यदि SBL को अंतिम-ज्ञात-अच्छे मान से कम काउंटर मान दिखता है, तो यह स्लॉट B पर वापस चला जाता है। यह उस हमलावर से सुरक्षा करता है जो फ़र्मवेयर को कमज़ोर पुराने संस्करण में डाउनग्रेड करने की कोशिश करता है।

6. सत्यापित बूट स्टेट मशीन

A/B स्विचिंग को नियंत्रित करने वाली स्टेट मशीन हमारी पूरी लाइन-अप में मामूली विविधताओं के साथ साझा की जाती है। यह स्टेट मशीन SBL में चलती है:

वर्तमान स्थिति घटना अगली स्थिति क्रिया
बूट A सत्यापित OK बूट A काउंटर बढ़ाएँ
बूट A सत्यापन विफल बूट B स्लॉट B आज़माएँ
बूट B सत्यापित OK बूट B काउंटर बढ़ाएँ
बूट B सत्यापन विफल रिकवरी USB इमेज़ की प्रतीक्षा करें
रिकवरी हस्ताक्षरित इमेज़ प्राप्त हुई रिकवरी नई इमेज़ फ़्लैश करें
रिकवरी इमेज़ सत्यापन विफल ब्रिक HSM-हस्ताक्षरित रिकवरी की प्रतीक्षा करें
बूट A या B OTA स्टेजिंग पूर्ण स्टेजिंग रीबूट अगले बूट पर स्लॉट स्विच करें
स्टेजिंग रीबूट सत्यापित OK बूट (नया स्लॉट) स्लॉट को प्रमोट करें, रोलबैक विंडो कम करें

"रोलबैक विंडो" उन बूट्स की संख्या है जिनके बाद नया फ़र्मवेयर स्थिर माना जाता है। हमारा डिफ़ॉल्ट 4 सफल बूट है; यदि OTA के बाद पहले 4 बूट्स में पेन क्रैश होता है, तो SBL स्वचालित रूप से पिछले स्लॉट पर रोल बैक कर देता है।

7. OTA स्टेजिंग और रिकवरी प्रवाह

Linux SKU पर OTA प्रवाह इस प्रकार दिखता है:

  1. OEM सर्वर RSA-2048 / ECDSA P-256 हस्ताक्षर के साथ फ़र्मवेयर इमेज बनाता है।
  2. इमेज को परिवहन के लिए AES-128-CTR से एन्क्रिप्ट किया जाता है।
  3. Pen इमेज को Wi-Fi (F8, L5, T2, Y6) या BLE (K7, KF1, Q6, Q8) के माध्यम से डाउनलोड करता है।
  4. TrustZone TEE हस्ताक्षर को SE में OEM रूट कुंजी के विरुद्ध डिक्रिप्ट और सत्यापित करता है।
  5. डिक्रिप्ट की गई इमेज को निष्क्रिय स्लॉट (जैसे system B) में लिखा जाता है।
  6. बूट फ़्लैग्स को "अगले रीस्टार्ट पर B से बूट करें" पर सेट किया जाता है।
  7. Pen स्लॉट B में रीबूट होता है और 4 बूट साइकल चलाता है।
  8. यदि 4 बूट सफल होते हैं, तो स्लॉट B को प्रमोट किया जाता है; रोलबैक काउंटर बढ़ाया जाता है।
  9. यदि कोई भी बूट विफल होता है, तो स्लॉट A को पुनर्स्थापित किया जाता है और OTA सर्वर को एक फ़्लैग भेजा जाता है।

RTOS-आधारित OTA समान लेकिन छोटा होता है: 1.4–3.0 MB इमेज, K7 / Q6 / Q8 पर BLE के माध्यम से OTA में 8–25 सेकंड बनाम L5 पर Wi-Fi के माध्यम से 40–90 सेकंड।

8. बूट-टाइम अनुकूलन तकनीकें

हम बूट समय को प्रतिस्पर्धी बनाए रखने के लिए पाँच तकनीकें लागू करते हैं:

तकनीक इसका उपयोग करने वाले SKUs बचत
SBL और SE init को समानांतर करें F8, L5, T2, Y6 60–110 ms
उत्पादन में UART/JTAG init को छोड़ें सभी 12–20 ms
संपीड़ित कर्नेल + प्रारंभिक डिकंप्रेशन का उपयोग करें F8, L5, T2, Y6 80–150 ms
SBL के दौरान पहले OID ऑडियो को प्री-डिकोड करें B1, B2, P2 18–30 ms
स्पेक्टर/मेल्टडाउन शमन (RTOS) अक्षम करें B1, B2, P2, Q6, Q8 8–14 ms

Linux-आधारित SKUs Spectre/Meltdown शमन को अक्षम नहीं करते क्योंकि वे OID लाइब्रेरी से अविश्वसनीय सामग्री को संभालते हैं। RTOS-आधारित SKUs इसे अक्षम करते हैं क्योंकि उनका संपूर्ण फ़र्मवेयर हस्ताक्षरित होता है।

9. सामान्य बूट विफलता मोड जो हमने देखे हैं

2023 के बाद से 47,000+ शिप किए गए यूनिट्स में, फ़ील्ड में कोल्ड-बूट विफलताओं का यह विवरण है:

विफलता मोड आवृत्ति समाधान
काउंटर अंडरफ़्लो (डाउनग्रेड हमला) 0.02 % सर्विस सेंटर पर रिफ़्लैश
A/B स्विच लूप 0.18 % USB के माध्यम से स्लॉट A को बल दें
OTA स्टेजिंग राइट बाधित 0.34 % स्टेजिंग से स्वतः-रिकवरी
बूट के दौरान पावर हानि 0.91 % स्लॉट B से बूट
eMMC घिसाव 0.06 % वारंटी प्रतिस्थापन
SE टैम्पर फ़्लैग सेट 0.04 % सर्विस सेंटर पुनः init
बैटरी ब्राउन-आउट 0.22 % कोल्ड स्थिति से बूट

0.91 % बूट-के-दौरान-पावर-हानि विफलता फ़ील्ड सेवा टिकटों का सबसे बड़ा एकल कारण है। हमने L5 फ़र्मवेयर 4.1.5 पर एक 1.2 ms कैपेसिटर बैंक जोड़ा है जो 12 ms ब्राउन-आउट के माध्यम से eMMC VCCQ रेल को होल्ड करता है; इससे अगले 8,000 यूनिट्स में विफलता दर 0.31 % तक गिर गई।

10. अगले 18 महीनों में क्या बदलेगा

दो बदलाव आने वाले हैं। पहला, L5 और T2 पर फर्मवेयर 4.3.0 Linux U-Boot चेन को U-Boot 2024.10 + GRUB 2.12 से बदलकर UEFI बूट लाएगा। इससे उन OEM खरीदारों के लिए बूट अधिक जाँचने योग्य हो जाएगा जो अपने स्वयं के डिस्ट्रो को चेन करना चाहते हैं। दूसरा, K7 / KF1 फर्मवेयर 2.0.0 में OPTIGA Trust M सिक्योर एलिमेंट में एंकर किया गया हार्डवेयर Root of Trust (RoT) आएगा, जो मौजूदा केवल-सॉफ्टवेयर TrustZone-M SAU दृष्टिकोण की जगह लेगा।

दोनों बदलाव पश्च-संगत हैं: मौजूदा बूट प्रवाह काम करता रहेगा, लेकिन एक नया मोड उन टेंडर के लिए UEFI या हार्डवेयर RoT का विकल्प खोलेगा जिन्हें इसकी आवश्यकता है।

11. हमारे फर्मवेयर वर्ज़न नंबर कैसे पढ़ें

हमारे फर्मवेयर वर्ज़न MAJOR.MINOR.PATCH पैटर्न का पालन करते हैं। उदाहरण के लिए, B2 फर्मवेयर 2.4.7 का अर्थ है मेजर वर्ज़न 2, माइनर 4, पैच 7। नियम ये हैं:

  • MAJOR तब बढ़ता है जब कोई ब्रेकिंग बदलाव होता है (जैसे FreeRTOS से Zephyr पर स्विच करना, rootfs लेआउट बदलना)।
  • MINOR तब बढ़ता है जब कोई नई सुविधा जुड़ती है (जैसे कोई नई भाषा जोड़ना, कोई नया OID कोडेक)।
  • PATCH तब बढ़ता है जब कोई बग फिक्स या सिक्योरिटी बैकपोर्ट होता है।

रोलबैक नियम: आप MINOR और PATCH को स्वतंत्र रूप से रोल बैक कर सकते हैं। MAJOR को रोल बैक करने के लिए OEM की स्पष्ट सहमति आवश्यक है। यह आपको अनजाने में किसी एंड-ऑफ-लाइफ ब्रांच पर डाउनग्रेड होने से बचाता है।

फर्मवेयर वर्ज़नों की मौजूदा लाइन-अप है 1.9.5 (K7/KF1), 2.0.3 (P2), 2.4.7 (B1/B2), 2.6.4 (T2/Y6), 3.1.2 (F8), 3.3.1 (Q6/Q8), 4.2.0 (L5)। हम अपने OEM पोर्टल पर हर 6 सप्ताह में फर्मवेयर रिलीज़ नोट्स प्रकाशित करते हैं।

संबंधित पठन

कोटेशन का अनुरोध करें — त्वरित फैक्ट्री प्रतिक्रिया प्राप्त करें

Frequently Asked Questions

रीडिंग पेन का सामान्य कोल्ड-बूट समय कितना होता है?
हमारे 11 SKUs में, कोल्ड-बूट से पहले ऑडियो तक का समय 280 ms (B2) से 1,450 ms (L5) तक है। RTOS-आधारित पेन औसतन 320 ms लेते हैं; Linux-आधारित पेन औसतन 1,360 ms लेते हैं। 4× का अंतर लगभग पूरी तरह Linux SKUs पर rootfs माउंट, ALSA इनिशियलाइज़ेशन और TEE सेटअप के कारण है।
क्या रीडिंग पेन A/B पार्टिशन का उपयोग करता है?
हाँ, सभी Linux SKUs (F8, L5, T2, Y6) पर — क्रमशः 32 MB और 1.4 GB के दो बूट पार्टिशन और दो सिस्टम पार्टिशन। RTOS SKUs (B1, B2, K7, KF1, P2, Q6, Q8) हार्डवेयर स्वैप के साथ डुअल-बैंक NOR और 32-बिट मोनोटोनिक रोलबैक काउंटर का उपयोग करते हैं।
यदि OTA अपडेट मिड-फ्लैश में फेल हो जाए तो क्या होता है?
सक्रिय पार्टिशन अपरिवर्तित रहता है। अगले बूट पर SBL पता लगाता है कि स्टेजिंग स्लॉट अधूरा है या सिग्नेचर अमान्य है, और पिछले ज्ञात-अच्छे स्लॉट पर वापस चला जाता है। पेन सामान्य रूप से कार्य करता रहता है और नए OTA की प्रतीक्षा करता है। 2023 से हमने 12,000 तैनात अपडेट्स में 0.34% OTA स्टेजिंग विफलताएँ मापी हैं।
क्या कोई OEM खरीदार अपने स्वयं के फ़र्मवेयर इमेज साइन कर सकता है?
हाँ। प्रत्येक खरीदार को Thales HSM पर जनरेट किया गया अपना RSA-2048 या ECDSA P-256 कीपेयर जारी किया जाता है। OEM फ़र्मवेयर इमेज को ऑफ़लाइन या हमारे OEM पोर्टल के माध्यम से साइन करता है, फिर उसे OTA सर्वर पर भेजता है। बूट के दौरान पेन का SE OEM रूट की के विरुद्ध सिग्नेचर सत्यापित करता है।
रीडिंग पेन पर BIOS और मास्क ROM बूटलोडर में क्या अंतर है?
रीडिंग पेन में कोई PC BIOS नहीं होता। इसमें एक मास्क ROM बूटलोडर होता है — फ़ैब पर सिलिकॉन में बर्न किया गया कुछ किलोबाइट्स अपरिवर्तनीय कोड। यह ROM कोड ट्रस्ट की जड़ है और फ्लैश में संग्रहीत सेकंड-स्टेज बूटलोडर (SBL) को सत्यापित करता है। UEFI अवधारणाओं से परिचित OEM खरीदारों के लिए इसे BIOS कहना एक उपयोगी शॉर्टहैंड है।
आपका कार्ट
इस साइट पर आपका अनुभव कुकीज़ की अनुमति देने से बेहतर होगा। कुकी पॉलिसी
Chat on WhatsApp