ROM पोर्टिंग के लिए boot.img को अनपैक और एडिट कैसे करें?


14

मैंने हाल ही में इस ROM को अपने Allview P5 के लिए डाउनलोड किया (Allview P5, Gionee GN700W / FLY IQ441 / QMobile Noir A8 के बराबर है)। इसे Primonex ROM कहा जाता है और इसे फोन के जियोनी संस्करण के लिए बनाया गया है।

  • सबसे पहले, मैंने इसे स्थापित करने की कोशिश की, लेकिन यह बूट स्क्रीन पर अटक गया।
  • कुछ शोध के बाद मुझे पता चला कि यह boot.imgफ़ाइल के साथ एक समस्या हो सकती है और मुझे नहीं पता कि इसे कैसे निकालना या संपादित करना है ...

क्या कोई मुझे बता सकता है कि यह कैसे करना है?

जवाबों:


12

उपकरण चयन

मेरे द्वारा यहां प्रस्तुत विधि CyanogenMod के एंड्रॉइड सोर्स कोड पर निर्भर करती है।

जबकि Google का AOSP केवल फ़ाइल बनाने के लिए उपकरण प्रदान करता है boot.img, CyanogenMod भी unpackbootimgउपकरण को जोड़ता है जिससे आप इसे अनपैक कर सकते हैं। यह उपकरण किसी भी तरह से CyanogenMod के लिए विशेष रूप से डिज़ाइन नहीं किया गया है, इसलिए सबसे अधिक संभावना है कि यह अन्य रोम के लिए भी काम करेगा।

हालाँकि, boot.imgफ़ाइल को अनपैक करने के लिए अपेक्षाकृत बड़ी संख्या में विकल्प हैं जो सभी अधिक-या-कम काम करते हैं।

मूल रूप से, इस तरह के अनपैक टूल boot.imgफ़ाइल की सामग्री को निकाल देंगे और मापदंडों के एक सेट को प्रदर्शित करेंगे जो आपको mkbootimgएक फाइल बनाने के लिए Google के टूल से गुजरना होगा जिसका कॉन्फ़िगरेशन (मुख्य रूप से कर्नेल पैरामीटर और मेमोरी एड्रेस) मूल से मेल खाएगा।

यहाँ कुछ उदाहरण दिए गए हैं, मैंने व्यक्तिगत रूप से उनका परीक्षण नहीं किया है इसलिए कोई भी सिफारिश नहीं कर सकता है और मैं उन्हें केवल संदर्भ उद्देश्यों के लिए प्रस्तुत करता हूं:

  • कुछ खुले स्रोत या स्क्रिप्ट आधारित हैं:

    • एंड्रॉइड किचन जाहिरा तौर पर एंड्रॉइड डेवलपर्स के लिए स्विस सेना चाकू के किसी प्रकार का होना था। मूल लेखक ने आधिकारिक तौर पर परियोजना को बनाए रखना बंद कर दिया, कुछ अन्य उपयोगकर्ताओं ने इसे javilonas या cmotc की तरह कांटा
    • सम्पूर्ण अनपैकिंग और रीपैकिंग प्रक्रिया को और अधिक सरल बनाने के लिए शेल टूल रैपर्स को अपने टूलसेट में जोड़कर एंजाइम सादगी को लक्षित करता है।
    • osm0sis प्रोजेक्ट के स्वयं के विवरण के अनुसार CyanogenMod के उपकरण "कांटा और अद्यतन" का एक कांटा प्रस्तावित करता है । यह परियोजना वास्तव में अभी भी बनी हुई है जो इस क्षेत्र में बहुत आम नहीं है, हालांकि CyanogenMod के मूल साधनों पर वास्तविक लाभ मेरे लिए अस्पष्ट है।
  • कुछ मुफ्त बंद स्रोत मालिकाना बायनेरिज़ हैं:

    • Kuismaunmkbootimg अक्सर मदद मंचों में दिखाई देता है और अजीब मामलों को संभालने में मदद करने के लिए एक अच्छा काम करने लगता है, "मानव पठनीय" अंग्रेजी सिफारिश का उत्पादन जब mkbootimgस्रोत कोड में कुछ संशोधन की आवश्यकता होती है और छवि के पुनर्निर्माण के लिए उपयोग करने के लिए सटीक कमांड-लाइन प्रदर्शित करते हैं।
    • ज़ियाओलू केmkbootimg_tools प्रतीत होने का भी अक्सर उल्लेख किया जाता है और अनपैक और रीपैक boot.imgऔर डिवाइस ट्री फ़ाइल की अनुमति देता है dt.img। तथ्य यह GitHub पर होस्ट किया गया है द्वारा धोखा न खाएं: यह है एक बंद स्रोत मालिकाना द्विआधारी और केवल संकलित युग्मक उनके भंडार पर उपलब्ध हैं (वास्तव में मैं भी दुकान में एक स्रोत-कोड भंडार का उपयोग कर का सही ब्याज के बारे में सोच रहा हूँ बाइनरी बूँदें, लेकिन विभिन्न लोग, विभिन्न दिमाग ...)।
    • XDA फोरम पर CNexus टूल के चयन के साथ एक संग्रह प्रदान करता है।
    • Unix.SE में यह जवाब अब प्रतीत होता है कि दोषपूर्ण एंड्रॉइड सीरियल पोर्ट परियोजना से कुछ उपकरणों की सिफारिश करता है । हालाँकि, फ़ाइल नाम, मुझे यह सोचने के लिए प्रेरित करते हैं कि ये CyanogenMod के टूल के पुराने पूर्वनिर्मित संस्करण (परियोजना को बंद किया जा रहा है, इसमें न तो कोई दस्तावेज़ है और न ही समर्थन है)।

ये सभी उपकरण (और अन्य आप किसी भी खोज इंजन के साथ मिल सकते हैं) को उसी तरह से काम करना चाहिए, लेकिन कुछ अपने स्वयं के डिवाइस के साथ सामना करने वाले कुछ विशेष किनारे-मामले को संभालने में दूसरों की तुलना में बेहतर काम कर सकते हैं। उनमें से ज्यादातर, हालांकि, कम से कम खुले स्रोत के क्षेत्र में, नियमित रूप से बनाए रखा नहीं लगता है, इसलिए काम करने, बनाए रखने और प्रलेखित उपकरणों के लिए मेरी राय में सबसे अच्छा शर्त है कि वह सायनोजेनमॉड्स के साथ जाएं।

कुछ निर्माता रोम का उत्पादन करते हैं जो एओएसपी मानक (असामान्य पते, हेडर, फ़ाइल प्रारूप, आदि) से अधिक या कम हैं। यदि नीचे दी गई मानक प्रक्रिया काम नहीं करती है, हो सकता है कि इनमें से कोई एक वैकल्पिक सॉफ्टवेयर चाल चल सकता है। अन्यथा, आपको अपने डिवाइस के लिए विशिष्ट मुद्दों की जांच करनी होगी: कुछ को एक विशिष्ट प्रक्रिया या यहां तक ​​कि विशिष्ट उपकरणों की आवश्यकता लगती है ( उदाहरण के लिए, मीडियाटेक उपकरणों से संबंधित इस प्रश्न को देखें)।

उपकरण स्थापना

boot.imgपैकिंग और अनपैकिंग के लिए CyanogenMod टूलसेट का संकलन काफी सीधा है।

  • यदि आपने पहले ही पूर्ण Android स्रोत कोड ट्री स्थापित कर लिया है (आप इसके बारे में अधिक जानकारी प्राप्त करने के लिए मेरे अन्य उत्तर की जांच कर सकते हैं ), system/core/mkbootimg/निर्देशिका में जाएं (एक अनुस्मारक के रूप में, Google का AOSP स्रोत कोड केवल boot.imgफ़ाइल बनाने के लिए उपकरण प्रदान करता है , वे नहीं करते हैं कोई भी अनपैकिंग उपकरण प्रदान करें),
  • यदि आपको किसी अन्य उद्देश्य के लिए इसकी आवश्यकता नहीं है, तो एक आसान और तेज समाधान केवल CyanogenMod के android_system_core रिपॉजिटरी को क्लोन करना है:

    git clone https://github.com/CyanogenMod/android_system_core.git
    cd android_system_core/mkbootimg/
    

एक बार सही निर्देशिका में, संकलित करें और स्थापित करें:

gcc -o ./mkbootimg -I ../include ../libmincrypt/*.c ./mkbootimg.c
gcc -o ./unpackbootimg -I ../include ../libmincrypt/*.c ./unpackbootimg.c
sudo cp ./mkbootimg ./unpackbootimg /usr/bin/

ध्यान दें कि Google C mkbootimgको पायथन संस्करण के साथ बदल रहा है , इसलिए भविष्य के संस्करणों में इस कमांड के लिए अब किसी संकलन की आवश्यकता नहीं हो सकती है।

आपको अपने फ़ोन से संवाद करने देने के लिए अपने कंप्यूटर पर एंड्रॉइड टूल इंस्टॉल करने की आवश्यकता होगी। आपको adb(Android डिबग ब्रिज, Android के डिबग सबसिस्टम के साथ संवाद करने की अनुमति देने वाला शेल उपयोगिता), adbd(संबंधित डेमॉन) और fastboot(शेल उपयोगिता आपके फोन के बूटलोडर सिस्टम के साथ संवाद करने की अनुमति देता है) की आवश्यकता होगी।

आपका पसंदीदा लिनक्स वितरण उन्हें एक या अलग पैकेज में प्रदान कर सकता है, लेकिन आमतौर पर उन्हें हमेशा "एंड्रॉइड-टूल्स" कहा जाता है:

  • डेबियन / उबंटू: sudo apt-get install android-tools-{adb,adbd,fastboot}
  • फेडोरा / CentOS: sudo yum install android-tools
  • openSUSE: sudo zypper install android-tools

boot.imgफ़ाइल प्राप्त करें

ROM .zip फ़ाइल से या सीधे डिवाइस से boot.img निकालें:

  • स्टॉक रॉम .zip फ़ाइल से: सुपरएसयू जैसे कुछ एप्लिकेशन सीधे डिवाइस पर boot.img को संशोधित कर सकते हैं, इसे स्टॉक के साथ बदलकर ऐसे एप्लिकेशन को तोड़ देंगे।
  • डिवाइस से सीधे: कुछ लोग रिपोर्ट करते हैं कि यह समस्या भ्रष्ट हो जाती है boot.img। IMO, ये समस्याएँ संभवत: खराब USB केबल या USB हब के उपयोग से जुड़ी होती हैं और फोन को सीधे कंप्यूटर से जोड़ने वाली अच्छी गुणवत्ता वाली केबल का उपयोग करके इससे बचा जा सकता है। आपको एडीबी को रूट मोड में चलाने की क्षमता की भी आवश्यकता है (उपयोग किए गए रॉम के आधार पर, यह तुच्छ हो सकता है या नहीं)।

पहली विधि बहुत स्पष्ट है: किसी भी ज़िप सॉफ़्टवेयर के साथ .zip फ़ाइल को निकालें boot.img, संग्रह के मूल में फ़ाइल वहीं होनी चाहिए।

दूसरी विधि के लिए, आपको सबसे पहले स्टोरेज डिवाइस के लिए (उदास डिवाइस-विशिष्ट) पथ निर्धारित करना होगा, जहां boot.imgसामग्री पुनः प्राप्त की जा सकती है। मैं इसके लिए दो तरीके जानता हूं:

  • ls /dev/block/platform/*/by-name/(जहां *कवर अभी तक एक और उपकरण-विशिष्ट फ़ोल्डर का नाम, संभावना है कि इसके नीचे ही निर्देशिका है platform/), खोज करने के लिए सही नाम भी मंच निर्भर है लेकिन हमेशा की तरह समझ में आता है (कुछ उदाहरण: boot, LNX"लिनक्स") के लिए (परिवर्णी शब्द)। इस निर्देशिका की फाइलें वास्तव में प्रतीकात्मक लिंक हैं और कुछ लोग मैन्युअल रूप से लक्ष्य पर जाने के लिए परेशान होते हैं, लेकिन मैं उच्च स्तर के नाम पर आधारित पथ के साथ चिपके रहने की सलाह देता हूं, जो कि अधिक समय तक कम त्रुटि वाला रहता है। तो तुम जैसे मार्ग से समाप्त हो जाओगे /dev/block/platform/sdhci-tegra.3/by-name/LNX
  • कुछ (पुराने?) उपकरणों पर, के आउटपुट की जांच करके सही डिवाइस पाया जा सकता है cat /proc/mtd। यदि आप लेबल mtd2से संबंधित डिवाइस देखते हैं "boot", तो आप पथ का उपयोग करेंगे /dev/mtd2

अभी:

  • फ़ोन के डेवलपर मेनू से:
    • अपने फ़ोन पर डिबगिंग सक्षम करें,
    • ADB तक रूट एक्सेस की अनुमति दें (यह कदम CynogenMod पर चलने वाले फोन पर लागू होता है, अन्य उपकरणों को कुछ संभावित अधिक जटिल प्रक्रिया की आवश्यकता हो सकती है)
  • इसे अपने कंप्यूटर से कनेक्ट करें (और वहां से VM अतिथि के लिए यदि आप वर्चुअल मशीन के भीतर से Android उपकरण चला रहे हैं)।

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

adb start-server

फिर एडीबी को रूट मोड में स्विच करें:

adb root

अंत में, आपको boot.imgऐसे कमांड का उपयोग करके डिवाइस से फ़ाइल को सीधे निकालने में सक्षम होना चाहिए (स्रोत और गंतव्य पथ और नाम उदाहरण के रूप में दिए गए हैं, उन्हें अपनी आवश्यकताओं और वरीयताओं के लिए अनुकूलित करें):

adb pull /dev/block/platform/sdhci-tegra.3/by-name/LNX ./boot.img

कमांड पूरे विभाजन की नकल करेगा, दोनों इस्तेमाल किया और मुक्त स्थान, इसलिए आश्चर्यचकित न हों कि परिणामस्वरूप boot.imgफ़ाइल boot.imgस्टॉक रॉम .zip फ़ाइल के साथ आने वाली मूल फ़ाइल से बड़ी होगी , सामग्री स्वयं समान रहती है।

एक बार स्थानांतरण समाप्त हो जाने के बाद, फोन को डिस्कनेक्ट करें और डेवलपर मेनू से डिबगिंग और रूट एक्सेस दोनों को अक्षम करना न भूलें।

मूल boot.imgफ़ाइल को अनपैक करें

boot.imgपहले संकलित कमांड का उपयोग करके फ़ाइल को स्वयं अनपैक करें :

unpackbootimg -i ./boot.img

यह आपको boot.imgस्टॉक के संबंध में सही संरचना के साथ एक नया पुनर्निर्माण करने के लिए आवश्यक कई सूचनाओं का उत्पादन करेगा boot.img। हालाँकि, अपने नोटपैड पर जल्दी मत करो क्योंकि CyanogenMod की upackbootimgकई फाइलों में बहुत ही जानकारी को हम बाद में उपयोग करेंगे।

यह कमांड इनपुट फ़ाइल के नाम में जोड़े गए विशेष प्रत्ययों के साथ कई फाइलें उत्पन्न करता है:

  • *-second: यह दूसरे चरण का बूटलोडर है, वैकल्पिक और शायद ही कभी अंत-उपयोगकर्ता फोन पर उपयोग किया जाता है। यदि यह फ़ाइल खाली है (सबसे सामान्य मामला), तो फोन का बूट लोडर सीधे लिनक्स कर्नेल को कॉल करेगा।
  • *-zImage: यह लिनक्स कर्नेल है।
  • *-ramdisk.gzया *-ramdisk.lz4: डिवाइस की रूट डायरेक्टरी को पॉप्युलेट करने के लिए उपयोग की जाने वाली रैम डिस्क। एक्सटेंशन उपयोग किए गए संपीड़न एल्गोरिदम के आधार पर भिन्न होता है।
  • *-dt: डिवाइस ट्री, पॉपुलेटिंग /dev
  • बाकी unpackbootimgआउटपुट में प्रदर्शित मूल्यों में से प्रत्येक को संग्रहीत करने वाली छोटी फाइलें हैं । ये मान लिनक्स-कर्नेल और उन पतों को पास करने के लिए कमांड-लाइन पैरामीटर को परिभाषित करते हैं जहां बूट लोडर को बूट समय पर प्रत्येक ऑब्जेक्ट को लोड करना होगा।

सबसे अधिक बार, एक boot.imgफ़ोन की रूट निर्देशिका की सामग्री को संपादित करने में सक्षम होने के लिए अनपैक करता है। जैसा कि ऊपर देखा गया है, यह सामग्री *-ramdisk.gzया *-ramdisk.lz4फ़ाइल में संग्रहीत है और इसे नीचे दिए गए आदेशों का उपयोग करके निकाला जा सकता है:

mkdir ./ramdisk
cd ./ramdisk/
gzip -dc ../boot.img-ramdisk.gz | cpio -imd

LZ4 संपीड़ित रैम डिस्क के लिए, अंतिम चरण को बदलें lz4 -d ../boot.img-ramdisk.lz4 | cpio -imd

आगे बढ़ने से पहले अब आप उस संशोधन को करने के लिए स्वतंत्र हैं जो आप चाहते हैं। हालाँकि, यह पूरी तरह से अनपैक - रिपैक - बूट प्रक्रिया का पालन करने के लायक हो सकता है, एक बार बिना कुछ बदले यह सुनिश्चित करने के लिए कि आपके उपकरण अपेक्षित रूप से काम कर रहे हैं। अन्यथा, किसी समस्या के मामले में, आप निश्चित नहीं होंगे यदि इसका कारण आपका संशोधन या कुछ असंगति है (गैर मानक प्रक्रियाओं या उपकरणों की आवश्यकता वाले कुछ निर्माताओं के बारे में शुरुआत में मेरी टिप्पणी देखें)।

नई new-boot.imgफ़ाइल प्राप्त करने के लिए पुनर्निर्माण करें

CyanogenMod ROM निर्माण प्रक्रिया एक आंतरिक उपकरण पर निर्भर करती है, फ़ाइल mkbootfsका निर्माण करने के लिए boot.img(यह बिल्ड / टूल्स / releasetools / common.py में होता है )। हालाँकि, इस उपकरण के निर्माण के कदम मुझे बेकार लगते हैं, जबकि सिस्टम द्वारा प्रदान cpioकिया गया प्रयोग ठीक काम करने लगता है। दोनों के बीच मुख्य अंतर, mkbootfsसूइस कोड में (बहुत) त्वरित जांच के बाद मेरी समझ के अनुसार , ऐसा लगता है कि उत्तरार्द्ध डॉटेड फ़ाइलों को शामिल नहीं करके कुछ संन्यासी उपायों को लागू करता है और /rootपरिणामी संग्रह में निर्देशिका को cpio-based प्रक्रिया से नीचे रखा गया है बस पूरी तरह से चयनित निर्देशिका ट्री को नेत्रहीन संग्रह में डाल देगा।

निष्कर्ष: अनावश्यक रूप से बहुत कम फायदे के साथ संकलन करने के लिए, तो चलो सिस्टम प्रदान किए गए टूल पर छड़ी करें!

ramdiskऊपर बनाई गई डायरेक्टरी से नई रैम डिस्क बनाकर टाइप करें:

find . ! -name . | LC_ALL=C sort | cpio -o -H newc -R root:root | gzip > ../new-boot.img-ramdisk.gz

या, यदि आपको LZ4 संग्रह बनाने की आवश्यकता है:

find . ! -name . | LC_ALL=C sort | cpio -o -H newc -R root:root | lz4 > ../new-boot.img-ramdisk.lz4

यहां लक्ष्य मूल रैम के करीब संभव के रूप में गुणों के साथ एक नई रैम डिस्क फ़ाइल बनाना है (उदाहरण के लिए, मालिक को स्थापित करना मंचों और ब्लॉगों में साझा प्रक्रियाओं में अक्सर गायब लगता है, हालांकि यह मेरे डिवाइस पर आवश्यक था)।

अब new-boot.imgफ़ाइल को जनरेट करने के लिए मूल निर्देशिका में जाएँ ।

cd ..

जैसा कि ऊपर देखा गया है, CyanogenMod की unpackbootimgकमांड द्वारा अपेक्षित प्रत्येक पैरामीटर से मेल खाता एक फ़ाइल उत्पन्न करता है mkbootimg। इसलिए, आपको बस इतना करना है mkbootimg -hकि सभी मापदंडों की एक सूची प्राप्त करना है , फिर उनमें से प्रत्येक को मिलान फ़ाइल का उपयोग करके उचित मूल्य पर सेट करें। ध्यान दें कि कुछ पैरामीटर फ़ाइल पथ की अपेक्षा करते हैं, जबकि अन्य फ़ाइल की सामग्री को मूल्य के रूप में प्राप्त करने की अपेक्षा करते हैं। नीचे दिए गए आदेश का एक उदाहरण देखें:

mkbootimg --kernel ./boot.img-zImage \
--ramdisk ./new-boot.img-ramdisk.gz \
--second ./boot.img-second \
--cmdline "$(cat ./boot.img-cmdline)" \
--base "$(cat ./boot.img-base)" \
--pagesize "$(cat ./boot.img-pagesize)" \
--dt ./boot.img-dt \
--ramdisk_offset "$(cat ./boot.img-ramdisk_offset)"
--second_offset "$(cat ./boot.img-second_offset)" \
--tags_offset "$(cat ./boot.img-tags_offset)" \
--output ./new-boot.img

केवल दो पैरामीटर यहां सेट नहीं हैं:

  • --board: मेरी समझ के अनुसार, यह परिणामी छवि में एक मॉडल नाम सम्मिलित करने की अनुमति देने वाला एक सूचनात्मक क्षेत्र है।
  • --id: यह किसी भी मूल्य की उम्मीद नहीं करता है, यह छवि बनाने के बाद एक अद्वितीय पहचानकर्ता को प्रिंट करता है (टाइमस्टैम्प और एक चेकसम को मिलाकर)।

new-boot.imgफ़ाइल को डिवाइस पर फ्लैश करें

  • डिवाइस को फास्टबूट मोड में चालू करें (उर्फ बूटलोडर मोड, आमतौर पर पावर और वॉल्यूम अप बटन दबाकर)।
  • USB केबल कनेक्ट करें।
  • जांचें कि डिवाइस सही तरीके से पता लगाया गया है:

    sudo fastboot devices
    
  • नई ROM का उपयोग करके बूट करने की कोशिश करें (इसे अभी तक फ्लैश किए बिना, इसलिए समस्या के मामले में आपको बस इसे फिर से प्राप्त करने के लिए फोन को पुनरारंभ करना होगा, ./new-boot.imgफ़ाइल नाम को अपने साथ बदलें ):

    sudo fastboot boot ./new-boot.img
    
  • यदि फोन नई बूट छवि के साथ सफलतापूर्वक काम करता है, तो फास्टबूट मोड में वापस जाएं और इसे स्थायी रूप से फ्लैश करें:

    sudo fastboot flash boot ./new-boot.img
    sudo fastboot reboot
    

निष्कर्ष

यह प्रक्रिया पहली बार में कठिन लग सकती है, लेकिन एक बार जब आप इसे प्राप्त करते हैं, तो आप देखेंगे कि यह वास्तव में नहीं है।

"चुनौतीपूर्ण" पहलू इस तथ्य से आता है कि एक "एंड्रॉइड सिस्टम" नहीं है: बहुत सारे निर्माता और रॉम प्रदाता परिवर्तन करते हैं जो सूक्ष्म पथ अंतर से पूरी तरह से गैर-मानक वातावरण तक हो सकते हैं।

आपको जो करना है वह आपके विशेष उपकरण के आसन को निर्धारित करता है, और फिर कुछ कमांड क्या हैं जो आपके मामले में उपयुक्त हैं। एक बार जब आप उन्हें प्राप्त करते हैं, तो आप उनसे चिपक सकते हैं और यहां तक ​​कि आसानी से उन्हें स्क्रिप्ट कर सकते हैं यदि आपको अक्सर उनकी आवश्यकता होती है।

मैं स्वेच्छा से कभी-कभी अपेक्षाकृत निम्न-स्तरीय विवरणों में चला गया क्योंकि इससे आपको अपने मुद्दों का अधिक आसानी से निवारण हो जाएगा। क्या आप अपनी नई boot.imgफ़ाइल बनाने और फ्लैश करने के लिए कुछ "आसान" अपारदर्शी उपयोगिता का उपयोग करेंगे और देखेंगे कि आपका डिवाइस इसके साथ शुरू नहीं हो सकता है, आपके लिए यह निर्धारित करना कठिन होगा कि कौन सा कदम गलत हुआ। यहां, प्रत्येक चरण में, आप उन डेटा की तुलना करने में सक्षम होंगे, जो आप मूल boot.imgफ़ाइल से आने वाले डेटा या फ़ोन पर देखे गए डेटा के साथ जोड़-तोड़ कर रहे हैं , या उदाहरण के लिए boot.imgफ़ाइल को मूल या नव उत्पन्न के साथ पुनर्निर्माण करने का प्रयास करें रैम डिस्क फ़ाइल यह जाँचने के लिए कि क्या इससे कोई फ़र्क पड़ता है (यदि समस्या boot.imgया रैम डिस्क फ़ाइल पीढ़ी प्रक्रिया से आती है तो यह आपको इंगित करने की अनुमति देता है )।


2

Android रसोई का उपयोग करें वहाँ बूट करने के लिए अनपैक / रीपैक करने का विकल्प है Advanced options


अफसोस की बात है कि मूल लेखक ने आधिकारिक तौर पर एंड्रॉइड किचन को बनाए रखने के लिए बंद कर दिया है: " यह परियोजना 2013 तक सेवानिवृत्त है, क्योंकि मैं समर्थन, मांग, खराब स्वास्थ्य और मदद के लिए निरंतर अनुरोधों की संख्या से अभिभूत हो गया हूं "। हालांकि, कुछ कांटे बनाए गए हैं (मैं अपने उत्तर में कुछ लिंक देता हूं), लेकिन मुझे नहीं पता कि उन्हें कितना समर्थन दिया गया है (मुझे मुद्दों को उठाने या उदाहरण के लिए एक विकास का अनुरोध करने का कोई स्पष्ट सार्वजनिक तरीका नहीं मिला)।
व्हाइटवॉटरवॉल्फ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.