एक प्रणाली फ़्लैश करने की कोशिश कर रहा हूँ। मैं dd के साथ लिया - असफल


16

यहां लंबे समय तक यूनिक्स लड़का, लेकिन एंड्रॉइड की दुनिया में अपेक्षाकृत नया है। पढ़ते रहिये।

EPISODE 1: एक नया बैकअप (मुझे उम्मीद है)

मैंने हाल ही में एक Asus मेमोपाड (ME103K) खरीदा है; मैं तब जड़ हो गया, और बाहरी एसडी कार्ड में ddकेवल-पढ़ने के systemलिए विभाजन की एक छवि ली :

$ su
# dd if=/dev/block/platform/msm_sdcc.1/by-name/system \
         of=/storage/MicroSD/system.img bs=1M
# ls -l /storage/MicroSD/system.img
-rw-r--r-- 1 root root 2147483648 Sep 27 13:15 system.img

आकार (बिल्कुल 2GiB) थोड़ा संदिग्ध था - क्या ऐसा हो सकता है कि यह SD कार्ड पर FAT32 विभाजन के कारण था?

नहीं यह नहीं था - tune2fs -l पता चला यह वास्तव में एक वैध EXT4 छवि थी, बिल्कुल 2GiB पर आकार की, जो बिल्कुल भी fsck -fकोई त्रुटि नहीं थी। और fastboot(टैबलेट से जुड़ी लाइनक्स मशीन से) संक्षिप्त रूप से, एक के बाद adb reboot bootloader:

linuxbox# fastboot getvar all
(bootloader)  version-bootloader: 3.03
(bootloader)  version-hardware: rev_c
(bootloader)  variant: LEOPARDCAT 16G
(bootloader)  version-baseband: H00_0.16.F_0521
(bootloader)  serialno: 0a3dXXXX
...
(bootloader)  partition-type:system: ext4
(bootloader)  partition-size:system: 0x0000000080000000

वह आकार, वास्तव में 2GB है:

linuxbox# python2 -c 'print 0x0000000080000000'
2147483648

तो, सब अच्छा है - मेरे पास छवि का बैकअप है। अब इसे बहाल करने का परीक्षण करना है।

मैं टैबलेट पर वापस जाने के लिए system.img को फ्लैश करने की कोशिश करता हूं - यह सुनिश्चित करने के लिए कि मैं कुछ भी ठीक कर सकता हूं, बुलेट-प्रूफ बैकअप की तरह हम यूनिक्स दुनिया में करते हैं ( जैसे ड्राइव के माध्यम से सामग्री को पुनर्स्थापित करेंdd if=backup.image of=/dev/sdXXX )।

से संबंधित adbऔर सब कुछfastboot त्रुटिपूर्ण रूप से काम करता है - इसलिए मैं कोशिश करता हूं ...

linux_box# fastboot devices
0a3dXXXX     fastboot

linux_box# mount /dev/sdcard /mnt/sdcard
linux_box# cp /mnt/sdcard/system.img .
linux_box# fastboot flash system system.img
error: cannot load 'system.img'

हम्म। मैं android-tools-5.1.1डिबग जानकारी जोड़कर और डिबगर में कदम रखने, स्रोतों से अपने वितरण का डाउनलोड और निर्माण करता हूं, इस विफलता को देखने के लिए:

linuxbox# gdb --args fastboot flash system system.img
...

नकारात्मक आकार के कारण विफलता!

दिलचस्प - भले ही मैं 64 बिट मशीन में हूं, लेकिन जाहिर है कि ऐसे मुद्दे हैं जो फ़ाइल आकार को "नकारात्मक" में बदल देते हैं (32 बिट की दुनिया में, मेरी छवि का फ़ाइल आकार, 2 ^ 31, वास्तव में नकारात्मक माना जाता है - सटीक होना -2147483648

ठीक है, ठीक है - वे एंड्रॉइड में बड़ी छवि फ़ाइलों को कैसे फ्लैश करते हैं?

Googling, खोज - पता चलता है कि वे इस make_ext4fsउपकरण का उपयोग करते हैं , जो चंचल चित्र बनाता है। वास्तव में यह मेरे द्वारा संकलित किए गए भाग का हिस्सा है, इसलिए मैं इसका उपयोग कर सकता हूं:

linuxbox# mkdir /system
linuxbox# mount -o loop,ro system.img /system
linuxbox# ls -l /system
total 208
drwxr-xr-x 106 root root   8192 Sep 17 22:24 app
drwxr-xr-x   3 root 2000   8192 Sep 26 21:08 bin
-rw-r--r--   1 root root   6847 Sep 12 16:59 build.prop
drwxr-xr-x  19 root root   4096 Sep 26 21:08 etc
drwxr-xr-x   2 root root   4096 Aug 11 22:27 fonts
drwxr-xr-x   4 root root   4096 Sep 12 16:56 framework
drwxr-xr-x  10 root root  16384 Sep 12 16:59 lib
drwxr-xr-x   2 root root   4096 Jan  1  1970 lost+found
drwxr-xr-x   3 root root   4096 Aug 11 22:18 media
drwxr-xr-x  59 root root   4096 Aug 11 22:29 priv-app
-rw-r--r--   1 root root 126951 Aug  1  2008 recovery-from-boot.p
drwxr-xr-x   3 root root   4096 Aug 11 21:02 scripts
drwxr-xr-x   3 root root   4096 Aug 11 21:02 tts
drwxr-xr-x  11 root root   4096 Sep 26 21:08 usr
drwxr-xr-x   8 root 2000   4096 Aug 11 22:29 vendor
drwxr-xr-x   2 root 2000   4096 Sep 26 21:09 xbin

linuxbox# ../extras/source/extras/ext4_utils/make_ext4fs \
      -l 2048M new_system.img /system
Creating filesystem with parameters:
    Size: 2147483648
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8192
    Inode size: 256
    Journal blocks: 8192
    Label: 
    Blocks: 524288
    Block groups: 16
    Reserved block group size: 127
Created filesystem with 2666/131072 inodes and 375014/524288 blocks

कूल - तो मैं स्पष्ट रूप से सादे पुराने फ़ोल्डर्स से सिस्टम छवियों का निर्माण कर सकता हूं। आकाश मेरी सीमा होगी - मैं इस छवि के लिए कुछ भी जोड़ सकता हूं।

चलो इसे जला दो ...

linuxbox# fastboot flash system new_system.img
erasing 'system'...
OKAY [  0.064s]
sending 'system' (2088960 KB)...
^C

मैंने उस Ctrl-C को मारने से पहले 1h का इंतजार किया। और टैबलेट को पावर-साइकिल करना था, जो फास्टबूट मोड में वापस बूट किया गया था।

यह अच्छा नहीं लग रहा है।

यदि मैं एक छोटी छवि बनाता हूं तो क्या होगा? हो सकता है कि 2GB किसी तरह का एक मुद्दा हो, और इस विभाजन का उपयोग पूर्ण क्षमता के लिए नहीं किया गया है - इसमें खाली स्थान है:

linuxbox# ../extras/source/extras/ext4_utils/make_ext4fs \
      -l 1536M new_system.img /system

linuxbox#  ./fastboot flash system system.img 
erasing 'system'...
OKAY [  0.065s]
sending 'system' (1572864 KB)...
OKAY [ 51.039s]
writing 'system'...
OKAY [235.080s]
finished. total time: 286.183s

ठीक है, यह बहुत ही आशाजनक है (और केवल 5 मिनट लगते हैं)। मुझे लगता है कि मैं अब वापस रीबूट कर सकता हूं और सब कुछ सामान्य होना चाहिए, हां?

नहीं :-)

यहाँ छवि विवरण दर्ज करें

जब तक मैं अंत में इसे नियंत्रित करने के लिए नहीं मिलता , तब तक मुझे अस्थायी रूप से ईंट वाले उपकरण से कोई आपत्ति नहीं है। (मशीनें जो मैं मास्टर नहीं हूं, वे मशीनें हैं जिन्हें मैं संचालित नहीं करता; ;-)

इस पर कोई विचार कि मैंने क्या गलत किया और इसे ठीक करने के लिए मैं क्या कर सकता हूं?

अग्रिम में धन्यवाद।

PS मैंने अपने टेबलेट के लिए Asus समर्थन पृष्ठ की जाँच की - वे केवल कर्नेल के लिए स्रोत प्रदान करते हैं, और ओवर-द-एयर .zip फ़ाइल। इसके बदले में रूट से एक फाइल-सिस्टम स्तर का बैकअप होता है - यानी systemफ़ोल्डर वहां मौजूद है बस एक फ़ोल्डर के रूप में, छवि नहीं, यह नहीं system.imgकि मैं फ्लैश कर सकता हूं - ताकि वास्तव में मेरी मदद न हो।

EPISODE 2: कस्टम बूट्स का हमला

recovery.imgAsus से किसी भी प्रकार की अनुपस्थिति में (एक निर्माता फास्टबूट-फ़्लेशबल प्रकाशित करने के लिए परेशान क्यों करेगा recovery.img? वास्तव में क्यों ...) और CWM और TWRP साइटों से पुनर्प्राप्ति छवियों पर एक समान अनुपस्थिति ... मैं सभी को लड़ाई के लिए छोड़ दिया गया हूं अकेला।

शुक्र है, आसुस की ओवर-द-एयर अपडेट फाइल इसके अंदर शामिल है ...

linuxbox# unzip -l /opt/Asus/firmware/UL-K01E-WW-12.16.1.12-user.zip |\
     grep boot.img$
7368704  2011-03-22 11:21   boot.img

... मेरे टेबलेट की बूट छवि। अब शायद - बस हो सकता है - मैं इसके साथ कुछ कर सकता हूं।

linuxbox$ mkdir rootfs
linuxbox$ cd rootfs
linuxbox$ abootimg -x /path/to/boot.img
linuxbox$ ls -l
bootimg.cfg
initrd.img
zImage

रमडिस्क का विस्तार ...

linuxbox$ mkdir initrd
linuxbox$ cd initrd
linuxbox$ gzip -cd ../initrd.img | cpio -ivd
...
linuxbox$ vi default.prop

default.propजब कर्नेल बूट होता है, तो मैं रूट हो जाता हूं :

ro.secure=0
ro.debuggable=1
ro.adb.secure=0
androidboot.selinux=disabled

मैंने भी /system/bin/sh( ओवर-द-एयर असुस .zip फ़ाइल से ) कॉपी किया /sbin/sh। मैंने बिजीबॉक्स के साथ भी ऐसा ही किया है - काफी आसान टूल।

और boot.img को वापस कर दिया ...

busybox$ find . | cpio --create --format='newc' | gzip -9 > ../initrd.custom.gz
busybox$ cd ..
busybox$ abootimg --create ../new_boot_busybox.img \
    -f bootimg.cfg -k zImage -r initrd.custom.gz

abootimgवास्तव में पहली बार मैं इसे चलाता था, क्योंकि bootimg.cfgअद्यतन किया जाना था - bootsizeपैरामीटर को बदलना पड़ा, क्योंकि पैकेज अब बड़ा है। abootimgरिपोर्ट करता है कि इसकी क्या आवश्यकता है, इसलिए यह काफी आसान है।

और अब, मैं अपनी कस्टम छवि बूट करता हूं ...

linuxbox# fastboot boot new_boot_busybox.img

... और गवाह निम्नलिखित ...

linuxbox# adb logcat
- exec '/system/bin/sh' failed: Permission denied (13) -

linuxbox# adb shell
- exec '/system/bin/sh' failed: Permission denied (13) -

हम्म ... शायद एडीबी को रूट के रूप में नहीं चलाया जाता है?

linuxbox# adb root
restarting adbd as root

linuxbox# adb shell
- exec '/system/bin/sh' failed: Permission denied (13) -

ललित ... मैं हेक्सिडिट एडीबीडी, और पैच / सिस्टम / बिन / श टू बी / साइबिन / श (मैंने ओटीए छवि से / सिस्टम / बिन / श की नकल की जड़ के मूल में): रिबूट, फास्टबूट ...

linuxbox# adb shell
- exec '/sbin/sh' failed: Permission denied (13) -

अरे। क्या यह बात कुछ कर पा रही है?

linuxbox# adb pull /proc/partitions
15 KB/s (1272 bytes in 0.079s)

यह है ... चलो देखते हैं:

linuxbox# adb pull /proc/mounts
16 KB/s (1358 bytes in 0.079s)

linuxbox# grep system mounts
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw,seclabel,relatime,data=ordered 0 0

ठीक है, तो / प्रणाली है रखा होगा। क्या मैं देख सकता हूं कि अंदर क्या है?

linuxbox# adb pull /system
remote object '/system' does not exist

क्या ... शायद मैं देख सकता / सकती हूं कि क्या / proc / kmsg शामिल है (क्या "dmesg" आउटपुट होगा)

linuxbox# adb pull /proc/kmsg
failed to copy '/proc/kmsg' to './kmsg': Operation not permitted

नहीं, मुझे ऐसा करने के लिए जड़ होने की आवश्यकता है।

linuxbox# adb push /sbin/sh /system/bin/sh
failed to copy '/sbin/sh' to '/system/bin/sh': Permission denied

और वह भी।

यह काफी पहेली बन रहा है ...


2
एकमात्र अच्छी बात जो आपने यहां नहीं की (और करनी चाहिए) एक कस्टम रिकवरी को फ्लैश करना है और फिर इसमें से विभाजन का एक नॉनड्रॉइड बैकअप लेना है। इस तरह के ईंट वाले राज्य से उपकरणों को पुनर्प्राप्त करने के लिए बुलेटप्रूफ तरीकों में से एक है। वह ओवर-the-air.zip (OTA ज़िप) एक रिकवरी फ्लैशबल ज़िप है जिसे रिकवरी में बूट होने पर फ्लैश किया जाता है और वे एक अलग पैकेजिंग फॉर्मेट का पालन करते हैं लेकिन समान लक्ष्य को प्राप्त करते हैं। लंबी कहानी छोटी, एक कस्टम रिकवरी (या स्टॉक एक में बूट), फ्लैश स्टॉक रोम फ्लैश करें और फिर जितना चाहें उतना प्रयोग करें।
Firelord

1
@ फ़ायरलॉर्ड: यह वह चीज़ है - भले ही fastbootअभी भी चालू है (बस ठीक अनुरोधों का जवाब है) और मैं इसलिए किसी भी पुनर्प्राप्ति छवि को जला सकता हूं, (ए) मैंने ME103K के लिए कोई सीडब्ल्यूएम या TWRP पुनर्प्राप्ति छवि नहीं खोजी और पाया - मुझे इसका कोई समर्थन नहीं है एक "जेनेरिक" जिसे आप संदर्भित कर रहे हैं, क्या वहाँ है? (b) पावर ऑफ, पावर बटन + वॉल्यूम डाउन दबाने से रिकवरी इमेज नहीं आती है - मैं अभी भी फास्टबूट स्टेट पर पहुंच जाता हूं। मो विचार क्यों। वास्तव में मैंने कभी रिकवरी की प्रक्रिया नहीं देखी (थोड़े इसे देखने के लिए उत्सुक) ...
ttsiodras

1
पुनर्प्राप्ति मोड में बूट करने के लिए Power + Vol Up + Vol Down जैसे अन्य बटन संयोजनों का प्रयास करें। यदि आप स्टॉक रिकवरी ज़िप तक पहुँचते हैं, तो स्टॉक रिकवरी की छवि फ़ाइल कहीं हो सकती है, जिसे आप फास्टबूट से फ्लैश कर सकते हैं या सीधे बूट कर सकते हैं ( fastboot boot <FILE>.img), तो पूरे स्टॉक ज़िप फ़ाइल को फ्लैश करें। वैकल्पिक रूप से, देखें कि क्या मौजूद है (वेब ​​पर) स्टॉक रॉम फाइलें जिन्हें फास्टबूट का उपयोग करके फ्लैश किया जा सकता है।
Firelord

1
@ फ़ायरलॉर्ड: नहीं, आसुस एक रिकवरी प्रदान नहीं करता है। ज़िप। OTA फ़ाइल से, कुछ भी नहीं है .img-y ( unzip -l UL-K01E-WW-12.16.1.12-user.zip | grep recoveryकेवल शेल स्क्रिप्ट के एक जोड़े को दिखाता है - मेरे पास एक नज़र होगा, लेकिन निश्चित रूप से कोई जानकारी नहीं recovery.imgहै)। Googling ने या तो मदद नहीं की - कहीं भी इस टैबलेट की रिकवरी इमेज नहीं हैं ... लगता है मुझे ddउनके रिकवरी पार्टीशन और शेयर के लिए किसी तरह की आत्मा का इंतजार करना पड़ेगा ?
ttsiodras 14

जवाबों:


7

एपिसोड 3: शैल की वापसी।

अगर मुझे कभी भी इसे हल करने का कोई मौका मिला, तो मुझे पहले यह पता लगाना था कि शेल क्यों काम नहीं कर रहा है। adbdखुद जवाब दे रहा था, इसलिए इसे टैबलेट की तरफ से शुरू किया गया था - लेकिन यह शेल को निष्पादित नहीं कर सका, यहां तक ​​कि जब मैंने किसी फाइल को इनवॉइस करने के लिए हैक-पैच किया, तो /sbin/shमैंने खुद को बूट छवि में रखा - 100% सुनिश्चित करें कि यह था उचित अनुमतियाँ और shell(id = 2000) खाते से पहुंच योग्य थी जो adbdउपयोग करता है।

जो केवल एक स्पष्टीकरण छोड़ दिया - SELinux "पिंजरों"।

इसलिए मैंने जाँच की कि adbdमेरी बूट छवि कैसे शुरू की गई है init.rc:

# adbd is controlled via property triggers in init.<platform>.usb.rc
service adbd /sbin/adbd --root_seclabel=u:r:su:s0
    class core
    socket adbd stream 660 system system
    disabled
    seclabel u:r:adbd:s0

... और एक स्पष्ट बदलाव की कोशिश की:

service adbd /sbin/adbd
    class core
    socket adbd stream 660 system system

मैं फिर से पैक किया, और मेरी गहन संतुष्टि के लिए, देखा ...

linuxbox# adb shell
$ 

मुझे अंत में टैबलेट का एक्सेस मिला - "अंदर" से।

माउंटेड / सिस्टम की जांच करने पर, यह स्पष्ट हो गया कि चमकती प्रक्रिया - भले ही fastboot flash system ...रिपोर्ट की गई थी कि सब ठीक था - शानदार रूप से विफल हो गया था । यह आश्चर्य था कि विभाजन पहले स्थान पर था।

यह बताया कि टैबलेट बूट क्यों नहीं कर रहा था, और मुझे अंतिम विचार दिया जिसने इस मुद्दे को हल किया।

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

लेकिन मेरी अपनी बूट छवि थी - जिसका अर्थ था कि मैं /fstab.qcomइसे अंदर संपादित कर सकता हूँ , और यह करूँ:

मूल पंक्ति जिसने टेबलेट को माउंट / सिस्टम के लिए बताया

/dev/block/platform/msm_sdcc.1/by-name/system  /system  ext4 ro,barrier=1 wait

मेरा सम्पादन

/dev/block/mmcblk1p2  /system ext4  rw,barrier=1 wait

... और मेरे लिनक्स बॉक्स में, मैंने ddअपने बाहरी एसडी कार्ड के दूसरे विभाजन में टैबलेट के सिस्टम विभाजन का प्राचीन बैकअप दिया है - जिसे मैंने gpartedबिल्कुल 2GB के माध्यम से बनाया है ।

यह किया - गोली मेरे बाहरी एसडी कार्ड से बूट किया।

संपादित करें : यात्रा जारी रही - मैंने अंततः अपना कर्नेल संकलित किया और जड़ हो गया


2
मैं प्रकरण 4 की कसम खाता हूँ, अगर यह जवाब पोस्ट नहीं किया जाता, तो मैं इन सभी प्रकरणों से मज़े के लिए एक इनाम की पेशकश करता। यह देखना अच्छा है कि आपने अपनी समस्या को स्वयं हल कर लिया। : डी
Firelord

2
@ फ़ायरलॉर्ड: धन्यवाद, दोस्त। इस प्रक्रिया में, मुझे लगता है कि मैंने कुछ अच्छा नहीं किया - मैंने अपने टैबलेट को बिना टच किए बूट कर दिया है ... बूट छवि बाहर (ओवर fastboot boot ...) से आती है और /systemविभाजन एसडी कार्ड पर होता है, जो भी मैं चाहता हूं के लिए tweakable। जैसे, USB स्टिक से एक पीसी को बूट करना :-)
ttsiodras

4

ऐसा लगता है कि आप अपनी समस्या के लिए पहले से ही किसी प्रकार का समाधान पा चुके हैं (इस पृष्ठ पर पढ़ने के लिए बहुत से पाठ हैं), लेकिन ऐसा लगता है कि यह संभवतः बहुत अधिक बस हल किया जा सकता था।

linuxbox# fastboot getvar all
(bootloader)  version-bootloader: 3.03
(bootloader)  version-hardware: rev_c
(bootloader)  variant: LEOPARDCAT 16G
(bootloader)  version-baseband: H00_0.16.F_0521
(bootloader)  serialno: 0a3dXXXX
...
(bootloader)  partition-type:system: ext4
(bootloader)  partition-size:system: 0x0000000080000000

इन चरों में, क्या आपके टैबलेट ने कोई वापसी की है max-download-size चर ? यदि हां, तो यह एक चेतावनी प्रदान कर सकता है, एकमुश्त, कि चमकती प्रक्रिया में इतनी बड़ी छवि के साथ कुछ मुद्दे हो सकते हैं। वर्तमान फास्टबूट कोड max-download-sizeबहुत छोटा है, लेकिन जब मैंने कहा कि डिवाइस जो इसे संभाल सकता है, उसकी तुलना में छोटा है, तब भी मैंने आपकी उसी त्रुटि का अनुभव किया है, इसलिए वास्तव में बिंदु एक प्रकार की लूट है, मुझे लगता है।

linux_box# fastboot flash system system.img  
error: cannot load 'system.img'

तो, वैसे भी, यह यहाँ लगता है, जो भी कारण के लिए, आप फ्लैश करने में असमर्थ हैं। यदि आप और मैं सही हैं, और यह आकार के बारे में है (आपके टैबलेट में केवल 1 जीबी रैम है, और माना जाता है कि ज्यादातर डिवाइस चमकने से पहले पूरी छवि को रैम में पढ़ने की कोशिश करते हैं ), यह वह जगह है जहां मुझे -Sविकल्प जोड़ने का मात्र समायोजन लगता है के रूप में यह मेरे लिए है अपना फ़्लैश तय करने के लिए:

fastboot -S 512M flash system system.img  

इसके बजाय, हालांकि, ऐसा लगता है कि आपने अपनी 2 जीबी छवि को एक आकार में बदलने की कोशिश की है (1) यह संभव नहीं हो सकता है कि इसे भर दिया जाए और (2) वह आकार नहीं है जो आपके डिवाइस का सिस्टम विभाजन माना जाता है।

  • बिंदु # 1 के बारे में, मेरे अनुभव में, मैं शिकायत करने के लिए भंगुर एंड्रॉइड बिल्ड टूल पर भरोसा नहीं करूंगा यदि आप उन्हें ऐसा कुछ करने के लिए कहेंगे जो वे विफल हो जाएंगे, और यह संभव है कि वे यहां हो सकते हैं।

  • बिंदु # 2 के बारे में, मेरा मानना ​​है कि आप ऐसा नहीं कर सकते; अतिरिक्त सिस्टम विभाजन आकार का उपयोग करने के लिए अतिरिक्त चरणों की आवश्यकता होगी।

अपने टेबलेट की उम्मीद विरल छवि फ़ाइलों को मानते हुए, मेरा मानना है कि आदेश आप के बजाय कोशिश करना चाहता था make_ext4fs -l 1536M new_system.img /systemथा make_ext4fs -l 2048M -s new_system.img /system। समायोजित कमांड एक ऐसी छवि बनायेगी जो सही आकार में फुलाती है, लेकिन अस्थायी रूप से किसी भी अतिरिक्त वसा से खाली डेटा के बड़े पॉकेट्स की तरह छीन ली जाती है: एक " विरल " छवि फ़ाइल" (उन पर अधिक जानकारी के लिए पहले जिस पृष्ठ को मैंने लिंक किया था उसे देखें); लिंक को दोहराने के लिए इस साइट पर मेरी पर्याप्त प्रतिष्ठा नहीं है)।

यह पुराना रीडमी किसी ने टूल के संग्रह के लिए लिखा था समझने में मदद करनी चाहिए कि प्रक्रिया कैसे होती है।

चीयर्स।


1
जवाब के लिए धन्यवाद। आपके प्रश्नों के अनुसार, (1) नहीं, max-download-आउटपुट में कुछ भी नहीं था getvar। (२) मैं -Sअपने भविष्य के फ्लैशिंग में विकल्प को ध्यान में रखूंगा - जैसा कि यह है, एक बार जब मैंने बूट किया, तो मैं रूट हो गया (अपने कर्नेल को पुन: स्थापित करने के माध्यम से) और ddपुराने सिस्टम विभाजन पर -ed, ताकि क्या फ्लैश के साथ -S काम करेगा अपने अगले परीक्षणों के लिए इंतजार करना होगा (3) मैंने विरल चित्रों के साथ प्रयास किया, एक ही परिणाम मिला (यानी fastbootरिपोर्ट किया कि चमकती ठीक थी, लेकिन सिस्टम विभाजन गड़बड़ हो गया था)।
ttsiodras

1
@ttsiodras कोई समस्या नहीं है। मैंने इस प्रक्रिया में कुछ चीजें सीखीं। (१) आह, ठीक है। मुझे संदेह है कि यह कम से कम, जैसा कि मैंने अपने डिवाइस पर फास्टबूट के निर्माण का उपयोग करके स्थापित किया है, उस चर को पहले सूची में मुद्रित किया जाता है (धन्यवाद, btw, प्रदर्शन allकरने के लिए जो getvar- कि मददगार हो सकता है)। (२) ओह, ठीक है। अगर यह काम करता है, तो हमें बताएं। (३) वाह! मैंने उस पर ध्यान नहीं दिया। यह बहुत सारा पाठ है, क्षमा करें। क्या आपके पोस्ट में इसका उल्लेख किया गया था? (क्या यह मेक_टेक्ट 4 एफ़्स कमांड जैसा मैंने सुझाव दिया था, -sऔर पूर्ण 2 GiB लंबाई निर्दिष्ट किया गया था?) शायद टैबलेट विरल फाइलों से नहीं निपटता।
नाकी

1
(3) हाँ, मैं -sमेक_टेक्फ़्स के पास गया - फास्टबूट ने जलने के लिए 'ओके' की सूचना दी, लेकिन / सिस्टम गड़बड़ हो गया। मेरा सिद्धांत यह है कि, जैसा कि आपने कहा, टैबलेट (1 जीबी) की मेमोरी से बड़ा कुछ भी काम नहीं करेगा, और -Sठीक से काम करने के लिए फास्टबूट में विकल्प की आवश्यकता है (जो आधे टूटे हुए राज्य की व्याख्या करता है - पहला भाग क्योंकि माउंट किया गया था छवि को स्मृति में फिट किया गया था और वास्तव में जला दिया गया था, जिससे इसे माउंट किया जा सकता था - लेकिन इसके अंदर की फाइलें ... बेतरतीब ढंग से दूषित थीं, इस पर निर्भर करता है कि उनके क्षेत्रों को जलाया गया था या नहीं)।
ttsiodras 15

2

मेरे Moto GI के साथ dd का उपयोग करके एक बैक अप बनाया, जैसे आपने किया। मुझे दूसरे दिन अपने सिस्टम विभाजन को पुनर्स्थापित करने की आवश्यकता थी, इसलिए मैंने TWRP को बूट किया (मैंने इसे फ्लैश नहीं किया, मैंने बस छवि को RAM में बूट किया)। जब TWRP चल रहा था, तब मैंने कनेक्ट करने के लिए adb का उपयोग किया था और मैंने dd के साथ अपने द्वारा बनाए गए img को अपने SD कार्ड में धकेला था और फिर dd का उपयोग सिस्टम विभाजन में चित्र लिखने के लिए किया था।

मेरे द्वारा इस बारे में बनाए गए वीडियो देखें: https://youtu.be/BHCamV-sHx0?list=PLcUid3OP_4OVI1Rtuwxk1RjABh1PxXXQq


दुर्भाग्य से यह मेरी मदद नहीं करता है - मैं अपने टैबलेट की रिकवरी के लिए कोई भी बात नहीं कर सकता, चाहे मैंने कितनी भी कोशिश की हो (इसके विपरीत, मुझे यह तुरंत मेरे MotoG2 पर मिला - इसलिए इस टैबलेट की रिकवरी किसी भी तरह हो गई है)। मैं पुनर्प्राप्ति विभाजन को फ्लैश कर सकता हूं (चूंकि फ्लैशबूट चालू है) लेकिन मेरे पास असूस recovery.imgसे नहीं है, और कोई सीडब्ल्यूएम या TWRP मौजूद नहीं है (ME103K के लिए)।
ttsiodras 16
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.