{"id":3033,"date":"2015-12-13T15:48:01","date_gmt":"2015-12-13T23:48:01","guid":{"rendered":"http:\/\/www.psychocats.net\/ubuntucat\/?p=3033"},"modified":"2016-03-10T17:23:45","modified_gmt":"2016-03-11T01:23:45","slug":"manually-installing-an-ota-update-for-the-nexus-5x","status":"publish","type":"post","link":"https:\/\/www.psychocats.net\/ubuntucat\/manually-installing-an-ota-update-for-the-nexus-5x\/","title":{"rendered":"Manually installing an OTA update for the Nexus 5x"},"content":{"rendered":"<p>In theory, your device should automatically check for an OTA (over-the-air) update, download it in the background, and then prompt you to install the update. No matter how much I manually checked, my device kept insisting it was up to date (I know Google likes to do staggered automatic rollouts, but it&#8217;s just annoying when I manually initiate a check and Google still insists on not giving me the update).<\/p>\n<p>These are just slightly more detailed step-by-step instructions based on <a href=\"http:\/\/www.androidheadlines.com\/2015\/12\/android-6-0-1-marshmallow-ota-links-for-sideloading.html\" target=\"_blank\">Android 6.0.1 Marshmallow OTA Links for Sideloading<\/a>. <a href=\"https:\/\/gist.github.com\/jduck\/744a6c8a9042e9c792b7\" target=\"_blank\">This GitHub page has a list of OTA updates for Nexus devices.<\/a> Find the download for your device. I&#8217;m using my device (Nexus 5x) as an example. In theory, the instructions should be very similar for other Nexus devices.<\/p>\n<h2>Find your device&#8217;s build number<\/h2>\n<p style=\"text-decoration: line-through;\">There are two different 6.0 builds for the Nexus 5x (MDB08L and MDB08M). To find out which one was mine, I had to go to <strong>Settings<\/strong> > <strong>About phone<\/strong> > <strong>Build number<\/strong> to find out my build was MDB08L.\n<\/p>\n<p>For the U.S. version of the Nexus 5x, the upgrade is <a href=\"https:\/\/android.googleapis.com\/packages\/ota\/google_bullhead_bullhead\/e0552196307d4f04d41a74e9cfbd2e67f9ea3de8.signed-bullhead-MHC19J-from-MMB29Q.zip\" target=\"_blank\">MHC19J from MMB29Q<\/a>.<\/p>\n<h2>Enable USB debugging<\/h2>\n<p>\nWhile you&#8217;re in the About phone section, tap the <strong>Build number<\/strong> and keep tapping it until you get a notification that developer options are now enabled. Then go to <strong>Settings<\/strong> > <strong>Developer options<\/strong> and scroll down until you get to <strong>USB debugging<\/strong> and tap the toggle next to it to enable it.\n<\/p>\n<h2>Get the Android SDK<\/h2>\n<p>Google used to have an easy-to-find SDK download link. Now it points you to <a href=\"http:\/\/developer.android.com\/sdk\/index.html\" target=\"_blank\">Android Studio<\/a> instead, which you can use to install the SDK using SDK Manager if you go to <strong>Tools<\/strong> > <strong>Android<\/strong> > <strong>SDK Manager<\/strong>. You may, somewhere on the Android developer website be able to track down a standalone SDK download if you dig around enough.\n<\/p>\n<p>It took me a while to find exactly where the SDK installed to. Eventually, I found it it was installed to <strong>\/Users\/<em>username<\/em>\/Library\/Android\/sdk\/platform-tools<\/strong> (I&#8217;m using a Mac&mdash;it&#8217;s probably a similar path for Windows, maybe in \/Users\/<em>username<\/em>\/AppData?).<\/p>\n<h2>Do the actual flashing of the OTA<\/h2>\n<p><em><strong>Disclaimer<\/strong>: Uh, these instructions worked for me, but absolutely this is at your own risk. I&#8217;m not at all responsible (nor is the person who wrote the tutorial on which this is based) for any damage you might do to your device.<\/em><\/p>\n<p>Open up a terminal (again, I&#8217;m using a Mac, so it&#8217;s in \/Applications\/Utilities\/Terminal.app; if you&#8217;re using Windows, find cmd.exe and launch that up instead).<\/p>\n<p>At this point, plug your device into your computer using a USB cable. You may have to switch to PTP mode to get it to work.<\/p>\n<p>Change directories to where <em>adb<\/em> is:<\/p>\n<div class=\"terminal\">cd \/Users\/<em>username<\/em>\/Library\/Android\/sdk\/platform-tools<\/div>\n<p>Substitute in your actual username for <em>username<\/em>. And don&#8217;t forget you can use the Tab key to autocomplete directory names instead of manually typing out the full path.<\/p>\n<p>Make sure your device shows up in the list of devices:<\/p>\n<div class=\"terminal\">\n.\/adb devices<\/div>\n<\/p>\n<p>Reboot to the bootloader:<\/p>\n<div class=\"terminal\">\n.\/adb reboot bootloader\n<\/div>\n<p>Use the volume down key to focus on <strong>Recovery<\/strong>. Once that&#8217;s in focus, press the power button to select it.<\/p>\n<p>You&#8217;ll see what looks like an error and a dead Android lying on its back. Press the volume up key and power buttons at the same time until you get to a list of menu options.<\/p>\n<p>Use the volume down key until you get <strong>Apply update from ADB<\/strong> into focus. Then press the power button to select it.<\/p>\n<p>You should then see a message that says <strong>Now send the package you want to apply to the device with &#8220;adb sideload <filename>.<\/strong>&#8220;<\/p>\n<p>Back on your computer, enter a command similar to this one (again, Tab completion is your friend&mdash;you don&#8217;t want to manually retype the full filename of the OTA update you downloaded:<\/p>\n<div class=\"terminal\">.\/adb sideload ~\/Downloads\/f67821b18f5a3bc6552039f0997fc9511f05c2c3.signed-bullhead-MMB29K-from-MDB08L.zip<\/div>\n<\/p>\n<p>You&#8217;ll then see output similar to this in the terminal on your computer:<\/p>\n<div class=\"terminal\">\nloading: <br \/>&#8216;\/Users\/<em>username<\/em>\/Downloads\/f67821b18f5a3bc6552039f0997fc9511f05c2c3.signed-serving:<br \/> &#8216;\/Users\/<em>username<\/em>\/Downloads\/f67821b18f5a3bc6552039f0997fc9511f05c2c3.signed-serving: <br \/>&#8216;\/Users\/<em>username<\/em>\/Downloads\/f67821b18f5a3bc6552039f0997fc9511f05c2c3.signed-serving:<br \/> &#8216;\/Users\/<em>username<\/em>\/Downloads\/f67821b18f5a3bc6552039f0997fc9511f05c2c3.signed-serving: <br \/>&#8221;\/Users\/<em>username<\/em>\/Downloads\/f67821b18f5a3bc6552039f0997fc9511f05c2c3.signed-Total xfer: 2.12x<\/div>\n<p>with little progress percentages going up along the way.<\/p>\n<p>Meanwhile, on your phone\/Android device, you&#8217;ll see output similar to this:<\/p>\n<div class=\"terminal\">\nFinding update package&#8230;<br \/>\nOpening update package&#8230;<br \/>\nVerifying update package&#8230;<br \/>\nInstalling update&#8230;<br \/>\nSource: google\/bullhead\/bullhead:6.0\/MMB29Q\/#######:user\/release-keys<br \/>\nTarget: google\/bullhead\/bullhead:6.0.1\/MHC19J\/#######:user\/release-keys<br \/>\nVerifying current system&#8230;<br \/>\nVerified system image&#8230;<br \/>\nVerified vendor image&#8230;<br \/>\nPatching system image after verification.<br \/>\nVerifying the updated system image&#8230;<br \/>\nVerified the updated system image.<br \/>\nPatching vendor image after verification.<br \/>\nVerifying the updated vendor image&#8230;<br \/>\nVerified the updated vendor image.<br \/>\nPatching the boot image&#8230;<br \/>\nWriting bootloader&#8230;<br \/>\nPatching radio&#8230;<br \/>\nscript succeeded: result was [1.000000]<\/p>\n<p>Install from ADB complete.\n<\/p><\/div>\n<p>When that&#8217;s done, use the volume up key to highlight <strong>Reboot system now<\/strong> and then press the power button to select it.\n<\/p>\n<p>After your device reboots, you should see something like <strong>Android is upgrading&#8230;<br \/>\nOptimising app # of 66<\/strong>.<\/p>\n<p>That&#8217;s it! Your update should now be installed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In theory, your device should automatically check for an OTA (over-the-air) update, download it in the background, and then prompt you to install the update. No matter how much I manually checked, my device kept insisting it was up to date (I know Google likes to do staggered automatic rollouts, but it&#8217;s just annoying when&hellip; <a class=\"more-link\" href=\"https:\/\/www.psychocats.net\/ubuntucat\/manually-installing-an-ota-update-for-the-nexus-5x\/\">Continue reading <span class=\"screen-reader-text\">Manually installing an OTA update for the Nexus 5x<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[948,641,405,193,810,934,933,949],"class_list":["post-3033","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-adb","tag-android","tag-flash","tag-mac","tag-nexus","tag-nexus-5x","tag-ota","tag-sdk","entry"],"_links":{"self":[{"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/posts\/3033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/comments?post=3033"}],"version-history":[{"count":11,"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/posts\/3033\/revisions"}],"predecessor-version":[{"id":3080,"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/posts\/3033\/revisions\/3080"}],"wp:attachment":[{"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/media?parent=3033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/categories?post=3033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.psychocats.net\/ubuntucat\/wp-json\/wp\/v2\/tags?post=3033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}