2015年5月22日 星期五

在 Arch Linux 中升級 Nexus 5

下載原廠 image 檔
https://developers.google.com/android/nexus/images
將下載回來的檔案解壓縮
修改 flash-all.sh
將 -w 的參數拿掉
fastboot -w update image-hammerhead-lmy48b.zip
-w 的用途是 wipe 它會將手機中的資料全部清除掉

安裝 android-tools
$ sudo pacman -S android-tools

開啟手機的 usb 偵錯功能
連接手機 usb 線
$ adb start-server
確認有系統有抓到你的手機資訊
$ adb devices
輸入下方指令讓手機進入 bootloader 模式
$ adb reboot bootloader

手機重開機後電腦可能會偵測不到手機
需要將 device id 加入 udev rule 中
$ lsusb
你可能會看到如下的資訊
Bus 001 Device 035: ID **18d1:d00d** Google Inc.

將這個資訊填入 /etc/udev/rules.d/51-android.rules 中
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", MODE="0666", OWNER="YOUR_LOGIN_ID"

Udev 可以自動偵測到你已變更的 rules 檔案,所以應該可以立即生效,而不需重啟 udev。 如果你的裝置沒有被自動觸發,你可以重新拔插裝置,在重新連接裝置後應該就可以重新觸發剛剛設定的 rule 了。

如果還是沒有成功可以使用下面的指令,讓 udev 重新 reload rules 。
$ sudo udevadm control --reload

手動重新觸發 rules。
$ sudo udevadm trigger

接下來就可以執行 flash-all.sh 來升級你的 android 系統了