မဂၤလာပါ ကြ်န္ေတာ္ သည္ေန႕ မွ်ေ၀ခံစားေပးသြားမဲ႕ အေၾကာင္းအရာေလးကေတာ့ Android နဲ႕ပါတ္သက္လို႕ တကယ္ သိထားသင့္တဲ႕ အေၾကာင္းရာအခ်က္လက္ေလးေတြဘဲ ျဖစ္ပါတယ္.. ဒါေလးေတြကိုေတာ့ ကြ်န္ေတာ္ ႏွစ္သက္သေဘာက်လာတဲ႕ Note ေလးနဲ႕သိမ္းဆည္းေလ့လာထားတာပါ. မူရင္းေရးသားရွင္းျပထားသူကိုေတာ့ မမွတ္မိေတာ့ပါဘူး...အဲလိုေရးသား မွ်ေ၀ခဲ့တဲ႕ဆရာမ်ားကိုလည္း ေက်းဇူးအထူးတင္ပါတယ္.. အမ်ားသူငါ သိေစရန္ခုလိုျပန္လည္ ေ၀မွ်ခံစားလိုက္ျခင္းျဖစ္ပါတယ္... ေအာက္မွာ သိသင့္သိထိုက္ေသာ အခ်က္လက္ေလးေတြကို ေဖၚျပလိုက္ပါတယ္ေနာ္.....
Android ကိုစတင္ေလ့လာဖို႔က်ိဳးစားေနသူေတြအေနနဲ႔ အမ်ားေျပာေနၾကတဲ့
Bootloader , Firmware, ADB , Stock ROMs, Custom ROMs, OS Kernel,
ClockworkMod, Flashing , Rooting , Baseband စသျဖင့္ စာလံုး အထူး
အဆန္းေတြျခည္းေတြ႔ရလို႔ ေလ့လာခ်င္စိတ္ကုန္ သြားတတ္သလို႔၊ တစ္လံုး စီနဲ႔
သူတို႔ရဲ့ သီးသန္႔ အလုပ္လုပ္ပံုကို အတိအက် မသိရင္ နာမည္သာေခၚေနေပမယ့္
အႏွစ္သာရ မဲ့ေနတတ္ပါတယ္၊ တကယ္ေလ့လာလိုသူေတြအေနနဲ႔ လဲ တစ္ခုစီရဲ့
အဓီပါယ္နဲ႔ အသံုး၀င္ပံု အေသးစိတ္အလုပ္လုပ္ပံုတို႔ကို ေသခ်ာ သိကိုသိထား
ရပါမယ္၊ ဒီပို႔စ္မွာ အထက္က စာလံုးေတြအေၾကာင္း ရွင္းသြားေပးပါမယ္၊
တကယ္ပညာရွင္အဆင့္ တက္လွမ္းခ်င္သူေတြအတြက္ Open Source ျဖစ္တဲ့ Android က
မည္သူမဆို ေဒါင္းယူႏိုင္ပီး ႀကိဳက္သလို ျဖတ္ႏိုင္ ျပင္ႏိုင္ ပါတယ္၊
စိတ္ႀကိဳက္ေျပာင္းႏိုင္ မိမိနဲ႔ အသင့္ေတာ္ဆံုး ျဖစ္တဲ့ System
တစ္ခုျဖစ္သြားတဲ့ အထိ ျပဳျပင္ယူလို႔ရပါတယ္၊
Bootloader ဆိုတာဘာလဲ
Bootloader ဆိုတာက Operation System မစတင္ခင္ အလုပ္လုပ္တဲ့ Code
အစိတ္အပိုင္းေလးကိုေခၚပါတယ္၊ Bootloader ထဲမွာ OS kernal ကို
စတင္အလုပ္လုပ္ေအာင္ ေခၚမယ္ ညြန္ၾကားခ်က္ေတြပါပါတယ္၊ Bootloader က Internal
Memory ထဲမွာရွိတဲ့ Paratition ေတြအားလံုးက ရဲ့ ပထမဆံုး Partition မွာ
တည္ရွိမွာျဖစ္ပီး အျခား Partitions ေတြအားလံုးကို သြားမယ့္ Check Point
ပါပဲ၊
Bootloader ဘယ္လိုအလုပ္လုပ္တာလဲ
Power စဖြင့္တာနဲ႔ ROM ထဲမွာရွိတဲ့ Boot ROM Code က စပီးအလုပ္လုပ္ပါတယ္၊
ပီးရင္ Bootloader လို႔ေခၚတဲ့ Boot Strap Firmware ကို ႏိုးမယ္၊ Boot
Strap Firmware ထဲမွာ MBR and GRUB/LILO တို႔ပါ၀င္တယ္၊ Bootloader
အလုပ္စပီဆိုတာနဲ႔ init.S ဖိုင္ စအလုပ္လုပ္တယ္ ၊ အရင္ ဆံုး BSS segment ကို
0 တန္ဖိုးေရာက္သြားေအာင္ရွင္းတယ္၊ ပီးရင္ main.c ဖိုင္ကို စေခၚမယ္၊ main.c
ဖိုင္ စ အလုပ္လုပ္တာနဲ႔ hardware အစိတ္အပိုင္းေတြျဖစ္တဲ့ clocks, board,
keypad, console တို႔ကိုစတင္ေစမယ္၊ ပီးရင္ Linux Tags ကိုဖန္တီးပီး Linux
Kernel image ကို Memory ကေန ၀င္တင္မယ္၊
Botloader ေရြးခ်ယ္မွဴ
Bootloader က Phone မွာပါ၀င္တဲ့ အျခား မည္သည့္ software မဆိုရဲ့ အဦးဆံုး
စတင္တဲ့ အတြက္ မွန္ကန္တဲ့ processor ကိုအသံုးျပဳဖို႔
အလြန္အေရးႀကီးလွပါတယ္၊ Android OS က Open Source ျဖစ္တဲ့ အတြက္
ဖုန္းထုတ္လုပ္တဲ့ ကုမၼဏီေတြက သူတို႔ ထုတ္လုပ္တဲ့ ဖုန္း Hardware နဲ႔
ကိုက္ညီတဲ့ Bootloader version ကို Develop လုပ္ထားၾကပါတယ္၊ Android
ဖုန္းေတြမွာပါ၀င္တဲ့ Bootloader ေတြကို အျမဲတမ္း Locked ခ်ထားပါတယ္၊
ဒီလိုလုပ္ထားတာကေတာ့ ထုတ္လုပ္တဲ့ ကုမၼဏီေတြကို သူတို႔ထုတ္လုပ္တဲ့ဖုန္းကို
သူတို႔ထုတ္လုပ္တဲ့ OS version နဲ႔ ပဲတြဲသံုးေစခ်င္လို႔ပါ၊ Bootloader ကို
Locked လုပ္ထားရင္ Custom ROM install လုပ္လို႔မရပါဘူး၊ ဒါေၾကာင့္ Custom
ROM Install လုပ္လိုရင္ Bootloader ကို အရင္ Unlock လုပ္ရပါတယ္၊
Kernel ဆိုတာဘာလဲ
Kernel ဆိုတာက Android တစ္ခုထဲမွာသာလွ်င္ရွိတာ မဟုတ္ပဲ
IOS,MacOS,Window,BlackBerry's QNX တို႔မွာလဲရွိပါတယ္၊ High Level
Operation Systems အားလံုးမွာ Kernel တစ္ခုေတာ့ ပါ၀င္ပါတယ္၊ ခု ေျပာမွာက
Android အေၾကာင္းဆိုေတာ့ Linux Kernel ကိုပဲ ဦးတည္ပီးေျပာသြားပါမယ္၊
Android သံုးသမွ် ပစၥည္းေတြက Linux Kernel ကိုသံုးၾကပါတယ္၊ ဒါေပမယ့္ Linux
Operation System က သံုးတဲ့ Kernel နဲ႔ေတာ့ တထပ္တည္းမတူပါဘူး၊ Android
Kernel မွာ Android အတြက္ သီးသန္႔ Build-in code ေတြပါေနပါတယ္၊
ဒါ့ေၾကာင့္ပဲ Developers ေတြနဲ႔ hackers ေတြအတြက္ Android Versions
အသစ္ေတြကို Android ဖုန္း အေဟာင္းေတြမွာ ထည့္သြင္းပီး အားလံုး အဆင္ေျပေျပ
အလုပ္ျဖစ္ေအာင္လုပ္ဖို႔ အေတာ့ကိုေစာင့္ရပါတယ္၊ Gingerbred kernel အတြက္
သံုးတဲ့ drivers ေတြက Ice Cream Sandwich kernel အတြက္ အလုပ္လုပ္မွာ
မဟုတ္ပါဘူး၊ ဒီကစၥက လဲ အေရးႀကီးပါတယ္၊ Kernel ရဲ့ အဓီက အလုပ္က Hardware
ကို ထိန္းခ်ဳပ္ဖို႔ တာ၀န္ကိုယူထားလို႔ပါ၊ kernel ကိုေရးတဲ့ ကုတ္ေတြလဲ
တကယ့္ကိုမ်ားလွပါတယ္၊ Kernel ရဲ့ အဓီက တာ၀န္ကေတာ့ Hardware နဲ႔ Software
တို႔ၾကားမွာ ႏွစ္ဖက္ညြန္ၾကားခ်က္ေတြကို နာလည္ေအာင္ လုပ္ကိုင္ေပးဖို႔ပါပဲ၊
Software တစ္ခုက ဘယ္လို အလုပ္မ်ိဳးကိုမဆို Hardware ကို လုပ္ေစခ်င္တဲ့
အခါက်ရင္ Hardware ကို တိုက္ရိုက္ အမိန္႔မေပးပဲနဲ႔ Kernel ကို
ညြန္ၾကားခ်က္ အရင္လွမ္းပို႔ပါတယ္၊ ဒီေနရာမွာ အလုပ္ဆိုတာက ဖုန္းက
လုပ္ႏိုင္တဲ့ အလုပ္အားလံုးကိုညြန္းပါတယ္၊ ဖုန္း Screen
အလင္းေရာင္ခ်ိန္တာတို႔၊ အသံ အနိမ္း အျမင့္ ခ်ိန္တာတို႔၊ Raido ကို
ခ်ိတ္ဆက္ပီး ဖုန္းေခၚဆိုတာတို႔၊ ဖုန္း မ်က္ႏွာျပင္မွာ ပုံဆြဲတာတို႔
စသျဖင့္ အလုပ္ မွန္သမွ်ကို Software က လုပ္လိုတဲ့အခါက်ရင္ Hardware
ကိုတိုက္ရိုက္ မခိုင္းပဲ Kernel ကိုလွမ္းခိုင္းလိုက္ပါတယ္၊ အဲ့ဒီ့ အခါမွာ
Kernal က တဆင့္ Hardware ကို လုပ္မယ့္အလုပ္ကိုညြန္ၾကားပါတယ္၊ ဥပမာ
ကၽြန္ေတာ္တို႔ ဖုန္း မ်က္ႏွာျပင္ေပၚမွာ က ကင္မရာ (Camera) ရိုက္တဲ့ခလုပ္
မွာ ခလစ္တစ္ခ်က္ႏွိပ္ပီး ဓါတ္ပံုရိုက္တယ္ဆိုပါစို႔ ၊
ခလုပ္ကိုႏွီပ္လိုက္တာနဲ႔ကို software က Event တစ္ခုကိုနားေထာင္လုိ႔ရမယ္
ရတဲ့ Event ျဖစ္ေပၚတဲ့ေနရာကို driver ကတဆင့္ Kernel ကို ပို႔မယ္၊ kernel
ကလဲ ရလာတဲ့အခ်က္နဲ႔ ပက္သက္တဲ့ command ကို Camera hardware
ကိုလွမ္းပို႔မယ္၊ Camera Hardware က ဓါတ္ပံုကို ရိုက္ေပးမယ္၊ ဒီလို တစ္ခုက
Software က Input လုပ္လိုက္တာကို Kernel က ယူပီး Output တစ္ခုအျဖစ္
Hardware ကိုျပန္ေပးပါတယ္၊
အကယ္၍ Kernel သာမရွိခဲ့ရင္ေတာ့ Developers ေတြက အလုပ္တစ္ခုစီအတြက္
အလြန္႔အလြန္မ်ားျပားလွတဲ့ machine Code ေတြကို ေရးပီး Hardware ကို
ခိုင္းေစရမွာျဖစ္ပါတယ္၊ Kernel က ၾကားခံ ေပးထားတဲ့အတြက္ Application
Developers ေတြအေနနဲ႔ Android System API's ေတြကေန တစ္ဆင့္ Kernel ဆီကို
Resquest ေတြအလြယ္တစ္ကူပို႔ႏိုင္ပီး Kernel နဲ႔ ခ်ိတ္ဆက္ အလုပ္လုပ္ဖို႔သာ
Develop လုပ္ရမွာျဖစ္သလို Hardware Developers ေတြကလဲ သူတို႔ Develop
လုပ္တဲ့ Hardware ကို Kernel နဲ႔ ဆက္သြယ္ အသံုးျပဳႏိုင္ေအာင္သာ Develop
လုပ္ေပးစရာလို႔ပါတယ္၊
CWM ဆိုတာဘာလဲ
CWM ဆိုတာကေတာ့ ClockWorkMod ကိုဆိုလိုပါတယ္၊ CWM ကို Android သံုး ဖုန္း
နဲ႔ Tablet ေတြ Recovery လုပ္ဖို႔သံုးပါတယ္၊ ဒီလို CWM သံုးပီး recover
လုပ္တာကိုပဲ CWM recovery လို႔ေခၚပါတယ္၊ CWM recovery လုပ္ျခင္းအားျဖင့္
Stock Recovery နဲ႔ မလုပ္ႏိုင္တဲ့ Data ျပန္လည္သိုေလွာင္ျခင္း root access
ရယူျခင္း အသံုးျပဳတဲ့ ဖုန္းထဲက data ေတြကို Backup လုပ္ျခင္း Custom ROM
ထည့္သြင္း အသံုးျပဳျခင္း Kernel တပ္ဆင္ျခင္း စသျဖင့္
အလုပ္ေတြအမ်ားၾကီးကိုလုပ္သြားႏိုင္ပါတယ္၊ Android အေျခခံ အဆင့္ ကို
နားမလည္ေသးသူေတြအတြက္ ClockWorkMod ကိုသံုးပီး Recovery လုပ္ရင္ အခက္အခဲ
ေတြ႔ႏိုင္သလို CWM recovery က အစြမ္းကိုလဲ သေဘာေပါက္ဖို႔ခက္ခဲေနပါအံုးမယ္၊
Android Devices ေတြအားလံုး recovery console ကို ဖုန္း အတြင္းပိုင္း
memory ထဲ ထည္ပီး ကုမၼဏီေတြက ထုတ္လုပ္ေရာင္းခ်ပါတယ္၊ recover console ကေန
Boot တက္ႏိုင္ပါတယ္၊ အကယ္၍ မလိုလားအပ္တဲ့ ျပသနာေတြ တက္လာပီးဆိုရင္
ကၽြန္ေတာ္တို႔ Factory Reset သံုးပီး Recover လုပ္ႏိုင္ပါတယ္၊ ဒါမွမဟုတ္
zip ဖိုင္နဲ႔ လာတဲ့ official ROM ကို Update လုပ္ႏို္င္ပါတယ္၊ ဒီလို
အခ်က္ေလာက္သာလွ်င္လုပ္ႏိုင္တာပါ Custom Recovery ကေတာ့ သူမတူတဲ့
အလုပ္မ်ိဳးကိုလုပ္ႏုိင္ပါတယ္၊ Custom Recovery ကေတာ့ Stock Recovery
လိုမဟုတ္ပဲ Stock Recovery လုပ္ႏိုင္သမွ်ကိုလုပ္ႏိုင္တဲ့ အျပင္ ကိုယ္
ပိုင္ Android ကို စိတ္ႀကိဳက္ ထိန္းခ်ဳပ္ ႏိုင္ေအာင္ အဆင့္ျမင့္တဲ့
Options ေတြပါလာပါတယ္၊ Custom Recovery ကို သံုးရင္ တရား၀င္ေကာ တရားမ၀င္
ROMs ေတြကိုပါ Install လုပ္ႏိုင္ပါတယ္၊ အျခား Application Update
လုပ္ျခင္း Themes ေျပာင္းျခင္း Kernel ေျပာင္းလဲျခင္း Zip ဖိုင္
အသံုးျပဳျခင္း User Data အပါအ၀င္ ဖုန္း Partition ေတြအားလံုးကို
ျဖတ္ႏိုင္ျခင္း SD cards Partition ခြဲျခင္း Dalvik Cache
မ်ားျဖတ္ပစ္ျခင္း Permission မ်ားေျပာင္းလဲခင္း resotre န႔ဲ Backup မွာ
စိတ္ႀကိဳက္ အစိတ္အပိုင္းေတြကို ေရြးခ်ယ္ႏိုင္ျခင္း နဲ႔ အျခား အျခား ေသာ
အလုပ္ေတြအမ်ားႀကီးကို စိတ္ႀကိဳက္လုပ္ႏိုင္ပါတယ္၊
ClockWorkMod recovery ကို Koushik Dutta က Develop လုပ္ခဲ့ပါတယ္၊ Android
ROM Manager ကို Develop လုပ္တဲ့သူပါပဲ၊ သူ႔ရဲ့ Hacking away at Android
devices ဆိုတဲ့ Blog နဲ႔ Twitter မွာ သူ႔ကို ရွာေတြ႔ႏိုင္ပါတယ္၊
Firmware နဲ႔ ပက္သက္သမွ်
Firmware ဆိုတာက ROM (read only memory) ထဲကိုထည့္ေရးထားတဲ့ Software
program ကိုဆိုလိုပါတယ္၊ Window computer ေတြမွာသံုးတဲ့ window7 install
လုပ္သ လိုပါပဲ၊ ဖုန္းအတြက္ Firmware Install လုပ္တယ္ဆိုရင္ေတာ့
Froyo,Gingerbread,HoneyCamb,ICS,Jelly Bean,Kitkat တို႔လို Android
Version ေတြကို Phone မွာ Install လုပ္ျခင္းပါပဲ၊ ဖုန္းတိုင္းမွာ မတူညီတဲ့
Firmware နဲ႔ installation Tool ေတြရွိပါတယ္၊ ဒါ့ေၾကာင့္ ႀကိဳက္တဲ့
ဖုန္းမွာ ႀကိဳက္တဲ့ firmware ကို သံုးႏိုင္မွာေတာ့ မဟုတ္ပါဘူး၊
တစ္ခုေတာ့ရွိတယ္၊ ROM ဆိုတာက မူရင္း အဓိပါယ္ Read-Only-Memory
ကိုဆိုလိုပါတယ္၊ ဒီေတာ့ read only ဖတ္လို႔ပဲရမယ္ ေရးလို႔မရဘူးဆိုတဲ့
သေဘာေပါ့၊ ဒါဆိုရင္ ဘယ္လိုလုပ္ပီး ROM ထဲက Firmware ကို Update
လုပ္ႏိုင္မွာလဲလို႔ေတြးစရာပါ၊ သေဘာတရားအရ ေတာ့ ROM ထဲမွာ Firmware
ရွိတယ္ေပါ့ ၊ ေနာက္ပိုင္းမွာေတာ့ Developer ေတြက ROM ရဲ့ အျပင္မွာ
Firmware ကိုထည့္ေရးကုန္ၾကပါတယ္၊ ဖုန္းရဲ့ Firmware ကို ROM လို႔လဲေခၚတယ္၊
အေၾကာင္းကေတာ့ သီအိုသီသေဘာမွာ Firmware က ROM ထဲမွာရွိတယ္၊ ROM ဆိုတာ Read
Only Menory, ေရွ႕က ထုတ္ခဲ့တဲ့ ဖုန္းေတြမွာေတာ့ Firmware က ROM
ထဲမွာရွိတယ္ဆိုတာမွန္ပါတယ္၊ ဒါေပမယ့္ ယေန႔ အသံုးျပဳေနတဲ့ ဖုန္းေတြမွာေတာ့
Firmware ကို ROM မထည့္ေတာ့ပါဘူး၊ Firmware ကို ဖုန္းရဲ့ internal flash
meonry ထဲမွာ ထည့္ထားတယ္၊၊ internal flash meonry က Read Only မဟုတ္ဘူး၊
ဒါ့ေၾကာင့္ firmware အသစ္တစ္ခုကို flash လုပ္လို႔ရတာေပါ့၊
Flashing ဆိုတာဘာလဲ
Flashing လုပ္တယ္ဆိုတာက Eloctronic Device ျဖစ္တဲ့ Phone ထဲကို firmware
ထည့္သြင္းတာကိုဆိုလိုပါတယ္၊ Flashing လုပ္ျခင္းက ROM ထဲမွာရွိတဲ့ Data
ေတြကို ျပန္ေရးျခင္းပါပဲ၊ Android ဖုန္းမွာ Custom ROMs ကို Stock ROMs
အစား Flashing လုပ္ပီးေတာ့ ဖုန္းထုတ္တဲ့ ကုမၼဏီက ထည့္သြင္းေပးလိုက္တဲ့
Functions ေတြကို ေျပာင္းလဲ ပီး ပိုမိုေကာင္းမြန္တဲ့ Unlimited
၀င္ေဆာင္မွဴကို ရရွိႏိုင္ပါတယ္၊
Rooting ဆိုတာဘာလဲ
Android System ရဲ့ Hardware Layer အေပၚမွာရွိတဲ့ Linux Kernel ကို
လိုသလို ထိန္းခ်ဳပ္လို႔ရႏိုင္မယ့္ အခြင့္အေရးရခ်င္လုိ႔ Root access
လုပ္ၾကပါတယ္၊ ဒီအခြင့္အေရးရယူႏိုင္ျခင္းကိုပဲ Root Access
ရတယ္လို႔ေခၚပါတယ္၊ Root Access ရသြားရင္ Android File System ကို
စိတ္ႀကိဳက္ ျပဳျပင္ႏိုင္ပါတယ္၊ Android File System ထဲမွာ အဓိက ပါ၀င္တဲ့
အလႊာ (Partitions) ၆ ခု ကိုလိုသလို အသံုးခ်ႏိုင္ရင္ Booting နဲ႔ ပက္သက္တဲ့
Process ေတြအားလံုးကိုထိန္းခ်ဳပ္ႏိုင္ သလို File System ထဲက တန္ဖိုးေတြနဲ႔
ထိန္းခ်ဳပ္မွူေတြကိုလဲ လိုသလို ျပဳျပင္ႏိုင္ပါပီ၊ ဒါတင္မကပါဘူး
ကၽြန္ေတာ္တို႔ စိတ္ႀကိဳက္ SSH (Secure Share protocol) (သို႔) HTTP (Hyper
Text Transfer Protocol) DHCP (Dynamic Host Configuration Protocol)
(သို႔) DNS(Domain Name Server) နဲ႔ Proxy Servers ေတြကို လဲ
အသံုးျပဳႏိုင္ပါပီ၊ Android System ရဲ့ လုပ္ေဆာင္မူေတြထဲက
ရပ္ခ်င္သမွ်လုပ္ေဆာင္ခ်က္ေတြကိုလဲ ရပ္ထားႏိုင္တဲ့ အျပင္ Arbitrary
commands ေတြလဲ အသံုးျပဳႏိုင္သြားပါတယ္၊ အျခားအျခား အျခား ေသာ
အခ်က္ေတြအမ်ား အမ်ားႀကီးကိုလဲလုပ္ႏိုင္ပါေသးတယ္၊ ဒီအခ်က္ေတြက Root
လုပ္ရျခင္းရဲ့ ရည္ရြယ္ခ်က္ပါ၊ ဒါကိုပဲ Rooting လုပ္တယ္လဲေခၚပါတယ္
ထုတ္လုပ္သူ ေတြက သူတို႔ရဲ့ Device ေတြကိုေရာင္းခ်တဲ့အခါ Software
restrictions ေတြပါလာပါတယ္၊ ဒီလို Software Restrictions ေတြပါလာရတဲ့
အေၾကာင္း အမ်ိဳးမ်ိဳးရွိပါတယ္၊ တစ္ခ်ိဳ႕ကုမၼဏီေတြကေတာ့ သူတို႔ပစၥည္းကို
အသံုးျပဳတဲ့ သူေတြကို ကာကြယ္ေပးဖို႔ ဆိုပီး Restrictions ထည့္ပါတယ္၊
ဘယ္လို အေၾကာင္းေၾကာင့္ပဲျဖစ္ျဖစ္ ကန္႔သက္ခ်က္ေတြပါ၀င္ေနျခင္းဟာ Android
ဖုန္း (သို႔) Tablet ကို သံုးတဲ့သူ လိုအပ္တဲ့
ပံုစံအတိုင္းေျပာင္းလဲဖို႔ႀကိဳးစားတဲ့ အခါ မ်ိဳး (သို႔) အဆင့္ျမင့္တဲ့
ျပင္ဆင္မွဴျပဳလုပ္ျခင္းမ်ိဳး ျပဳလုပ္တဲ့အခါမ်ိဳးမွာ ကာစီေနတတ္ပါတယ္၊ ဒီလို
အကာ အစီးကို ေက်ာ္ျဖတ္ပီး စိတ္ႀကိဳက္ထိန္းခ်ဳပ္ႏိုင္ေအာင္ Root access
ရဖို႔ႀကိဳးစားၾကပါတယ္၊
Rooting လုပ္ျခင္းက Android သံုး ပစၥည္းထုတ္လုပ္တဲ့ကုမၼဏီေတြက
ကန္႔သတ္ထားတဲ့ ကန္႔သက္ခ်က္ေတြကို ခ်ိဳးျဖတ္ပီး software ကို အကန္႔အသက္
မရွိအသံုးျပဳျခင္းပါပဲ၊ ဒီလို Rooting လုပ္ျခင္းအားျဖင့္ ကၽြန္ေတာ္တို႔ကို
ကန္႔သက္ထားတဲ့ Android ပစၥည္း ရဲ့ အစိတ္အပိုင္းမွာ ေရးခ်င္တာေရးႏိုင္သလို
ျပဳျပင္လိုသမွ်ကို ျပဳျပင္သြားႏိုင္ပါတယ္၊
Custom ROM နဲ႔ Stock ROM တို႔ ဘာကြာလဲ
Stock ROM နဲ႔ Custom ROM ဆိုပီးႏွစ္မ်ိဳးရွိမယ္၊ Stock ROM က
ဖုန္း၀ယ္တုန္းက ပါလာတဲ့ Phone Operation System. Stock ROM မွာ Software
Restriction ေတြထည့္သြင္းထားတဲ့ အတြက္ စိတ္ႀကိဳက္အသံုးျပဳခြင့္ မရတဲ့
Operation System ျဖစ္ေနပါတယ္၊ Custom ROM ဆိုတာကေတာ့ OS Version
တစ္ခုပါပဲ၊ Custom ROM ထဲမွာလဲ Stock ROM ေတြလိုပဲ Android Device
တစ္ခုလံုးကို အလုပ္လုပ္ေစတဲ့ Kernel ပါတယ္၊ System Applications ေတြပါမယ္၊
Services ေတြပါမယ္၊ တစ္ခုပဲကြဲသြားတာက စိတ္ႀကိဳက္တည္ေဆာက္ထားတဲ့ ROM
ျဖစ္ျခင္းနဲ႔ Software Restriction ေတြမပါျခင္းပါပဲ၊ ဒီေတာ့ Custom
ဆိုတဲ့စကားလံုးက ကဘာကိုရည္ညြန္းလဲ၊ Android က Open Source ျဖစ္တဲ့ အတြက္
Developers ေတြက Stock ROMS ေတြ အခမဲ့ယူလို႔ရတယ္၊ ပီးရင္ စိတ္ႀကိဳက္
ျပဳျပင္လို႔ရတယ္ ဖ်က္ပစ္လိုရာ ျဖတ္ထုတ္ႏိုင္တယ္၊
ထပ္ထည့္လိုတာထပ္ထည့္ႏိုင္တယ္၊ အရည္အခ်င္းရွိရင္ ရွိသေလာက္ စိတ္ၾကိဳက္
ျပဳျပင္ေျပာင္းလဲပီး စိတ္ၾကိဳက္ ROM ကို တည္ေဆာက္ယူႏိုင္တယ္၊ ဒီလို
စိတ္ႀကိဳက္တည္ေဆာက္ထားတဲ့ ROM ကိုပဲ Custom ROM လို႔ေခၚတာပါ၊
ADB ဆိုတာဘာလဲ
ADB ရဲ့ မူရင္းစာလံုးကေတာ့ Android Debug Bridge ပါ၊ သူ နာမည္အတိုင္းပါပဲ
သူက ဖုန္းကို ျပဳျပင္ဖို႔ အတြက္ ကြန္ျပဴတာနဲ႔ ဖုန္းၾကားခ်ိတ္ဆက္ ႏိုင္တဲ့
တံတားတစ္စင္းပါ၊ Android Phone က Linux Kernel ကို အေျခခံထားပါတယ္၊ ဒီေတာ့
computer adb server ကိုအသံုးျပဳျပီး ကြန္ျပဴတာကေန ဖုန္း ရဲ့ adb Client
ကို Linux commands ေတြလွမ္းပို႔ႏိုင္ပါတယ္၊ ဒီလိုလုပ္ပီး commands ေတြကို
အလုပ္လုပ္ေစႏိုင္ပါတယ္၊ ဖုန္း အလုပ္လုပ္ပံုေတြမမွန္ေတာ့တဲ့ အခါမ်ိဳးမွာ
ဒီနည္းက ေတာ့ အမွားရွာပီး ျပင္ဆင္ဖို႔ တကယ့္ကို အသံုး၀င္တဲ့နည္းပါ၊
ဒီနည္းအတိုင္း ADB Server ျဖစ္တဲ့ Computer ကေန ADB Client ျဖစ္တဲ့
ဖုန္းကို Linux Commands ေတြပို႔ပီး အလုပ္မလုပ္ဖူးေသးရင္ေတာ့ မိတ္ေဆြ ADB
ရဲ့ အသံုး၀င္ မွူကိုခံစားဖူးအံုး မွာ မဟုတ္ေသးပါဘူး၊
Baseband ဆိုတာဘာလဲ
Baseband ဆိုတာကေတာ့ ဖုန္းေတြမွာသံုးတဲ့ Raido ကိုဆိုလိုပါတယ္၊ ဖုန္း
Version နဲ႔ ထုတ္လုပ္တဲ့ ကုမၼဏီ အလိုက္ Raido Version ေတြလဲကြာပါတယ္၊
Raido File ေတြကို Recovery tools ေတြကေန Flash လုပ္ႏိုင္သလို ADB/ODIN
တို႔ကလဲ Flash လုပ္ႏိုင္ပါတယ္၊ Raido (သို႔) Modem နဲ႔ ROM Version တို႔
ကိုက္ညီမွဴမရွိရင္ ေတာ့ MMS, 3G data, VM နဲ႔ Network ျပသနာ
တတ္ႏိုင္ပါတယ္၊ ဒါေၾကာင့္ အသံုးျပဳ ေနတဲ့ ROM နဲ႔ ကိုက္ညီတဲ့ Radio (သို႔)
Modem ကို ေရြးခ်ယ္ႏိုင္ဖို႔လိုသလို ဖုန္းနဲ႔ ကိုက္ညီတဲ့ network နဲ႔
bandwidth တို႔ကိုလဲ ေရြးခ်ယ္ႏိုင္ဖို႔လိုအပ္ပါတယ္၊
Raido Firmware က Network ခ်ိတ္ဆက္ ဆက္သြယ္ေရးအတြက္ low-level functions
ေတြကိုသံုးပီး Wi-Fi နဲ႔ GPS တို႔ ခ်ိတ္ဆက္အသံုးျပဳႏိုင္ေစပါတယ္၊ အကယ္၍
ဆက္သြယ္ေရး နဲ႔ ပက္သက္တဲ့ ျပသနာမ်ိဳး Android Device မွာ
ေတြ႔ၾကံဳေနရပီဆိုရင္ေတာ့ Radio Firmware ကို Update လုပ္ဖို႔လိုပါပီ၊
Radio Firmware ကို Update လုပ္ျခင္းက Range နဲ႔ လုပ္ေဆာင္မွဴေတြကို
ပိုမိုေကာင္းမြန္လာ မွာ ျဖစ္သလို Bettery အသံုးျပဳမွဴကိုလဲ
ေရွာ့ခ်ေပးႏိုင္ပါတယ္၊
ဖုန္းထဲမွာ Baseband Radio Processor Chipsets ေတြပါ၀င္ပါတယ္၊ ဒီ Chipsets
ေတြကို ထိန္းခ်ဳပ္ဖို႔အတြက္ Software မ်ိဳးစံုကိုလဲ ဖုန္းထုတ္လုပ္တဲ့
ကုမၼဏီေတြက Develop လုပ္ၾကပါတယ္၊
Bootloader , Firmware, ADB , Stock ROMs, Custom ROMs, OS Kernel,
ClockworkMod, Flashing , Rooting , Baseband စသျဖင့္ စာလံုး အထူး
အဆန္းေတြျခည္းေတြ႔ရလို႔ ေလ့လာခ်င္စိတ္ကုန္ သြားတတ္သလို႔၊ တစ္လံုး စီနဲ႔
သူတို႔ရဲ့ သီးသန္႔ အလုပ္လုပ္ပံုကို အတိအက် မသိရင္ နာမည္သာေခၚေနေပမယ့္
အႏွစ္သာရ မဲ့ေနတတ္ပါတယ္၊ တကယ္ေလ့လာလိုသူေတြအေနနဲ႔ လဲ တစ္ခုစီရဲ့
အဓီပါယ္နဲ႔ အသံုး၀င္ပံု အေသးစိတ္အလုပ္လုပ္ပံုတို႔ကို ေသခ်ာ သိကိုသိထား
ရပါမယ္၊ ဒီပို႔စ္မွာ အထက္က စာလံုးေတြအေၾကာင္း ရွင္းသြားေပးပါမယ္၊
တကယ္ပညာရွင္အဆင့္ တက္လွမ္းခ်င္သူေတြအတြက္ Open Source ျဖစ္တဲ့ Android က
မည္သူမဆို ေဒါင္းယူႏိုင္ပီး ႀကိဳက္သလို ျဖတ္ႏိုင္ ျပင္ႏိုင္ ပါတယ္၊
စိတ္ႀကိဳက္ေျပာင္းႏိုင္ မိမိနဲ႔ အသင့္ေတာ္ဆံုး ျဖစ္တဲ့ System
တစ္ခုျဖစ္သြားတဲ့ အထိ ျပဳျပင္ယူလို႔ရပါတယ္၊
Bootloader ဆိုတာဘာလဲ
Bootloader ဆိုတာက Operation System မစတင္ခင္ အလုပ္လုပ္တဲ့ Code
အစိတ္အပိုင္းေလးကိုေခၚပါတယ္၊ Bootloader ထဲမွာ OS kernal ကို
စတင္အလုပ္လုပ္ေအာင္ ေခၚမယ္ ညြန္ၾကားခ်က္ေတြပါပါတယ္၊ Bootloader က Internal
Memory ထဲမွာရွိတဲ့ Paratition ေတြအားလံုးက ရဲ့ ပထမဆံုး Partition မွာ
တည္ရွိမွာျဖစ္ပီး အျခား Partitions ေတြအားလံုးကို သြားမယ့္ Check Point
ပါပဲ၊
Bootloader ဘယ္လိုအလုပ္လုပ္တာလဲ
Power စဖြင့္တာနဲ႔ ROM ထဲမွာရွိတဲ့ Boot ROM Code က စပီးအလုပ္လုပ္ပါတယ္၊
ပီးရင္ Bootloader လို႔ေခၚတဲ့ Boot Strap Firmware ကို ႏိုးမယ္၊ Boot
Strap Firmware ထဲမွာ MBR and GRUB/LILO တို႔ပါ၀င္တယ္၊ Bootloader
အလုပ္စပီဆိုတာနဲ႔ init.S ဖိုင္ စအလုပ္လုပ္တယ္ ၊ အရင္ ဆံုး BSS segment ကို
0 တန္ဖိုးေရာက္သြားေအာင္ရွင္းတယ္၊ ပီးရင္ main.c ဖိုင္ကို စေခၚမယ္၊ main.c
ဖိုင္ စ အလုပ္လုပ္တာနဲ႔ hardware အစိတ္အပိုင္းေတြျဖစ္တဲ့ clocks, board,
keypad, console တို႔ကိုစတင္ေစမယ္၊ ပီးရင္ Linux Tags ကိုဖန္တီးပီး Linux
Kernel image ကို Memory ကေန ၀င္တင္မယ္၊
Botloader ေရြးခ်ယ္မွဴ
Bootloader က Phone မွာပါ၀င္တဲ့ အျခား မည္သည့္ software မဆိုရဲ့ အဦးဆံုး
စတင္တဲ့ အတြက္ မွန္ကန္တဲ့ processor ကိုအသံုးျပဳဖို႔
အလြန္အေရးႀကီးလွပါတယ္၊ Android OS က Open Source ျဖစ္တဲ့ အတြက္
ဖုန္းထုတ္လုပ္တဲ့ ကုမၼဏီေတြက သူတို႔ ထုတ္လုပ္တဲ့ ဖုန္း Hardware နဲ႔
ကိုက္ညီတဲ့ Bootloader version ကို Develop လုပ္ထားၾကပါတယ္၊ Android
ဖုန္းေတြမွာပါ၀င္တဲ့ Bootloader ေတြကို အျမဲတမ္း Locked ခ်ထားပါတယ္၊
ဒီလိုလုပ္ထားတာကေတာ့ ထုတ္လုပ္တဲ့ ကုမၼဏီေတြကို သူတို႔ထုတ္လုပ္တဲ့ဖုန္းကို
သူတို႔ထုတ္လုပ္တဲ့ OS version နဲ႔ ပဲတြဲသံုးေစခ်င္လို႔ပါ၊ Bootloader ကို
Locked လုပ္ထားရင္ Custom ROM install လုပ္လို႔မရပါဘူး၊ ဒါေၾကာင့္ Custom
ROM Install လုပ္လိုရင္ Bootloader ကို အရင္ Unlock လုပ္ရပါတယ္၊
Kernel ဆိုတာဘာလဲ
Kernel ဆိုတာက Android တစ္ခုထဲမွာသာလွ်င္ရွိတာ မဟုတ္ပဲ
IOS,MacOS,Window,BlackBerry's QNX တို႔မွာလဲရွိပါတယ္၊ High Level
Operation Systems အားလံုးမွာ Kernel တစ္ခုေတာ့ ပါ၀င္ပါတယ္၊ ခု ေျပာမွာက
Android အေၾကာင္းဆိုေတာ့ Linux Kernel ကိုပဲ ဦးတည္ပီးေျပာသြားပါမယ္၊
Android သံုးသမွ် ပစၥည္းေတြက Linux Kernel ကိုသံုးၾကပါတယ္၊ ဒါေပမယ့္ Linux
Operation System က သံုးတဲ့ Kernel နဲ႔ေတာ့ တထပ္တည္းမတူပါဘူး၊ Android
Kernel မွာ Android အတြက္ သီးသန္႔ Build-in code ေတြပါေနပါတယ္၊
ဒါ့ေၾကာင့္ပဲ Developers ေတြနဲ႔ hackers ေတြအတြက္ Android Versions
အသစ္ေတြကို Android ဖုန္း အေဟာင္းေတြမွာ ထည့္သြင္းပီး အားလံုး အဆင္ေျပေျပ
အလုပ္ျဖစ္ေအာင္လုပ္ဖို႔ အေတာ့ကိုေစာင့္ရပါတယ္၊ Gingerbred kernel အတြက္
သံုးတဲ့ drivers ေတြက Ice Cream Sandwich kernel အတြက္ အလုပ္လုပ္မွာ
မဟုတ္ပါဘူး၊ ဒီကစၥက လဲ အေရးႀကီးပါတယ္၊ Kernel ရဲ့ အဓီက အလုပ္က Hardware
ကို ထိန္းခ်ဳပ္ဖို႔ တာ၀န္ကိုယူထားလို႔ပါ၊ kernel ကိုေရးတဲ့ ကုတ္ေတြလဲ
တကယ့္ကိုမ်ားလွပါတယ္၊ Kernel ရဲ့ အဓီက တာ၀န္ကေတာ့ Hardware နဲ႔ Software
တို႔ၾကားမွာ ႏွစ္ဖက္ညြန္ၾကားခ်က္ေတြကို နာလည္ေအာင္ လုပ္ကိုင္ေပးဖို႔ပါပဲ၊
Software တစ္ခုက ဘယ္လို အလုပ္မ်ိဳးကိုမဆို Hardware ကို လုပ္ေစခ်င္တဲ့
အခါက်ရင္ Hardware ကို တိုက္ရိုက္ အမိန္႔မေပးပဲနဲ႔ Kernel ကို
ညြန္ၾကားခ်က္ အရင္လွမ္းပို႔ပါတယ္၊ ဒီေနရာမွာ အလုပ္ဆိုတာက ဖုန္းက
လုပ္ႏိုင္တဲ့ အလုပ္အားလံုးကိုညြန္းပါတယ္၊ ဖုန္း Screen
အလင္းေရာင္ခ်ိန္တာတို႔၊ အသံ အနိမ္း အျမင့္ ခ်ိန္တာတို႔၊ Raido ကို
ခ်ိတ္ဆက္ပီး ဖုန္းေခၚဆိုတာတို႔၊ ဖုန္း မ်က္ႏွာျပင္မွာ ပုံဆြဲတာတို႔
စသျဖင့္ အလုပ္ မွန္သမွ်ကို Software က လုပ္လိုတဲ့အခါက်ရင္ Hardware
ကိုတိုက္ရိုက္ မခိုင္းပဲ Kernel ကိုလွမ္းခိုင္းလိုက္ပါတယ္၊ အဲ့ဒီ့ အခါမွာ
Kernal က တဆင့္ Hardware ကို လုပ္မယ့္အလုပ္ကိုညြန္ၾကားပါတယ္၊ ဥပမာ
ကၽြန္ေတာ္တို႔ ဖုန္း မ်က္ႏွာျပင္ေပၚမွာ က ကင္မရာ (Camera) ရိုက္တဲ့ခလုပ္
မွာ ခလစ္တစ္ခ်က္ႏွိပ္ပီး ဓါတ္ပံုရိုက္တယ္ဆိုပါစို႔ ၊
ခလုပ္ကိုႏွီပ္လိုက္တာနဲ႔ကို software က Event တစ္ခုကိုနားေထာင္လုိ႔ရမယ္
ရတဲ့ Event ျဖစ္ေပၚတဲ့ေနရာကို driver ကတဆင့္ Kernel ကို ပို႔မယ္၊ kernel
ကလဲ ရလာတဲ့အခ်က္နဲ႔ ပက္သက္တဲ့ command ကို Camera hardware
ကိုလွမ္းပို႔မယ္၊ Camera Hardware က ဓါတ္ပံုကို ရိုက္ေပးမယ္၊ ဒီလို တစ္ခုက
Software က Input လုပ္လိုက္တာကို Kernel က ယူပီး Output တစ္ခုအျဖစ္
Hardware ကိုျပန္ေပးပါတယ္၊
အကယ္၍ Kernel သာမရွိခဲ့ရင္ေတာ့ Developers ေတြက အလုပ္တစ္ခုစီအတြက္
အလြန္႔အလြန္မ်ားျပားလွတဲ့ machine Code ေတြကို ေရးပီး Hardware ကို
ခိုင္းေစရမွာျဖစ္ပါတယ္၊ Kernel က ၾကားခံ ေပးထားတဲ့အတြက္ Application
Developers ေတြအေနနဲ႔ Android System API's ေတြကေန တစ္ဆင့္ Kernel ဆီကို
Resquest ေတြအလြယ္တစ္ကူပို႔ႏိုင္ပီး Kernel နဲ႔ ခ်ိတ္ဆက္ အလုပ္လုပ္ဖို႔သာ
Develop လုပ္ရမွာျဖစ္သလို Hardware Developers ေတြကလဲ သူတို႔ Develop
လုပ္တဲ့ Hardware ကို Kernel နဲ႔ ဆက္သြယ္ အသံုးျပဳႏိုင္ေအာင္သာ Develop
လုပ္ေပးစရာလို႔ပါတယ္၊
CWM ဆိုတာဘာလဲ
CWM ဆိုတာကေတာ့ ClockWorkMod ကိုဆိုလိုပါတယ္၊ CWM ကို Android သံုး ဖုန္း
နဲ႔ Tablet ေတြ Recovery လုပ္ဖို႔သံုးပါတယ္၊ ဒီလို CWM သံုးပီး recover
လုပ္တာကိုပဲ CWM recovery လို႔ေခၚပါတယ္၊ CWM recovery လုပ္ျခင္းအားျဖင့္
Stock Recovery နဲ႔ မလုပ္ႏိုင္တဲ့ Data ျပန္လည္သိုေလွာင္ျခင္း root access
ရယူျခင္း အသံုးျပဳတဲ့ ဖုန္းထဲက data ေတြကို Backup လုပ္ျခင္း Custom ROM
ထည့္သြင္း အသံုးျပဳျခင္း Kernel တပ္ဆင္ျခင္း စသျဖင့္
အလုပ္ေတြအမ်ားၾကီးကိုလုပ္သြားႏိုင္ပါတယ္၊ Android အေျခခံ အဆင့္ ကို
နားမလည္ေသးသူေတြအတြက္ ClockWorkMod ကိုသံုးပီး Recovery လုပ္ရင္ အခက္အခဲ
ေတြ႔ႏိုင္သလို CWM recovery က အစြမ္းကိုလဲ သေဘာေပါက္ဖို႔ခက္ခဲေနပါအံုးမယ္၊
Android Devices ေတြအားလံုး recovery console ကို ဖုန္း အတြင္းပိုင္း
memory ထဲ ထည္ပီး ကုမၼဏီေတြက ထုတ္လုပ္ေရာင္းခ်ပါတယ္၊ recover console ကေန
Boot တက္ႏိုင္ပါတယ္၊ အကယ္၍ မလိုလားအပ္တဲ့ ျပသနာေတြ တက္လာပီးဆိုရင္
ကၽြန္ေတာ္တို႔ Factory Reset သံုးပီး Recover လုပ္ႏိုင္ပါတယ္၊ ဒါမွမဟုတ္
zip ဖိုင္နဲ႔ လာတဲ့ official ROM ကို Update လုပ္ႏို္င္ပါတယ္၊ ဒီလို
အခ်က္ေလာက္သာလွ်င္လုပ္ႏိုင္တာပါ Custom Recovery ကေတာ့ သူမတူတဲ့
အလုပ္မ်ိဳးကိုလုပ္ႏုိင္ပါတယ္၊ Custom Recovery ကေတာ့ Stock Recovery
လိုမဟုတ္ပဲ Stock Recovery လုပ္ႏိုင္သမွ်ကိုလုပ္ႏိုင္တဲ့ အျပင္ ကိုယ္
ပိုင္ Android ကို စိတ္ႀကိဳက္ ထိန္းခ်ဳပ္ ႏိုင္ေအာင္ အဆင့္ျမင့္တဲ့
Options ေတြပါလာပါတယ္၊ Custom Recovery ကို သံုးရင္ တရား၀င္ေကာ တရားမ၀င္
ROMs ေတြကိုပါ Install လုပ္ႏိုင္ပါတယ္၊ အျခား Application Update
လုပ္ျခင္း Themes ေျပာင္းျခင္း Kernel ေျပာင္းလဲျခင္း Zip ဖိုင္
အသံုးျပဳျခင္း User Data အပါအ၀င္ ဖုန္း Partition ေတြအားလံုးကို
ျဖတ္ႏိုင္ျခင္း SD cards Partition ခြဲျခင္း Dalvik Cache
မ်ားျဖတ္ပစ္ျခင္း Permission မ်ားေျပာင္းလဲခင္း resotre န႔ဲ Backup မွာ
စိတ္ႀကိဳက္ အစိတ္အပိုင္းေတြကို ေရြးခ်ယ္ႏိုင္ျခင္း နဲ႔ အျခား အျခား ေသာ
အလုပ္ေတြအမ်ားႀကီးကို စိတ္ႀကိဳက္လုပ္ႏိုင္ပါတယ္၊
ClockWorkMod recovery ကို Koushik Dutta က Develop လုပ္ခဲ့ပါတယ္၊ Android
ROM Manager ကို Develop လုပ္တဲ့သူပါပဲ၊ သူ႔ရဲ့ Hacking away at Android
devices ဆိုတဲ့ Blog နဲ႔ Twitter မွာ သူ႔ကို ရွာေတြ႔ႏိုင္ပါတယ္၊
Firmware နဲ႔ ပက္သက္သမွ်
Firmware ဆိုတာက ROM (read only memory) ထဲကိုထည့္ေရးထားတဲ့ Software
program ကိုဆိုလိုပါတယ္၊ Window computer ေတြမွာသံုးတဲ့ window7 install
လုပ္သ လိုပါပဲ၊ ဖုန္းအတြက္ Firmware Install လုပ္တယ္ဆိုရင္ေတာ့
Froyo,Gingerbread,HoneyCamb,ICS,Jelly Bean,Kitkat တို႔လို Android
Version ေတြကို Phone မွာ Install လုပ္ျခင္းပါပဲ၊ ဖုန္းတိုင္းမွာ မတူညီတဲ့
Firmware နဲ႔ installation Tool ေတြရွိပါတယ္၊ ဒါ့ေၾကာင့္ ႀကိဳက္တဲ့
ဖုန္းမွာ ႀကိဳက္တဲ့ firmware ကို သံုးႏိုင္မွာေတာ့ မဟုတ္ပါဘူး၊
တစ္ခုေတာ့ရွိတယ္၊ ROM ဆိုတာက မူရင္း အဓိပါယ္ Read-Only-Memory
ကိုဆိုလိုပါတယ္၊ ဒီေတာ့ read only ဖတ္လို႔ပဲရမယ္ ေရးလို႔မရဘူးဆိုတဲ့
သေဘာေပါ့၊ ဒါဆိုရင္ ဘယ္လိုလုပ္ပီး ROM ထဲက Firmware ကို Update
လုပ္ႏိုင္မွာလဲလို႔ေတြးစရာပါ၊ သေဘာတရားအရ ေတာ့ ROM ထဲမွာ Firmware
ရွိတယ္ေပါ့ ၊ ေနာက္ပိုင္းမွာေတာ့ Developer ေတြက ROM ရဲ့ အျပင္မွာ
Firmware ကိုထည့္ေရးကုန္ၾကပါတယ္၊ ဖုန္းရဲ့ Firmware ကို ROM လို႔လဲေခၚတယ္၊
အေၾကာင္းကေတာ့ သီအိုသီသေဘာမွာ Firmware က ROM ထဲမွာရွိတယ္၊ ROM ဆိုတာ Read
Only Menory, ေရွ႕က ထုတ္ခဲ့တဲ့ ဖုန္းေတြမွာေတာ့ Firmware က ROM
ထဲမွာရွိတယ္ဆိုတာမွန္ပါတယ္၊ ဒါေပမယ့္ ယေန႔ အသံုးျပဳေနတဲ့ ဖုန္းေတြမွာေတာ့
Firmware ကို ROM မထည့္ေတာ့ပါဘူး၊ Firmware ကို ဖုန္းရဲ့ internal flash
meonry ထဲမွာ ထည့္ထားတယ္၊၊ internal flash meonry က Read Only မဟုတ္ဘူး၊
ဒါ့ေၾကာင့္ firmware အသစ္တစ္ခုကို flash လုပ္လို႔ရတာေပါ့၊
Flashing ဆိုတာဘာလဲ
Flashing လုပ္တယ္ဆိုတာက Eloctronic Device ျဖစ္တဲ့ Phone ထဲကို firmware
ထည့္သြင္းတာကိုဆိုလိုပါတယ္၊ Flashing လုပ္ျခင္းက ROM ထဲမွာရွိတဲ့ Data
ေတြကို ျပန္ေရးျခင္းပါပဲ၊ Android ဖုန္းမွာ Custom ROMs ကို Stock ROMs
အစား Flashing လုပ္ပီးေတာ့ ဖုန္းထုတ္တဲ့ ကုမၼဏီက ထည့္သြင္းေပးလိုက္တဲ့
Functions ေတြကို ေျပာင္းလဲ ပီး ပိုမိုေကာင္းမြန္တဲ့ Unlimited
၀င္ေဆာင္မွဴကို ရရွိႏိုင္ပါတယ္၊
Rooting ဆိုတာဘာလဲ
Android System ရဲ့ Hardware Layer အေပၚမွာရွိတဲ့ Linux Kernel ကို
လိုသလို ထိန္းခ်ဳပ္လို႔ရႏိုင္မယ့္ အခြင့္အေရးရခ်င္လုိ႔ Root access
လုပ္ၾကပါတယ္၊ ဒီအခြင့္အေရးရယူႏိုင္ျခင္းကိုပဲ Root Access
ရတယ္လို႔ေခၚပါတယ္၊ Root Access ရသြားရင္ Android File System ကို
စိတ္ႀကိဳက္ ျပဳျပင္ႏိုင္ပါတယ္၊ Android File System ထဲမွာ အဓိက ပါ၀င္တဲ့
အလႊာ (Partitions) ၆ ခု ကိုလိုသလို အသံုးခ်ႏိုင္ရင္ Booting နဲ႔ ပက္သက္တဲ့
Process ေတြအားလံုးကိုထိန္းခ်ဳပ္ႏိုင္ သလို File System ထဲက တန္ဖိုးေတြနဲ႔
ထိန္းခ်ဳပ္မွူေတြကိုလဲ လိုသလို ျပဳျပင္ႏိုင္ပါပီ၊ ဒါတင္မကပါဘူး
ကၽြန္ေတာ္တို႔ စိတ္ႀကိဳက္ SSH (Secure Share protocol) (သို႔) HTTP (Hyper
Text Transfer Protocol) DHCP (Dynamic Host Configuration Protocol)
(သို႔) DNS(Domain Name Server) နဲ႔ Proxy Servers ေတြကို လဲ
အသံုးျပဳႏိုင္ပါပီ၊ Android System ရဲ့ လုပ္ေဆာင္မူေတြထဲက
ရပ္ခ်င္သမွ်လုပ္ေဆာင္ခ်က္ေတြကိုလဲ ရပ္ထားႏိုင္တဲ့ အျပင္ Arbitrary
commands ေတြလဲ အသံုးျပဳႏိုင္သြားပါတယ္၊ အျခားအျခား အျခား ေသာ
အခ်က္ေတြအမ်ား အမ်ားႀကီးကိုလဲလုပ္ႏိုင္ပါေသးတယ္၊ ဒီအခ်က္ေတြက Root
လုပ္ရျခင္းရဲ့ ရည္ရြယ္ခ်က္ပါ၊ ဒါကိုပဲ Rooting လုပ္တယ္လဲေခၚပါတယ္
ထုတ္လုပ္သူ ေတြက သူတို႔ရဲ့ Device ေတြကိုေရာင္းခ်တဲ့အခါ Software
restrictions ေတြပါလာပါတယ္၊ ဒီလို Software Restrictions ေတြပါလာရတဲ့
အေၾကာင္း အမ်ိဳးမ်ိဳးရွိပါတယ္၊ တစ္ခ်ိဳ႕ကုမၼဏီေတြကေတာ့ သူတို႔ပစၥည္းကို
အသံုးျပဳတဲ့ သူေတြကို ကာကြယ္ေပးဖို႔ ဆိုပီး Restrictions ထည့္ပါတယ္၊
ဘယ္လို အေၾကာင္းေၾကာင့္ပဲျဖစ္ျဖစ္ ကန္႔သက္ခ်က္ေတြပါ၀င္ေနျခင္းဟာ Android
ဖုန္း (သို႔) Tablet ကို သံုးတဲ့သူ လိုအပ္တဲ့
ပံုစံအတိုင္းေျပာင္းလဲဖို႔ႀကိဳးစားတဲ့ အခါ မ်ိဳး (သို႔) အဆင့္ျမင့္တဲ့
ျပင္ဆင္မွဴျပဳလုပ္ျခင္းမ်ိဳး ျပဳလုပ္တဲ့အခါမ်ိဳးမွာ ကာစီေနတတ္ပါတယ္၊ ဒီလို
အကာ အစီးကို ေက်ာ္ျဖတ္ပီး စိတ္ႀကိဳက္ထိန္းခ်ဳပ္ႏိုင္ေအာင္ Root access
ရဖို႔ႀကိဳးစားၾကပါတယ္၊
Rooting လုပ္ျခင္းက Android သံုး ပစၥည္းထုတ္လုပ္တဲ့ကုမၼဏီေတြက
ကန္႔သတ္ထားတဲ့ ကန္႔သက္ခ်က္ေတြကို ခ်ိဳးျဖတ္ပီး software ကို အကန္႔အသက္
မရွိအသံုးျပဳျခင္းပါပဲ၊ ဒီလို Rooting လုပ္ျခင္းအားျဖင့္ ကၽြန္ေတာ္တို႔ကို
ကန္႔သက္ထားတဲ့ Android ပစၥည္း ရဲ့ အစိတ္အပိုင္းမွာ ေရးခ်င္တာေရးႏိုင္သလို
ျပဳျပင္လိုသမွ်ကို ျပဳျပင္သြားႏိုင္ပါတယ္၊
Custom ROM နဲ႔ Stock ROM တို႔ ဘာကြာလဲ
Stock ROM နဲ႔ Custom ROM ဆိုပီးႏွစ္မ်ိဳးရွိမယ္၊ Stock ROM က
ဖုန္း၀ယ္တုန္းက ပါလာတဲ့ Phone Operation System. Stock ROM မွာ Software
Restriction ေတြထည့္သြင္းထားတဲ့ အတြက္ စိတ္ႀကိဳက္အသံုးျပဳခြင့္ မရတဲ့
Operation System ျဖစ္ေနပါတယ္၊ Custom ROM ဆိုတာကေတာ့ OS Version
တစ္ခုပါပဲ၊ Custom ROM ထဲမွာလဲ Stock ROM ေတြလိုပဲ Android Device
တစ္ခုလံုးကို အလုပ္လုပ္ေစတဲ့ Kernel ပါတယ္၊ System Applications ေတြပါမယ္၊
Services ေတြပါမယ္၊ တစ္ခုပဲကြဲသြားတာက စိတ္ႀကိဳက္တည္ေဆာက္ထားတဲ့ ROM
ျဖစ္ျခင္းနဲ႔ Software Restriction ေတြမပါျခင္းပါပဲ၊ ဒီေတာ့ Custom
ဆိုတဲ့စကားလံုးက ကဘာကိုရည္ညြန္းလဲ၊ Android က Open Source ျဖစ္တဲ့ အတြက္
Developers ေတြက Stock ROMS ေတြ အခမဲ့ယူလို႔ရတယ္၊ ပီးရင္ စိတ္ႀကိဳက္
ျပဳျပင္လို႔ရတယ္ ဖ်က္ပစ္လိုရာ ျဖတ္ထုတ္ႏိုင္တယ္၊
ထပ္ထည့္လိုတာထပ္ထည့္ႏိုင္တယ္၊ အရည္အခ်င္းရွိရင္ ရွိသေလာက္ စိတ္ၾကိဳက္
ျပဳျပင္ေျပာင္းလဲပီး စိတ္ၾကိဳက္ ROM ကို တည္ေဆာက္ယူႏိုင္တယ္၊ ဒီလို
စိတ္ႀကိဳက္တည္ေဆာက္ထားတဲ့ ROM ကိုပဲ Custom ROM လို႔ေခၚတာပါ၊
ADB ဆိုတာဘာလဲ
ADB ရဲ့ မူရင္းစာလံုးကေတာ့ Android Debug Bridge ပါ၊ သူ နာမည္အတိုင္းပါပဲ
သူက ဖုန္းကို ျပဳျပင္ဖို႔ အတြက္ ကြန္ျပဴတာနဲ႔ ဖုန္းၾကားခ်ိတ္ဆက္ ႏိုင္တဲ့
တံတားတစ္စင္းပါ၊ Android Phone က Linux Kernel ကို အေျခခံထားပါတယ္၊ ဒီေတာ့
computer adb server ကိုအသံုးျပဳျပီး ကြန္ျပဴတာကေန ဖုန္း ရဲ့ adb Client
ကို Linux commands ေတြလွမ္းပို႔ႏိုင္ပါတယ္၊ ဒီလိုလုပ္ပီး commands ေတြကို
အလုပ္လုပ္ေစႏိုင္ပါတယ္၊ ဖုန္း အလုပ္လုပ္ပံုေတြမမွန္ေတာ့တဲ့ အခါမ်ိဳးမွာ
ဒီနည္းက ေတာ့ အမွားရွာပီး ျပင္ဆင္ဖို႔ တကယ့္ကို အသံုး၀င္တဲ့နည္းပါ၊
ဒီနည္းအတိုင္း ADB Server ျဖစ္တဲ့ Computer ကေန ADB Client ျဖစ္တဲ့
ဖုန္းကို Linux Commands ေတြပို႔ပီး အလုပ္မလုပ္ဖူးေသးရင္ေတာ့ မိတ္ေဆြ ADB
ရဲ့ အသံုး၀င္ မွူကိုခံစားဖူးအံုး မွာ မဟုတ္ေသးပါဘူး၊
Baseband ဆိုတာဘာလဲ
Baseband ဆိုတာကေတာ့ ဖုန္းေတြမွာသံုးတဲ့ Raido ကိုဆိုလိုပါတယ္၊ ဖုန္း
Version နဲ႔ ထုတ္လုပ္တဲ့ ကုမၼဏီ အလိုက္ Raido Version ေတြလဲကြာပါတယ္၊
Raido File ေတြကို Recovery tools ေတြကေန Flash လုပ္ႏိုင္သလို ADB/ODIN
တို႔ကလဲ Flash လုပ္ႏိုင္ပါတယ္၊ Raido (သို႔) Modem နဲ႔ ROM Version တို႔
ကိုက္ညီမွဴမရွိရင္ ေတာ့ MMS, 3G data, VM နဲ႔ Network ျပသနာ
တတ္ႏိုင္ပါတယ္၊ ဒါေၾကာင့္ အသံုးျပဳ ေနတဲ့ ROM နဲ႔ ကိုက္ညီတဲ့ Radio (သို႔)
Modem ကို ေရြးခ်ယ္ႏိုင္ဖို႔လိုသလို ဖုန္းနဲ႔ ကိုက္ညီတဲ့ network နဲ႔
bandwidth တို႔ကိုလဲ ေရြးခ်ယ္ႏိုင္ဖို႔လိုအပ္ပါတယ္၊
Raido Firmware က Network ခ်ိတ္ဆက္ ဆက္သြယ္ေရးအတြက္ low-level functions
ေတြကိုသံုးပီး Wi-Fi နဲ႔ GPS တို႔ ခ်ိတ္ဆက္အသံုးျပဳႏိုင္ေစပါတယ္၊ အကယ္၍
ဆက္သြယ္ေရး နဲ႔ ပက္သက္တဲ့ ျပသနာမ်ိဳး Android Device မွာ
ေတြ႔ၾကံဳေနရပီဆိုရင္ေတာ့ Radio Firmware ကို Update လုပ္ဖို႔လိုပါပီ၊
Radio Firmware ကို Update လုပ္ျခင္းက Range နဲ႔ လုပ္ေဆာင္မွဴေတြကို
ပိုမိုေကာင္းမြန္လာ မွာ ျဖစ္သလို Bettery အသံုးျပဳမွဴကိုလဲ
ေရွာ့ခ်ေပးႏိုင္ပါတယ္၊
ဖုန္းထဲမွာ Baseband Radio Processor Chipsets ေတြပါ၀င္ပါတယ္၊ ဒီ Chipsets
ေတြကို ထိန္းခ်ဳပ္ဖို႔အတြက္ Software မ်ိဳးစံုကိုလဲ ဖုန္းထုတ္လုပ္တဲ့
ကုမၼဏီေတြက Develop လုပ္ၾကပါတယ္၊
0 comments:
Post a Comment