Tuesday, September 11, 2012

MTK6573 သံုးဟန္းစက္ ROM ေတြကို Backup လုပ္နည္း

တစ္ရက္ကို post တစ္ခုဘဲ တင္ႏုိင္တာ အားနာမိပါတယ္။ ဒါေပမဲ့ ဒီထက္ပိုတင္ဖို႔အတြက္ ညပိုင္းေတြမွာ စာေတြဖတ္ ေန႔ပိုင္းေတြမွာ လက္ေတြ႕စမ္းသပ္ၿပီး တင္ႏိုင္ဖို႔ႀကိဳးစားေသာ္လည္း တစ္ရက္ကို တစ္ခုထက္ပို တတ္မလာႏိုင္ေသးပါဘူး.. အဲဒီ့အတြက္ ၀င္ေရာက္ဖတ္ရႈ႕ေလ့လာၾကေသာ မိတ္ေဆြအေပါင္းအား ေတာင္းပန္အပ္ပါတယ္။

မေန႔ညက စမ္းသပ္လို႔ ဒီေန႔မနက္မွာ ေအာင္ျမင္ခဲ့တဲ့ post တစ္ခုကို တင္ျပသြားပါ့မယ္..။ အသံုးလည္းတဲ့ပါတယ္။ အဲဒီ့ကေနဆက္စပ္ၿပီး
ကိုယ့္ဖာသာကို ေလ့လာတီထြင္သြားမယ္ဆိုရင္ အမ်ားႀကီးျဖစ္လာႏိုင္ပါတယ္။

အခုတင္ျပမွာကေတာ့ ျမန္မာႏိုင္ငံကို အခုလတ္တေလာ ၀င္ေရာက္လာေနတဲ့ android သံုး clone ဟန္းဆက္ေတြကို ဘယ္လို backup လုပ္မလဲဆိုတာပါဘဲ။ အဲဒီ့ ဟန္းဆက္ေတြဟာ MTK chip ေတြကိုအသံုးျပဳထားပါတယ္။ ဘာေၾကာင့္ MTK ကိုသံုးရသလဲဆိုရင္ ေစ်းသက္သာလို႔ပါ။ MTK Chip ေတြ single core ေတြဘဲ ထုတ္လုပ္ပါတယ္။ frequency ကေတာ့ ARM6, 7 တို႔နဲ႕ ညီမွ်ပါတယ္။ RAM လည္း ေတာ္သင့္ရံုပါတယ္။ ဒီေတာ့ သံုးရတာမွာအေတာ္ေလးသြက္လက္ေကာင္းမြန္တာေတြ႔ရတယ္။ ဒါေပမဲ့ MTK chip ေတြရဲ႕ အားနည္းခ်က္က virtual memory ကို အလြန္အမင္း မွီခိုလြန္းတာေၾကာင့္ ROM မ်ား မၾကာခဏ ပ်က္တတ္ပါတယ္။ ဒီေတာ့ MTK သံုး ဟန္းဆက္ေတြ Tablet ေတြကို memory အသံုးမ်ားတဲ့ Game ေတြ မေဆာ့သင့္ပါဘူး။ အဲဒါကို user ေတြက မသိေတာ့ တင္လို႔ရသမွ်၊ ဒီအတိုင္းတင္လို႔မရလည္း Memory patcher ေတြနဲ႕တင္ၿပီး ေဆာ့ၾကတယ္။ ဒီေတာ့ ခဏ ခဏ ROM ေတြ ပ်က္တယ္ ေၾကာင္တယ္။ ျဖစ္ကုန္ေရာေပါ့။ ျပည္တြင္းကို ၀င္ေရာက္လာတဲ့ MTK သံုး စက္ေတြအေတာ္မ်ားမ်ားကေတာ့ Root လုပ္ၿပီးသားေတြ၀င္ေရာက္လာတာေတြ႕ရတယ္။ အဲဒီ့ MTK နဲ႕ထုတ္တဲ့ စက္ေတြရဲ႕ Official ROM ေတြရဖို႔ အေတာ္ေလးရွာရပါတယ္။ တစ္ခ်ဳိ႕စက္ေတြဆို လံုး၀ရွာမရတာေတြလဲရွိတယ္။ ဒီေတာ့ အဲဒီ့ ROM ေတြကို backup လုပ္ၿပီး ယူထားမွ ေကာင္းေတာ့မွာေပါ့။ အဲဒီ့ backup လုပ္နည္းတစ္ခုကို မေန႔ညက စမ္းၾကည့္ၿပီး ဒီေန႔မနက္မွာ ေအာင္ျမင္စြာရယူႏုိင္ခဲ့ၿပီမုိ႔ ဒီ post ကိုတင္လိုက္ပါတယ္။

MTK ေတြဟာ chip model အေပၚမူတည္ၿပီး ROM တည္ေဆာက္ပံုကြာပါတယ္။ အခုတင္ျပမွာကေတာ့ MTK6573 ေတြအတြက္ပါ။ မ်ားေသာအားျဖင့္ iPhone 4s clone ေတြျဖစ္ပါတယ္။ backup လုပ္ဖို႔အတြက္ က်ေနာ္ script ကုဒ္ေတြ စမ္းရပါတယ္။ စမ္းရင္းနဲ႕ ROM လံုး၀ေပ်ာက္သြားတဲ့ စက္ သံုးလံုးေလာက္ႀကံဳၿပီး ေလးလံုးေျမာက္မွာမွ ေအာင္ျမင္ခဲ့ပါတယ္။ ေအာင္ျမင္သြားေတာ့ ROM ေပ်ာက္သြားတဲ့ စက္ေတြကို အဲဒီ့ backup ျပန္ထည့္ေပးလိုက္တာ ျပန္သံုးလို႔ရသြားပါတယ္။ :D

ကဲ ေလေၾကာလည္း ေတာ္ေတာ္ရွည္ေနၿပီ.. စလိုက္ၾကစို႔

"လိုအပ္ခ်က္မ်ား"
(1) MTK6573 သံုးဟန္းစက္တစ္လံုး
(2) အဲဒီ့ဟန္းဆက္ဟာ root လုပ္ၿပီးသားျဖစ္ရပါ့မယ္
(3) backup လုပ္မဲ့ ကြန္ပ်ဴတာမွာ ADK သြင္းထားၿပီးသားျဖစ္ရပါ့မယ္ ဒါမွမဟုတ္ ဟန္းဆက္မွာ Terminal apk ကို ထည့္သြင္းထားရပါ့မယ္။
backup ယူမယ့္ handset မွာ busybox ရွိရပါမယ္။ Busybox ဆိုတာကေတာ့ linux command တစ္ခုပါ.. မ်ားေသာအားျဖင့္ေတာ့ root လုပ္လိုက္တာတဲ့ busybox ကိုပါ တစ္ခါထည္း ထည့္သြင္းလိုက္တာမ်ားပါတယ္။ မရွိရင္ေတာ့ busybox install apk နဲ႕ ထည့္သြင္းရပါမယ္။ busybox ရွိမရွိဘယ္လိုသိႏိုင္မလဲဆိုရင္ ေအာက္မွာ က်ေနာ္ေရးမဲ့ busybox ရဲ႕ script command ေတြအလုပ္လုပ္လား မလုပ္ဘူးလားအေပၚမွာ မူတည္ပါတယ္..။ အလုပ္မလုပ္ရင္ေတာ့ ရွိ၀ူးေပါ့ေနာ့။ :D

ေနာက္ထပ္လိုတဲ့ command tools ကေတာ့ mkyaffs2image ပါဘဲ။ အဲဒါကို system/bin ထဲကို push လုပ္ေပးရပါ့မယ္။ push command ကိုေတာ့ ေရွ႕က post ေတြမွာ ေရးခဲ့ၿပီးသားမုိ႔ ထပ္မေရးေတာ့ပါဘူး

(၁) ဟန္းဆက္ကို USB Debug Mode ကို On ထားပါ။
(၂) ကြန္ပ်ဴတာမွာ cmd ကိုဖြင့္ၿပီး ေအာက္ပါေတြကိုရိုက္ပါ။
-> adb kill-server
-> adb start-server
-> adb wait-for-devices
ၿပီးရင္ ဟန္းဆက္ကို ကြန္ပ်ဴတာနဲ႕ခ်ိတ္ပါ။
ခ်ိတ္ၿပီးရင္ ဒီ command ေတြဆက္ရိုက္ပါ။
->adb shell
->adb su
အခုဆိုရင္ ဟန္းဆက္ထဲက kernel ရဲ႕ super user ကို အသံုးျပဳေနပါၿပီ။ အဲဒီ့ေနရာမွာ permission မရခဲ့တာမ်ဳိးျဖစ္ခဲ့ရင္ေတာ့ Root ျပန္လုပ္ဖို႔လိုအပ္ပါတယ္။

backup ယူဖို႔အတြက္ ေနရာသတ္မွတ္ပါမယ္
->mkdir /sdcard/ROMbackup

dd script command နဲ႕ image ေတြကို ရွာၿပီး ယူပါမယ္။
dd if=/proc/mtd of=/sdcard/backup_/firmware.info
dd if=/dev/mtd/mtd0 of=/sdcard/backup_/preloader.img
dd if=/dev/mtd/mtd1 of=/sdcard/backup_/dsp_bl.img
dd if=/dev/mtd/mtd2 of=/sdcard/backup_/nvram.img
dd if=/dev/mtd/mtd3 of=/sdcard/backup_/seccnfg.img
dd if=/dev/mtd/mtd4 of=/sdcard/backup_/uboot.img
dd if=/dev/mtd/mtd5 of=/sdcard/backup_/boot.img
dd if=/dev/mtd/mtd6 of=/sdcard/backup_/recovery.img
dd if=/dev/mtd/mtd7 of=/sdcard/backup_/secstatic.img
dd if=/dev/mtd/mtd8 of=/sdcard/backup_/misc.img
dd if=/dev/mtd/mtd9 of=/sdcard/backup_/logo.img
dd if=/dev/mtd/mtd10 of=/sdcard/backup_/expdb.img

အေပၚက Script ထဲမွာ သိသင့္တာက အခုက်ေနာ္တို႔ ယူလိုက္တာေတြဟာ img ဖိုင္ေတႊြအေနနဲ႕ဖြဲ႕စည္းယူလိုက္တယ္ဆိုတာဘဲ။ ေျပာရရင္ partition ေတြကိုယူလုိက္တာပါ။ ၿပီးရင္ System ကိုယူဖို႔အတြက္ အဲဒ့ီ partition ကို permission ေျပာင္းပါ့မယ္။
mount -o remount,rw -t yaffs2 /dev/block/mtdblock11 /system

အခု command ရဲ႕ ပထမဆံုး ေတြ႕ရတဲ့ mount -o remount ဆိုတာက System partition ကို Detect လုပ္လိုက္ၿပီး ျပန္လည္ဖြဲ႔စည္းလိုက္ပါတယ္။ ubuntu သံုးတဲ့သူေတြအတြက္ေတာ့ ဒီ mount တို႔ remount တို႔က စိမ္းမယ္မထင္ပါဘူး။ windows မွာဆိုရင္ေတာ့ Thumbs Drive တစ္ခုကို ကြန္ပ်ဳတာမွာတပ္လိုက္တဲ့အခါ Detect ျဖစ္သြားၿပီးေနာက္ Drive letter တစ္ခုနဲ႕ Drive အျဖစ္ေျပာင္းသြားတဲ့သေဘာပါဘဲ။

ၿပီးရင္ mkyaffs2image ကို mod ေျပာင္းရပါ့မယ္။
chmod 4777 /system/bin/mkyaffs2image
chmod ေနာက္မွာပါတဲ့ 4777 ဆိုတဲ့အဓိပၸါယ္ကေတာ့ 4 ဆိုတာ owen read ဆိုတာဘဲ ေနာက္မွာပါတဲ့ 7 ဆိုတာကေတာ့ user group တစ္ခုလံုးကို အဲဒီ့ဖုိင္ကို ႀကိဳက္သလိုလုပ္ဆိုၿပီး ပါမစ္ေပးလို္က္တာ။ ေနာက္ထပ္က်န္တဲ့ 7 တစ္ခုကလည္း အဲလိုမ်ဳိးဘဲ.. ဒီေတာ့ 777 သံုးလံုးရဲ႕အဓိပၸါယ္က super user ေရာ normal user ေရာ gust ေရာ အကုန္လံုးအတြက္ permission ေပးလိုက္တဲ့သေဘာပါဘဲ။ အဲဒီလို႔ ပါမင္ေပးလိုက္ၿပီးရင္ အဲဒီ့ဖိုင္နဲ႕ System, cache နဲ႔ data ေတြကို img အျဖစ္ေျပာင္းလဲၿပီး backup ယူလိုက္ပါေတာ့တယ္။ ေအာက္က command ေတြမွာပါ။

/system/bin/mkyaffs2image /system /sdcard/backup_/system.img
/system/bin/mkyaffs2image /cache /sdcard/backup_/cache.img
/system/bin/mkyaffs2image /data /sdcard/backup_/data.img

လိုအပ္တဲ့ဖိုင္ေလးေတြကို ေအာက္မွာေဒါင္းလုိက္ပါ....





su ရဲ႕ ေဒါင္းရမဲ့ လင့္ပါ...http://www.mediafire.com/?6n6apdwi5ewvb6s 





mkyffs2image အတြက္ http://www.mediafire.com/?k0kitb1rfkdjc5d 





busybox ->http://www.mediafire.com/?07pak5fzg5lqxxo

စမ္းသပ္လုပ္ၾကည့္ၿပီးလို႔ အဆင္မေျပတာရွိရင္ command မွာ အေသးစိတ္ေရးၿပီး ေမးျမန္းေဆြးေႏြးႏုိင္ပါတယ္....။ ဒါမွမဟုတ္ msg ပို႔ၿပီးလဲ ေဆြးေႏြးႏုိင္ပါတယ္ခင္ဗ်ာ။

အခုလို ၀င္ေရာက္ဖတ္ရႈ႕ေလ့လာတဲ့အတြက္ ေက်းဇူးပါ
MARG




Credit to https://www.facebook.com/MyanmarAndroidResearchGroup

No comments:

Post a Comment