我使用的發行版是Gentoo,fastboot無法刷入Android手機,永遠都卡在那邊,換了另一台Gentoo電腦都有一樣問題,可是以前用Ubuntu不會這樣呀。
使用fastboot devices
、fastboot getvar all
指令皆有回傳結果,但到了刷入boot.img的環節,fastboot flash boot
就卡在sending boot.img...
了!要不然就是unknown command
的錯誤,其餘牽涉刷入的操作也是如此。
在Can not use fastboot on linux - XDA Forums一文中看到使用Arch Linux的用戶也有一樣問題,結果我按照他的建議真的解決了…welll,以下是我的除錯之路。
1. 手動建立udev rules
這個方法無法解決根本問題,但是將手機加入udev rules之後打fastboot就不需要root權限了。
- 按照Arch Linux Wiki,在手機進入fastboot後,輸入
lsusb
應該會看到手機的硬體ID:
|
|
- 編輯規則
/etc/udev/rules.d/51-android.rules
,輸入以下內容。注意有些手機進入fastboot後VENDOR ID會變化,因此要額外多寫三行。
|
|
- 重新載入udev rules。
|
|
2. 改用Google官方發表的fastboot
雖然各大發行版有提供ADB和Fastboot的套件,不過還是可以試試Google官方釋出的版本,因為版本不一致可能也會導致錯誤。
到Android官網下載Linux版的SDK Platform Tools,解壓縮,在該目錄直接執行fastboot:
|
|
3. 將手機插到USB擴充埠
對,這個就是我解決fastboot偵測不到手機的最終解方。
電腦的孔都是USB 3.0,我將手機插上USB 2.0的擴充埠(USB hub),再把它插到電腦上。Voila!fastboot flash
指令總算有反應了。