Skip to main content

Applying Jelly Bean OTA on your Nexus S

The official Nexus S OTA file for i9023 is now out!

Google OTA file
(MD5 – 12c718dbda2565609db45c9631a25adc)

I had used the Nexus S 4.0.4 factory images for my phone and left the boot loader unlocked. Unfortunately, the instructions for applying the official OTA apply only to those on boot-locked stock recovery or custom recovery. I tried doing it but got the "apply_patch_check assert failed" error message. You might want to try it first if you are on stock.

Just a tip for going to the recovery menu on stock ROM:

1. While phone is off, press Power and Volume Up continuously until the fastboot screen appears.
2. Press volume down to select Recovery, then press Power to select.
3. The phone will reboot, show the Google logo and show a robot with a red exclamation point.
4. Press Volume Up, then Power to go the recovery menu. I thought the the robot with the red exclamation was an error. Also make sure you press Volume Up first, then Power and not vice versa, otherwise nothing will happen.

I didn't want to lock my boot loader using "fastboot oem lock" because it would wipe my phone so I decided to flash a custom recovery ROM and then apply the OTA update manually.

The Cyanogenmod wiki has the best instructions for doing this. You'll need the SDK for this.

Once the custom recovery was flashed, I powered off, then reboot to recovery (Power+Volume Up). Select the apply update.zip. The update should proceed smoothly and reboot on Jelly Bean. Upon first boot, there will be an update message but all your apps and data should be intact.

Comments

Popular posts from this blog

Get uptime alerts in Telegram

You will be configuring 3 services. The assumption is that you have accounts already for these services. UptimeRobot — source of the uptime/downtime notifications. It currently supports email, Twitter, Slack, Pushover, Pushbullet and others but not Telegram. We will use the webhook notification as the way to send messages to Telegram. IFTTT — bridges UptimeRobot and Telegram by providing the webhook for UptimeRobot and triggering a message to Telegram. In IFTTT terminology: IF {event trigger from UptimeRobot}, then {send message to Telegram group} Telegram — destination of the notification. You will need to create a group for this. Telegram Configuration In Telegram, create a new group, if needed. You may opt to use an existing group. Go to @IFTTT and follow the instruction so link your Telegram account to your IFTTT account. Send /connect_group to @IFTTT and connect the group where you want to send the notifications. IFTTT Configuration Sign in to IFTTT and add a ne

Activating NDD on your Globe landline

NDD and IDD is not available by default on your new Globe landline to protect you from inadvertent charges due to calls to mobile phones and long distance numbers. Note that these instructions are for Metro Manila accounts. To activate NDD, you need call 730-1000. The problem is, an Interactive Voice Response (IVR) menu greets you at that number and there is no menu option to activate NDD. There is also no easy way to get to a human in the options. For credit card companies, I always use the "Report a lost card" option to reach an agent immediately. It appears there is no such shortcut with Globe's number. After several attempts at the menus, the way I got to an agent was to pretend to customize my plan and select the option that says the information is not helpful. Here's the guide: 730-1000 IVR Menu: 1 - English 1 - Globelines 1 - Customize your plan 1 - Customize your plan 2 - Not helpful 1- Talk to a customer agent It will take about 3 minutes for the

CI/CD for .NET Core

If you have a .NET API that you want to containerize, here are the steps to prepare it. Create docker image Push to repository Setup ECS The TLS 1.0 option is needed if your SQL Server database does not support TLS 1.2. The recommended option is to update your database to the secure protocol. You may also change sdk and aspnet version to 5.0 if you haven't updated to 6.0 yet. This Dockerfile uses a multi-stage build to get an optimal image size. Dockerfile FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env WORKDIR /app # Copy csproj and restore as distinct layers COPY *.csproj ./ RUN dotnet restore # Copy everything else and build COPY . ./ RUN dotnet publish -c Release -o out # Build runtime image FROM mcr.microsoft.com/dotnet/aspnet:6.0 WORKDIR /app # Enable TLS 1.0 RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /etc/ssl/openssl.cnf RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@