[Xperia SP Original Android Development] TechnoSparks:
Alternative Way to Install: Without recovery, right on your device

Sorry

But this method is no longer suitable for you to follow. Though it is archived below, I would recommend for you to use an alternative. I have a signed Tangerine 7.1 zip for you to flash in CyanogenRecovery, if you are dealing with the same problem as mine (described in the archive below).

Archived content of this post

Alternative Way to Install: Without recovery, right on your device

Important Notes

This post was created back when it was 7.1 and no one never expected that the upcoming kernel would be using AnyKernel. Using an old version of tangerine is not a good practise, so only use this method for other intention. For example, if you dont want to use cyanogen recovery and want to have another recovery to perform something else. No, there will be no compatible script for the 8.0+ version of Tangerine, my shell scripting knowledge doesn't cover the complexity of AnyKernel!

Requirements

Terminal Emulator

My archive fully extracted

Patience in typing in commands

A brave soul

Responsibility

Well, I do want to help people that faces this problem so that they can get their device back on track. But the problem is, I took the risk doing this thing, and I am completely aware of the possible danger it can produce to me. However I continued anyway.

I succeeded, and it works for me.

So this is a tested method and it can pretty much work well on yours too. However, still, you are doing this with your sane mind and you are of course doing this by your own choice. Let's just keep the disclaimer short. By following this method you are acknowledged that I am in no way responsible for anything happening on your device.

Continue if you agreed.

Download

Download my archive containing the old 7.1 elf and modules: CubeServer

NOTE: This zip is not intended to be flashed in recovery! It won't work.

Steps to follow

Extract the downloaded zip file.

Open Terminal Emulator

Get superuser level for your current shell. To do so, execute

su

cd into the folder of which you have extracted the zip. Assuming you extracted into your external SD card, the command should look like this

cd '/storage/sdcard1/ts-tangerine'

Execute the shell script.

sh flash.sh

Follow the text appearing on the terminal window.

Flash the newest version Tangerine kernel by rebooting into recovery and flash the zip of it.

Post-method Notes

After completing any of the above methods, you should now be running Tangerine kernel and the modules are in place as well.

If for some reason you don't want to run a Kernel based on this method, you can flash the official Tangerine zip after rebooting.

Nothing is wrong, everything will work fine.

This does not revert the FOTAkernel. Actually it will not even touch FOTAkernel. If you want to flash stock FOTAkernel, how about going to my thread here: http://xdaforums.com/xperia-sp/general/stock-components-flashable-zips-t3184111

You might want to save a copy of the zip or files in your device

for emergency use

.

You may look into the contents of flash.sh if you feel suspicious of my script.

Thank this post

... and make me happy! :D I hope this would be beneficial for some who are in need.

And thanks to [MENTION=5727088]Tomoms[/MENTION] for the great kernel! Give the first post a thank too!

Questions?

If you have any questions please mention me by typing in [MENTION=5765352]TechnoSparks[/MENTION] in Tangerine's Q&A thread. This thread is for development related things only. :)

Want to read a story?

So, you were a happy person as you have downloaded a ROM and decided to use Tangerine as a kernel. You rebooted your device into recovery with a joyful heart. You reached your recovery and flashed the files. Then you reboot. However, something is wrong.. Tangerine boot logo is not there. You felt worried. You rebooted again to recovery, wishing to flash Tangerine. However it was too late, the pitiful Cyanogen recovery has infected your mighty device. You tried to flash Tangerine, Cyanogen recovery says "**** you. That **** is not signed. You better **** off and better flash something that is ****ing signed!"*. "Okay" you said. "I will flash a recovery using Rashr". You rebooted, and installed Rashr. You selected PhilZ and flash it. Rashr says it is done, and you felt a huge relief. You attempted reboot, and boom, Cyanogen recovery says hi again. You felt angry and rebooted again. You tried and tried and tried but it is still the Cyanogen recovery. You were doomed as there is no PC near you to flash Tangerine through fastboot. In simple words, you are ****ed.

This might not happen to you, but it did to me. :(

* Error text may be different in your situation lol

How did I take the risk

I actually did the wrong thing when I was at my hometown, where there is completely no internet connection, extremely weak mobile reception and worse of all no one with a computer! While I was suffering with the kernel problem, I tried things that could potentially soft-brick the SP. At first I tried flashing recovery with Rashr many times but no avail. I then use my brain extensively until I had the idea of exploring the update-script from within the Tangerine zip. I found out that the zip should extract the elf into the /dev. What I did was quite stupid lel. As I understood "package-extract" works like "cp", I renamed tangerine.elf into "Kernel" and replaced the one in "/dev/block/platform/msm_sdcc.1/by-name/Kernel". I rebooted but it still fails! Then, still confused, I explored Rashr and found out that you can view logs. As I inspect the log, I can see the function "dd". It seemed Rashr "dd"ed the PhilZ img to "/dev/block/platform/msm_sdcc.1/by-name/FOTAkernel". This makes my mind explode and then I wrote the same thing in my terminal, with the things I modified is the source file and the target file. I then reboot while hoping it will work like crazy, then it happens the tangerine logo appears!!!!! I couldn't believe it freakin worked! To make things more interesting, I struggled with this for like 5 hours. Ugh. I am so glad it worked.

​