Nexus S Flash Custom Rom


之前一直没有时间折腾这个,最近由于要调试smali,需要源码调试,所以就。。。。
操作步骤如下:
Step1: repo 下载源码(http://source.android.com/source/downloading.html)

Step2: 下载相应的驱动(https://developers.google.com/android/nexus/drivers)
如我的需要下载6个zip包,然后解压后是相应的6个sh文件,复制到下载的源码根目录,并运行这些shell文件,会在生成一个vendor 驱动文件夹。

Step3: 初始化环境
$ source build/envsetup.sh


$ . build/envsetup.sh

Step4: 选择target 
运行
lunch

PS:至于你怎么选其实可以参照(http://source.android.com/source/building-devices.html)
Nexus S 选择的是crespo。

Step5: 刷机 参照(http://source.android.com/source/building-devices.html)

主要是说下, google给的刷机的简单命令就是 fastboot -w flashall
在控制台下面直接运行fastboot, 可以看到相应的fastboot的参数命令如下:
usage: fastboot [ <option> ] <command>

commands:
  update <filename>                        reflash device from update.zip
  flashall                                 flash boot + recovery + system
  flash <partition> [ <filename> ]         write a file to a flash partition
  erase <partition>                        erase a flash partition
  format <partition>                       format a flash partition 
  getvar <variable>                        display a bootloader variable
  boot <kernel> [ <ramdisk> ]              download and boot kernel
  flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it
  devices                                  list all connected devices
  continue                                 continue with autoboot
  reboot                                   reboot device normally
  reboot-bootloader                        reboot device into bootloader
  help                                     show this help message


options:
  -w                                       erase userdata and cache (and format
                                           if supported by partition type)
  -u                                       do not first erase partition before
                                           formatting
  -s <specific device>                     specify device serial number
                                           or path to device port
  -l                                       with "devices", lists device paths
  -p <product>                             specify product name
  -c <cmdline>                             override kernel commandline
  -i <vendor id>                           specify a custom USB vendor id
  -b <base_addr>                           specify a custom kernel base address. default: 0x10000000
  -n <page size>                           specify the nand page size. default: 2048
  -S <size>[K|M|G]                         automatically sparse files greater than
                                           size.  0 to disable

也就是说flashall 参数,把手机的boot, recovery, system 一起给刷进系统中,而-w参数 清除了手机userdata和cache的数据,明白了这个后,我顿时就犯贱了下, 写了下面的脚本,一个个慢慢刷进去系统中。
如下:
#!/bin/sh


fastboot devices


fastboot flash userdata userdata.img
fastboot reboot-bootloader
sleep 5


fastboot flash boot boot.img
fastboot reboot-bootloader
sleep 5


fastboot erase recovery
fastboot flash recovery recovery.img
fastboot reboot-bootloader
sleep 5


fastboot flash system system.img

参考:
http://source.android.com/source/building-devices.html
http://blog.csdn.net/june5253/article/details/8560557

你可能感兴趣的:(Nexus S Flash Custom Rom)