2011-04-17

fastboot 大吃記憶體

要把新的 image 塞進 Android device 可以用 "fastboot" 來寫入,
不過 fastboot 是吃RAM 的大怪獸,它在傳送之前會把 image 先載進
RAM, 所以假設你的 image 有 1GB 那麼你的電腦至少要有 1GB+OS所需
的RAM 才能動作,或者要依賴 swap(這樣的話整個電腦會慢下來)。

如果你想同時做兩個這樣的動作(寫入 1GB image 到兩台 Android devices),
就必須有 2GB+OS所需的RAM, 這對於有4G RAM的電腦是沒有問題的,但是
如果要同時寫入更多台手機,突破 4G RAM 限制,就要換用 PAE kernel 了
(OS 不必換,只換kernel 即可)。

至於各家手機要進入 fastboot mode 的「暗鍵」有所不同,總之都是搭配
某個鍵先按住不放,再按 power 開機, 如果找不到各家的「暗鍵」資料,
也可以自己排列組合的試試吧!總之要先讓 fastboot 能看得到 device。

網路上找得到現成 binary fastboot, 不過有些只支援 HTC(0x0bb4),
但是現在 Android 手機品牌越來越多,還包括一些 mobile devices, 因此
現成binary 可能抓不到你的 mobile device, 那麼就要找 source 自己 compile.

http://source-android.frandroid.com/system/core/fastboot/
這裡有 fastboot 相關的 source, 新版的已經加入各家的 vendor id,
其中沒寫 comment 的 0x0451 是 Texas Instrument, 0x0502 是 Acer

0x18d1 Google
0x0451 Texas Instrument
0x0502 Acer
0x0fce Sony Ericsson
0x05c6 Qualcomm
0x22b8 Motorola
0x0955 Nvidia
0x413c DELL
0x0bb4 HTC
如果你不知道你的 device id, 可以用 lsusb 先看一下.

在 Linux 環境使用 fastboot 是不必裝什麼 driver 的, Windows 才要。

沒有留言: