Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 1 | <!-- |
| 2 | Copyright 2010 The Android Open Source Project |
| 3 | |
| 4 | Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | you may not use this file except in compliance with the License. |
| 6 | You may obtain a copy of the License at |
| 7 | |
| 8 | http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | |
| 10 | Unless required by applicable law or agreed to in writing, software |
| 11 | distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | See the License for the specific language governing permissions and |
| 14 | limitations under the License. |
| 15 | --> |
| 16 | |
| 17 | # Building for devices # |
| 18 | |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 19 | This page complements the main page about [Building](building.html) with |
| 20 | information that is specific to individual devices. |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 21 | |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 22 | The supported devices with the current release are the Galaxy Nexus, Motorola |
| 23 | Xoom, and Nexus S. |
| 24 | |
| 25 | Galaxy Nexus is supported both in GSM/HSPA+ configuration "maguro" and in |
| 26 | CDMA/LTE configuration "toro". The GSM/HSPA+ configuration is only supported |
| 27 | if it was originally sold with a "yakju" operating system. |
| 28 | |
| 29 | The Motorola Xoom is supported in the configurations sold in the USA, |
| 30 | in both variants: Wi-Fi only "wingray" and CDMA or CDMA/LTE "stingray". |
| 31 | |
| 32 | Nexus S is supported, both in the GSM configuration "crespo" and in the |
| 33 | CDMA/WiMAX configuration "crespo4g". |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 34 | |
| 35 | In addition, [PandaBoard](http://pandaboard.org) a.k.a. "panda" is supported |
| 36 | in the master branch only, but is currently considered experimental. |
| 37 | The specific details to use a PandaBoard with the Android Open-Source Project |
| 38 | are in the file `device/ti/panda/README` in the source tree. |
| 39 | |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 40 | Nexus One a.k.a. "passion" is obsolete, was experimental in gingerbread and |
| 41 | unsupported, and can't be used with newer versions of the Android Open-Source |
| 42 | Project. |
| 43 | |
| 44 | Android Developer Phones (ADP1 and ADP2, a.k.a. "dream" and "sapphire") are |
| 45 | obsolete, were experimental and unsupported in froyo, and can't be used with |
| 46 | newer versions of the Android Open-Source Project. |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 47 | |
| 48 | ## Building fastboot and adb ## |
| 49 | |
| 50 | If you don't already have those tools, fastboot and adb can be built with |
| 51 | the regular build system. Follow the instructions on the page about |
| 52 | [building](building.html), and replace the main `make` command with |
| 53 | |
| 54 | $ make fastboot adb |
| 55 | |
| 56 | ## Booting into fastboot mode ## |
| 57 | |
| 58 | During a cold boot, the following key combinations can be used to boot into fastboot mode, |
| 59 | which is a mode in the bootloader that can be used to flash the devices: |
| 60 | |
| 61 | Device | Keys |
| 62 | ---------|------ |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 63 | maguro | Press and hold both *Volume Up* and *Volume Down*, then press and hold *Power* |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 64 | toro | Press and hold both *Volume Up* and *Volume Down*, then press and hold *Power* |
Conley Owens | 9aaa52a | 2012-02-03 14:13:27 -0800 | [diff] [blame^] | 65 | panda | Press and hold *Input*, then press *Power* |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 66 | wingray | Press and hold *Volume Down*, then press and hold *Power* |
| 67 | stingray | Press and hold *Volume Down*, then press and hold *Power* |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 68 | crespo | Press and hold *Volume Up*, then press and hold *Power* |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 69 | crespo4g | Press and hold *Volume Up*, then press and hold *Power* |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 70 | passion | Press and hold the trackball, then press *Power* |
| 71 | sapphire | Press and hold *Back*, then press *Power* |
| 72 | dream | Press and hold *Back*, then press *Power* |
| 73 | |
| 74 | Also, on devices running froyo or later where adb is enabled, |
| 75 | the command `adb reboot bootloader` can be used to reboot from |
| 76 | Android directly into the bootloader with no key combinations. |
| 77 | |
| 78 | ## Unlocking the bootloader ## |
| 79 | |
| 80 | It's only possible to flash a custom system if the bootloader allows it. |
| 81 | |
| 82 | This is the default setup on ADP1 and ADP2. |
| 83 | |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 84 | On Nexus One, Nexus S, Nexus S 4G, Xoom, and Galaxy Nexus, |
| 85 | the bootloader is locked by default. With the device in fastboot mode, the |
| 86 | bootloader is unlocked with |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 87 | |
| 88 | $ fastboot oem unlock |
| 89 | |
| 90 | The procedure must be confirmed on-screen, and deletes the user data for |
| 91 | privacy reasons. It only needs to be run once. |
| 92 | |
Jean-Baptiste Queru | 93afea9 | 2011-12-16 18:25:07 -0800 | [diff] [blame] | 93 | Note that on the Nexus S, Nexus S 4G, Motorola Xoom and on Galaxy Nexus, |
| 94 | all data on the phone is erased, i.e. both the applications' private data |
| 95 | and the shared data that is accessible over USB, including photos and |
| 96 | movies. Be sure to make a backup of any precious files you have before |
| 97 | unlocking the bootloader. |
| 98 | |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 99 | On Nexus One, the operation voids the warranty and is irreversible. |
| 100 | |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 101 | On Nexus S, Nexus S 4G, Xoom, and Galaxy Nexus, |
| 102 | the bootloader can be locked back with |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 103 | |
| 104 | $ fastboot oem lock |
| 105 | |
Jean-Baptiste Queru | 93afea9 | 2011-12-16 18:25:07 -0800 | [diff] [blame] | 106 | Note that this erases user data on Xoom (including the shared USB data). |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 107 | |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 108 | ## Obtaining proprietary binaries ## |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 109 | |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 110 | Starting with IceCreamSandwich, the Android Open-Source Project can't be used |
| 111 | from pure source code only, and requires additional hardware-related proprietary |
| 112 | libraries to run, specifically for hardware graphics acceleration. |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 113 | |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 114 | Official binaries for Nexus S, Nexus S 4G, Galaxy Nexus, and PandaBoard can be |
| 115 | downloaded from |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 116 | [Google's Nexus driver page](http://code.google.com/android/nexus/drivers.html), |
| 117 | which add access to additional hardware capabilities with non-Open-Source code. |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 118 | |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 119 | There are no official binaries for Nexus One, ADP2 or ADP1. |
| 120 | |
| 121 | ### Extracting the proprietary binaries ### |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 122 | |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 123 | Each set of binaries comes as a self-extracting script in a compressed archive. |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 124 | After uncompressing each archive, run the included self-extracting script |
| 125 | from the root of the source tree, confirm that you agree to the terms of the |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 126 | enclosed license agreement, and the binaries and their matching makefiles |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 127 | will get installed in the `vendor/` hierarchy of the source tree. |
| 128 | |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 129 | There's an additional step on Nexus S 4G. Build the signapk tool with |
| 130 | |
| 131 | $ make signapk |
| 132 | |
| 133 | Then reassemble the proprietary applicatons with |
| 134 | |
| 135 | $ vendor/samsung/crespo4g/reassemble-apks.sh |
| 136 | |
| 137 | ### Cleaning up when adding proprietary binaries ### |
| 138 | |
| 139 | In order to make sure that the newly installed binaries are properly |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 140 | taken into account after being extracted, the existing output of any previous |
| 141 | build needs to be deleted with |
| 142 | |
| 143 | $ make clobber |
| 144 | |
| 145 | ## Picking and building the configuration that matches a device ## |
| 146 | |
| 147 | The steps to configure and build the Android Open-Source Project |
| 148 | are described in the page about [Building](building.html). |
| 149 | |
| 150 | The recommended builds for the various devices are available through |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 151 | the lunch menu, accessed when running the `lunch` command with no arguments: |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 152 | |
Jean-Baptiste Queru | 37234a5 | 2011-05-19 15:24:54 -0700 | [diff] [blame] | 153 | Device | Branch | Build configuration |
| 154 | ---------|------------------|------------------------ |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 155 | maguro | android-4.0.3_r1 | full_maguro-userdebug |
| 156 | toro | android-4.0.3_r1 | full_toro-userdebug |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 157 | panda | master | full_panda-eng |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 158 | wingray | android-4.0.3_r1 | full_wingray-userdebug |
| 159 | stingray | android-4.0.3_r1 | full_stingray-userdebug |
| 160 | crespo | android-4.0.3_r1 | full_crespo-userdebug |
| 161 | crespo4g | android-4.0.3_r1 | full_crespo4g-userdebug |
Jean-Baptiste Queru | 8b20337 | 2011-11-08 17:54:35 -0800 | [diff] [blame] | 162 | passion | android-2.3.6_r1 | full_passion-userdebug |
Jean-Baptiste Queru | 37234a5 | 2011-05-19 15:24:54 -0700 | [diff] [blame] | 163 | sapphire | android-2.2.2_r1 | full_sapphire-userdebug |
| 164 | dream | android-2.2.2_r1 | full_dream-userdebug |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 165 | |
| 166 | ## Flashing a device ## |
| 167 | |
| 168 | Set the device in fastboot mode if necessary (see above). |
| 169 | |
| 170 | Because user data is typically incompatible between builds of Android, |
| 171 | it's typically better to delete it when flashing a new system. |
| 172 | |
| 173 | $ fastboot erase cache |
| 174 | $ fastboot erase userdata |
| 175 | |
| 176 | An entire Android system can be flashed in a single command: this writes |
Jean-Baptiste Queru | ccdda52 | 2011-05-19 10:47:27 -0700 | [diff] [blame] | 177 | the boot, recovery and system partitions together after verifying that the |
Jean-Baptiste Queru | 61745ea | 2011-09-08 14:44:15 -0700 | [diff] [blame] | 178 | system being flashed is compatible with the installed bootloader and radio, |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 179 | and reboots the system. |
| 180 | |
| 181 | $ fastboot flashall |
| 182 | |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 183 | On all devices except passion, |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 184 | the commands above can be replaced with a single command |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 185 | |
| 186 | $ fastboot -w flashall |
| 187 | |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 188 | Note that filesystems created via fastboot on Motorola Xoom aren't working |
| 189 | optimally, and it is strongly recommended to re-create them through recovery |
| 190 | |
| 191 | $ adb reboot recovery |
| 192 | |
| 193 | Once in recovery, open the menu (press Power + Volume Up), wipe the cache |
| 194 | partition, then wipe data. |
| 195 | |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 196 | ### Nexus S, Nexus S 4G and Galaxy Nexus Bootloader and Cell Radio compatibility ### |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 197 | |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 198 | On Nexus S, Nexus S 4G, and Galaxy Nexus, each version of Android has only |
| 199 | been thoroughly tested with on specific version of the underlying bootloader |
| 200 | and cell radio software. |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 201 | However, no compatibility issues are expected when running newer systems |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 202 | with older bootloaders and radio images according to the following tables. |
| 203 | |
Jean-Baptiste Queru | a5dca36 | 2011-05-18 10:39:08 -0700 | [diff] [blame] | 204 | Nexus S (worldwide version "XX"): |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 205 | |
| 206 | Android Version | Preferred Bootloader | Preferred Radio | Also possible |
| 207 | ----------------|----------------------|-----------------|-------------- |
Jean-Baptiste Queru | cd9c693 | 2011-06-21 07:55:12 -0700 | [diff] [blame] | 208 | 2.3 (GRH55) | I9020XXJK1 | I9020XXJK8 |
| 209 | 2.3.1 (GRH78) | I9020XXJK1 | I9020XXJK8 |
| 210 | 2.3.2 (GRH78C) | I9020XXJK1 | I9020XXJK8 |
| 211 | 2.3.3 (GRI40) | I9020XXKA3 | I9020XXKB1 | All previous versions |
| 212 | 2.3.4 (GRJ22) | I9020XXKA3 | I9020XXKD1 | All previous versions |
Jean-Baptiste Queru | 623cc2f | 2011-07-30 18:43:45 -0700 | [diff] [blame] | 213 | 2.3.5 (GRJ90) | I9020XXKA3 | I9020XXKF1 | All previous versions |
Jean-Baptiste Queru | cac01c1 | 2011-09-28 17:26:00 -0700 | [diff] [blame] | 214 | 2.3.6 (GRK39F) | I9020XXKA3 | I9020XXKF1 | All previous versions |
Jean-Baptiste Queru | c95d7e6 | 2011-12-16 09:57:16 -0800 | [diff] [blame] | 215 | 4.0.3 (IML74K) | I9020XXKL1 | I9020XXKI1 | All previous versions |
Jean-Baptiste Queru | b4d39b4 | 2011-04-11 13:53:58 -0700 | [diff] [blame] | 216 | |
Jean-Baptiste Queru | a5dca36 | 2011-05-18 10:39:08 -0700 | [diff] [blame] | 217 | Nexus S (850MHz version "UC"): |
| 218 | |
| 219 | Android Version | Preferred Bootloader | Preferred Radio | Also possible |
| 220 | ----------------|----------------------|-----------------|-------------- |
Jean-Baptiste Queru | cd9c693 | 2011-06-21 07:55:12 -0700 | [diff] [blame] | 221 | 2.3.3 (GRI54) | I9020XXKA3 | I9020UCKB2 |
| 222 | 2.3.4 (GRJ22) | I9020XXKA3 | I9020UCKD1 | All previous versions |
Jean-Baptiste Queru | 623cc2f | 2011-07-30 18:43:45 -0700 | [diff] [blame] | 223 | 2.3.5 (GRJ90) | I9020XXKA3 | I9020UCKF1 | All previous versions |
Jean-Baptiste Queru | cac01c1 | 2011-09-28 17:26:00 -0700 | [diff] [blame] | 224 | 2.3.6 (GRK39C) | I9020XXKA3 | I9020UCKF1 | All previous versions |
| 225 | 2.3.6 (GRK39F) | I9020XXKA3 | I9020UCKF1 | All previous versions |
Jean-Baptiste Queru | c95d7e6 | 2011-12-16 09:57:16 -0800 | [diff] [blame] | 226 | 4.0.3 (IML74K) | I9020XXKL1 | I9020UCKF1 | All previous versions |
Jean-Baptiste Queru | a5dca36 | 2011-05-18 10:39:08 -0700 | [diff] [blame] | 227 | |
| 228 | Nexus S (Korea version "KR"): |
| 229 | |
| 230 | Android Version | Preferred Bootloader | Preferred Radio | Also possible |
| 231 | ----------------|----------------------|-----------------|-------------- |
Jean-Baptiste Queru | cd9c693 | 2011-06-21 07:55:12 -0700 | [diff] [blame] | 232 | 2.3.3 (GRI54) | I9020XXKA3 | I9020KRKB3 |
| 233 | 2.3.4 (GRJ22) | I9020XXKA3 | M200KRKC1 | All previous versions |
Jean-Baptiste Queru | 623cc2f | 2011-07-30 18:43:45 -0700 | [diff] [blame] | 234 | 2.3.5 (GRJ90) | I9020XXKA3 | M200KRKC1 | All previous versions |
Jean-Baptiste Queru | cac01c1 | 2011-09-28 17:26:00 -0700 | [diff] [blame] | 235 | 2.3.6 (GRK39F) | I9020XXKA3 | M200KRKC1 | All previous versions |
Jean-Baptiste Queru | c95d7e6 | 2011-12-16 09:57:16 -0800 | [diff] [blame] | 236 | 4.0.3 (IML74K) | I9020XXKL1 | M200KRKC1 | All previous versions |
Jean-Baptiste Queru | a5dca36 | 2011-05-18 10:39:08 -0700 | [diff] [blame] | 237 | |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 238 | Nexus S 4G: |
| 239 | |
| 240 | Android Version | Preferred Bootloader | Preferred Radio | Also possible |
| 241 | ----------------|----------------------|-----------------|-------------- |
| 242 | 2.3.4 (GRJ06D) | D720SPRKC5 | D720SPRKC9 |
| 243 | 2.3.4 (GRJ22) | D720SPRKC5 | D720SPRKD8 | All previous versions |
Jean-Baptiste Queru | 623cc2f | 2011-07-30 18:43:45 -0700 | [diff] [blame] | 244 | 2.3.5 (GRJ90) | D720SPRKC5 | D720SPRKE5 | All previous versions |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 245 | 2.3.7 (GWK74) | D720SPRKE1 (*) | D720SPRKH1 | All previous versions |
Jean-Baptiste Queru | c95d7e6 | 2011-12-16 09:57:16 -0800 | [diff] [blame] | 246 | 4.0.3 (IML74K) | D720SPRKE1 (*) | D720SPRKL1 | All previous versions |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 247 | |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 248 | Galaxy Nexus (GSM/HSPA+): |
| 249 | |
| 250 | Android Version | Preferred Bootloader | Preferred Radio | Also possible |
| 251 | ----------------|----------------------|-----------------|-------------- |
| 252 | 4.0.1 (ITL41D) | PRIMEKJ10 | I9250XXKK1 |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 253 | 4.0.2 (ICL53F) | PRIMEKK15 | I9250XXKK6 | All previous versions |
Jean-Baptiste Queru | c95d7e6 | 2011-12-16 09:57:16 -0800 | [diff] [blame] | 254 | 4.0.3 (IML74K) | PRIMEKL01 | I9250XXKK6 | All previous versions |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 255 | |
| 256 | Galaxy Nexus (CDMA/LTE): |
| 257 | |
| 258 | Android Version | Preferred Bootloader | Preferred Radio | Preferred CDMA Radio | Also possible |
| 259 | ----------------|----------------------|-----------------|----------------------|-------------- |
| 260 | 4.0.1 (ITL41D) | PRIMEKJ10 | I515.EK02 | I515.EK01 |
| 261 | 4.0.2 (ICL53F) | PRIMEKK15 | I515.EK02 | I515.EK05 | All previous versions |
Jean-Baptiste Queru | c95d7e6 | 2011-12-16 09:57:16 -0800 | [diff] [blame] | 262 | 4.0.3 (IML74K) | PRIMEKL01 | I515.EK04 | I515.EK06 | All previous versions |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 263 | |
| 264 | If you're building a new version of Android, if your Nexus S, Nexus S 4G or |
| 265 | Galaxy Nexus has |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 266 | an older bootloader and radio image that is marked as being also possible in |
Jean-Baptiste Queru | a5dca36 | 2011-05-18 10:39:08 -0700 | [diff] [blame] | 267 | the table above but is not recognized by fastboot, you can locally |
Jean-Baptiste Queru | 5da7539 | 2011-05-17 14:32:56 -0700 | [diff] [blame] | 268 | delete the `version-bootloader` and `version-baseband` lines in |
Jean-Baptiste Queru | 3e466b0 | 2011-10-06 14:34:00 -0700 | [diff] [blame] | 269 | `device/samsung/crespo/board-info.txt` or |
| 270 | `device/samsung/crespo4g/board-info.txt` or |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 271 | `device/samsung/maguro/board-info.txt` or |
| 272 | `device/samsung/toro/board-info.txt` |
Jean-Baptiste Queru | cac01c1 | 2011-09-28 17:26:00 -0700 | [diff] [blame] | 273 | |
Jean-Baptiste Queru | 35f5101 | 2011-12-14 09:32:22 -0800 | [diff] [blame] | 274 | (*) As a note, bootloader version D720SPRKE1 for Nexus S 4G erroneously |
| 275 | reports version D720SPRKE1 as the baseband version instead of the true baseband |
| 276 | version after flashing a new baseband firmware. To make it report the proper |
| 277 | version again, the phone needs to be powered down, then booted all the way to |
| 278 | Android, then rebooted to the bootloader. |
| 279 | |
| 280 | ## Activating the CDMA radio ## |
| 281 | |
| 282 | On the CDMA variant of the Motorola Xoom, the CDMA radio needs to be |
| 283 | manually re-activated after each factory reset. |
| 284 | |
| 285 | $ adb shell su root radiooptions 8 *22899 |
Jean-Baptiste Queru | 93afea9 | 2011-12-16 18:25:07 -0800 | [diff] [blame] | 286 | |
| 287 | ## Restoring a device to its original factory state ## |
| 288 | |
| 289 | Factory images for Galaxy Nexus are available from |
| 290 | [Google's factory image page](http://code.google.com/android/nexus/images.html). |
| 291 | |
| 292 | Factory images for the Motorola Xoom are distributed directly by Motorola. |
| 293 | |
| 294 | No factory images are available for Nexus S and Nexus One. |