একটি সিস্টেম.আইএমজি ফ্ল্যাশ করার চেষ্টা করছি আমি dd নিয়েছিলাম - ব্যর্থ


16

এখানে দীর্ঘ সময়ের ইউনিক্স লোক, তবে অ্যান্ড্রয়েডের বিশ্বে তুলনামূলকভাবে নতুন। পড়তে.

এপিসোড 1: একটি নতুন ব্যাকআপ (আশা করি)

আমি সম্প্রতি একটি আসুস মেমোপ্যাড (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) কিছুটা সন্দেহজনক ছিল - এসডি কার্ডে FAT32 বিভাজনের কারণে এটি হতে পারে?

না, এটি tune2fs -lপ্রকাশিত হয়নি - প্রকাশিত হয়েছে যে এটি প্রকৃতপক্ষে 2GiB এর মাপের একটি বৈধ EXT4 চিত্র ছিল, যা 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

সেই আকারটি আসলে 2 জিবি:

linuxbox# python2 -c 'print 0x0000000080000000'
2147483648

সুতরাং, সমস্ত ভাল - আমার কাছে চিত্রটির ব্যাকআপ রয়েছে। এখন এটি পুনরুদ্ধার পরীক্ষা।

আমি সিস্টেমে ফ্ল্যাশ করার চেষ্টা করি im ট্যাবলেটে ফিরে যান - আমি যে কোনও কিছু থেকে সেরে উঠতে পারি তা নিশ্চিত করতে, ইউনিক্স জগতে আমরা যে ধরণের বুলেট-প্রুফ ব্যাকআপ করি ( উদাহরণস্বরূপ কোনও ড্রাইভের সামগ্রী পুনরুদ্ধার করা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
...

নেতিবাচক আকারের কারণে ব্যর্থতা!

আকর্ষণীয় - যদিও আমি একটি bit৪ বিট মেশিনে আছি, স্পষ্টতই এমন কিছু সমস্যা রয়েছে যা ফাইলের আকারটিকে "নেতিবাচক" করে তোলে (৩২ বিট বিশ্বে, আমার চিত্রের ফাইলের আকার, ২ ^ ৩১, অবশ্যই নেতিবাচক হিসাবে বিবেচিত - যথার্থ হ'ল -2147483648,।

ঠিক আছে, ঠিক আছে - অ্যান্ড্রয়েডে তারা কীভাবে বড় চিত্র ফাইল ফ্ল্যাশ করে?

গুগলিং, অনুসন্ধান - দেখা যাচ্ছে যে তারা এই 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

আমি সেই সিটিআরএল-সি মারার আগে 1 ঘন্টা অপেক্ষা করেছিলাম। এবং ট্যাবলেটটিকে পাওয়ার-চক্র করতে হয়েছিল, যা দ্রুতবুট মোডে ফিরে আসে।

এটি ভাল দেখাচ্ছে না।

আমি যদি একটি ছোট চিত্র তৈরি করি? হতে পারে 2 জিবি কোনওভাবেই একটি সমস্যা, এবং এই পার্টিশনটি পুরো সক্ষমতার জন্য ব্যবহৃত হয় না - এতে ফাঁকা জায়গা রয়েছে:

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 আমি আমার ট্যাবলেটের জন্য আসুস সমর্থন পৃষ্ঠাটি দেখেছি - তারা কেবল কার্নেলের জন্য উত্স এবং ওভার-দ্য এয়ার। জিপ ফাইল সরবরাহ করে। এর পরিবর্তে মূল থেকে ফাইল-সিস্টেমের স্তরের ব্যাকআপ থাকে - যেমন systemফোল্ডারটি সেখানে কেবলমাত্র একটি ফোল্ডার হিসাবে উপস্থিত থাকে, একটি চিত্র নয় system.img, আমি ফ্ল্যাশ করতে পারি না - যাতে এটি আমাকে সত্যিই সহায়তা করে না।

এপিসোড 2: কাস্টম বুটগুলির আক্রমণ

recovery.imgআসুস থেকে যে কোনও ধরণের অনুপস্থিতিতে (কেন কোনও প্রস্তুতকারক ফাস্টবুট-ফ্লেশবল প্রকাশ করতে বিরক্ত করবেন recovery.img? কেন সত্যই ...) এবং সিডব্লিউএম এবং টিডব্লিউআরপি সাইটগুলি থেকে পুনরুদ্ধার চিত্রগুলিতে একইরকম অনুপস্থিতি ... আমি সমস্ত যুদ্ধে রইলাম একা।

ধন্যবাদ, আসুস এর ওভার-দ্য এয়ার আপডেট ফাইলটি এর অভ্যন্তরে অন্তর্ভুক্ত করেছে ...

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( ওভার-দ্য এয়ার আসুস। জিপ ফাইল থেকে ) /sbin/sh। আমি ব্যস্তবক্সেও একই কাজ করেছি - বেশ সহজ সরঞ্জাম।

এবং বুট.আইএমজি পুনঃস্থাপন করেছে ...

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করতে হয়েছিল updated এটির যা প্রয়োজন তা প্রতিবেদন করে, তাই এটি যথেষ্ট সহজ।bootsizeabootimg

এবং এখন, আমি আমার কাস্টম চিত্র বুট করি ...

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

কি ... সম্ভবত আমি / প্রোকম / কেএমএসজি কী আছে তা যাচাই করতে পারি ("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
আপনি এখানে না করেন এমন একমাত্র ভাল জিনিস (এবং এটি করা উচিত ছিল) হ'ল একটি কাস্টম রিকভারি ফ্ল্যাশ করা এবং তারপরে পার্টিশনের একটি ন্যানড্রয়েড ব্যাকআপ নেওয়া । এই রকম ব্রিকড স্টেট থেকে ডিভাইসগুলি পুনরুদ্ধার করার জন্য এটি বুলেটপ্রুফ পদ্ধতির একটি। ওভার -থ-য়ার.জিপ (ওটিএ জিপ) একটি রিকভারি ফ্ল্যাশযোগ্য জিপ যা পুনরুদ্ধারে বুট করার সময় ফ্ল্যাশ হওয়া এবং তারা একটি ভিন্ন প্যাকেজিং ফর্ম্যাট অনুসরণ করে তবে একই লক্ষ্য অর্জন করে। দীর্ঘ গল্প সংক্ষিপ্ত, একটি কাস্টম রিকভারি ফ্ল্যাশ করুন (বা স্টক এক বুট করুন), ফ্ল্যাশ স্টক রম এবং তারপরে আপনি যতটা চান পরীক্ষা করুন।
ফায়ারলর্ড

1
@ ফায়ারলর্ড: এটি হ'ল - যদিও fastbootএটি এখনও চালু রয়েছে (ঠিকঠাক অনুরোধের প্রতিক্রিয়া জানায়) এবং তাই আমি কোনও পুনরুদ্ধার চিত্রটি পোড়াতে পারি, (ক) আমি এমই 103 কে-এর জন্য কোনও সিডাব্লুএম বা টিডাব্লুআরপি পুনরুদ্ধার চিত্রটি খুঁজেছি এবং খুঁজে পাইনি - আমি মনে করি না সেখানে আছে আপনি উল্লেখ করছেন এমন একটি "জেনেরিক" আছে কি? (খ) বিদ্যুৎ বন্ধ, পাওয়ার বোতাম + ভলিউম ডাউন টিপানো পুনরুদ্ধার চিত্রটি নিয়ে আসে না - আমি এখনও কেবল দ্রুতবूट অবস্থায় চলেছি। মো ধারণা কেন। আসলে আমি পুনরুদ্ধার প্রক্রিয়াটি কখনই দেখিনি (এটি দেখতে আগ্রহী কৌতূহল) ...
ttsiodras

1
পুনরুদ্ধার মোডে বুট করার জন্য পাওয়ার + ভোল আপ + ভোল ডাউন এর মতো অন্যান্য বোতামের সংমিশ্রণগুলি চেষ্টা করুন। আপনি যদি স্টক রিকভারি জিপ অ্যাক্সেস করে থাকেন তবে কোথাও স্টক রিকভারিটির ইমেজ ফাইল থাকতে পারে যা আপনি দ্রুত বুট থেকে ফ্ল্যাশ করতে পারেন বা সরাসরি এটিতে বুট করতে পারেন ( fastboot boot <FILE>.img), তারপরে পুরো স্টক জিপ ফাইলটি ফ্ল্যাশ করুন। বিকল্পভাবে, দেখুন স্টক রম ফাইলগুলি উপস্থিত রয়েছে কিনা (ওয়েবে) দেখুন যা ফাস্টবুট ব্যবহার করে ফ্ল্যাশ করা যায়।
ফায়ারলর্ড

1
@ ফায়ারলর্ড: না, আসুস একটি রিকভারি.জিপ সরবরাহ করে না। ওটিএ ফাইল থেকে, .img-y কিছুই নেই ( unzip -l UL-K01E-WW-12.16.1.12-user.zip | grep recoveryকেবল কয়েকটি শেল স্ক্রিপ্ট দেখায় - আমার একটি চেহারা হবে, তবে সেখানে অবশ্যই নেই recovery.img)। গুগলিং কোনওভাবেই সহায়তা করেনি - এই ট্যাবলেটটির কোথাও কোনও পুনরুদ্ধার চিত্র নেই ... অনুমান করি ddতাদের পুনরুদ্ধারের পার্টিশন এবং ভাগ করে নেওয়ার জন্য আমাকে কোনও দয়াবান আত্মার জন্য অপেক্ষা করতে হবে ?
ttsiodras

উত্তর:


7

পর্ব 3: শেলের রিটার্ন।

আমার যদি কখনও এটি সমাধান করার কোনও সুযোগ থাকে তবে প্রথমে শেলটি কেন কাজ করছে না তা বুঝতে হবে। adbdনিজেই সাড়া দিচ্ছিল, তাই এটি ট্যাবলেট পাশ দিয়ে শুরু করা হয়েছিল - তবে এটি শেলটি কার্যকর করতে পারে না, এমনকি যখন /sbin/shআমি নিজে নিজে বুট ইমেজটিতে রেখেছি এমন কোনও ফাইল ( ) আটকানোর জন্য এটি হ্যাক-প্যাচ করেছিলাম - তবে এটি 100% নিশ্চিত যে এটি ছিল সঠিক অনুমতি এবং ব্যবহার করা shell(আইডি = 2000) অ্যাকাউন্ট থেকে অ্যাক্সেসযোগ্য ছিল adbd

যা কেবল একটি ব্যাখ্যা রেখে গেছে - সেলইনাক্স "খাঁচা"।

সুতরাং আমি 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সেগুলি সম্ভবত আসুস কার্নেল দ্বারা উপেক্ষা করা হয়েছে - আমাকে শীঘ্রই এটি পুনরায় সংকলন করতে হবে ... ) যাতে আমি বাহ্যিক এসডিকার্ড এবং 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
আমি চতুর্থ পর্বের শপথ করছি, এই সমস্ত পর্ব থেকে মজা করার জন্য এই উত্তরটি পোস্ট না করা হলে আমি একটি অনুদানের প্রস্তাব দেব। আপনি নিজের সমস্যার সমাধান নিজেই দেখে ভাল লাগছে। : ডি
ফায়ারল্যান্ড

2
@ ফায়ারলর্ড: ধন্যবাদ, সাথী। প্রক্রিয়াটিতে, আমি মনে করি আমি বরং দুর্দান্ত কিছু করেছি - আমি আমার ট্যাবলেটটি অভ্যন্তরীণ স্পর্শ না করেই বুট করেছি ... বুট চিত্রটি বাইরের (ওভার fastboot boot ...) থেকে আসে এবং /systemপার্টিশনটি এসডি কার্ডে রয়েছে, আমি যা চাই তা করতে সক্ষম। মতো 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কর্নেলটি পুনরায় সংশোধন করার মাধ্যমে) এবং পুরাতন সিস্টেম পার্টিশনের উপর দিয়ে গেছি , সুতরাং -এস দিয়ে ফ্ল্যাশ করা কাজ করবে কিনা আমার পরবর্তী পরীক্ষাগুলির জন্য অপেক্ষা করতে হবে (3) আমি বিরল চিত্র দিয়ে চেষ্টা করেছি, একই ফলাফল পেয়েছি (যেমন fastbootরিপোর্ট করেছেন যে ফ্ল্যাশিং ঠিক আছে, তবে সিস্টেম পার্টিশনটি গোলযোগ হয়েছে)।
ttsiodras

1
@ttsiodras কোনও সমস্যা নেই। আমি প্রক্রিয়া কিছু জিনিস শিখেছি। (1) আহ, ঠিক আছে। আমি সন্দেহ করেছিলাম যে এটি আমার ইনস্টল করা ফাস্টবুট তৈরির ব্যবহার করে আমার ডিভাইসে যেমন হয়েছিল, সেই তালিকাটি প্রথমে তালিকায় মুদ্রিত হয় (ধন্যবাদ, allবিটিডাব্লু, যেটি getvar এ পাস হতে পারে - এটি সহায়ক)। (২) ওহ, ঠিক আছে। যদি এটি কাজ করে তবে আমাদের জানান। (3) উফ! আমি তা খেয়াল করিনি। এটি অনেক পাঠ্য, দুঃখিত। এটি কি আপনার পোস্টগুলিতে উল্লেখ করা হয়েছিল? (এটি কি আমার প্রস্তাবিত Make_ext4fs কমান্ডের মতো -sএবং সম্পূর্ণ 2 GiB দৈর্ঘ্য নির্দিষ্ট করা আছে?) সম্ভবত ট্যাবলেটটি স্পার্স ফাইলগুলির সাথে কাজ করে না
নাকি

1
(3) হ্যাঁ, আমি -sMake_ext4fs এ পাস করেছি - ফাস্টবুট বার্নের জন্য 'ঠিক আছে' বলে প্রতিবেদন করেছে, তবে / সিস্টেমটি বিশৃঙ্খলাবদ্ধ হয়েছিল। আমার তত্ত্বটি হ'ল, যেমনটি আপনি বলেছেন, ট্যাবলেটের মেমরির চেয়ে বড় কিছু (1 গিগাবাইট) কাজ করবে না এবং -Sসঠিকভাবে কাজ করার জন্য ফাস্টবूटে বিকল্পের প্রয়োজন ছিল (যা অর্ধ-ভাঙা অবস্থা ব্যাখ্যা করে - পার্টিশনটি মাউন্ট করা হয়েছিল কারণ প্রথম অংশটি ছিল চিত্রটি মেমরির সাথে মাপসই এবং আসলে এটি পোড়াতে দেওয়া হয়েছিল, তবে এর ভিতরে থাকা ফাইলগুলি ... এলোমেলোভাবে দূষিত হয়েছিল, তার ক্ষেত্রগুলি পোড়া হয়েছে কিনা তার উপর নির্ভর করে)।
ttsiodras

2

আমার মোটো জিআই দিয়ে আপনার মতো ডিডি ব্যবহার করে একটি ব্যাক আপ তৈরি করেছে। আমার অন্যদিন আমার সিস্টেম পার্টিশনটি পুনরুদ্ধার করা দরকার, তাই আমি টিডব্লিউআরপি বুট করেছি (আমি এটি ফ্ল্যাশ করি নি, আমি কেবল চিত্রটি র‍্যামে বুট করেছি)। আমি তখন টিডব্লিউআরপি চলাকালীন সংযোগ স্থাপনের জন্য অ্যাডবি ব্যবহার করেছি এবং আমি সবেমাত্র ডিডি দিয়ে তৈরি করা আইএমজিটি আমার এসডি কার্ডে ঠেলা দিয়েছি এবং তারপরে সিস্টেম বিভাজনে চিত্রটি লিখতে ডিডি ব্যবহার করেছি।

আমি এটি সম্পর্কে তৈরি করা ভিডিওগুলি এখানে দেখুন: https://youtu.be/BHCamV-sHx0?list=PLcUid3OP_4OVI1Rtuwxk1RjABh1PxXXQq


দুর্ভাগ্যক্রমে এটি আমাকে সহায়তা করে না - আমি কীগুলির কী সংমিশ্রণ চেষ্টা করেছি তা বিবেচনা করেই আমার ট্যাবলেটটি পুনরুদ্ধার করতে পারছি না (বিপরীতে, আমি তা সঙ্গে সঙ্গে আমার মটোজি 2 এ পেয়েছি - সুতরাং এই ট্যাবলেটটির পুনরুদ্ধারটি কোনওভাবেই হোজে গেছে)। আমি পুনরুদ্ধার পার্টিশনটি ফ্ল্যাশ করতে পারি (যেহেতু ফ্ল্যাশবুটটি কার্যকর) তবে recovery.imgআসুসের কাছ থেকে আমার কোনও নেই , এবং কোনও সিডাব্লুএম বা টিডব্লিউআরপি (এমই 103 কে জন্য) নেই।
ttsiodras
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.