Hi,
I know there are a lot of guides out there but you still might want to read it
What are the different things I need to know ?
Well you will hear three terms very often. Baseband, Kernel and the ROM. Lets see what they are.
Baseband :
A firmware to drive the radio (2G/3G) chipset in your phone. Most of the time you don't need to bother thinking about it. But you might need to upgrade this firmware in order to get optimum performance. Just think of it as something you won't need to apply unless explicitly specified. For you xperia neo v, you can find out the baseband version by going into phone info and looking up baseband version number. I have not flashed any baseband. I recommend if you have not rooted/flashed your phone, install the official sony update you'll get the latest baseband without any troubles, this is what I did. Although if you need to flash it, there are very many tutorials available on this forum. You can check out the flashtool androxyde . github . com / Flashtool (sorry for the spaces in the links. I can't post outside links because of some forum rules which don't make any sense whatsoever)
Kernel:
This is the Linux (android) kernel image that drives all the hardware. Always install (flash) the recommended kernel for any ROM. Installing kernel and ROM is an absolute must.
ROM:
This is the actual thing you see running on your phone. It consists of the modified android source, user interface tweaks, the apps and some under the hood modifications done by the ROM developer for ex. cyanogenmod.
Now lets setup you linux (ubuntu) install fo installing a custom ROM on your phone.
Follow this wiki : wiki. cyanogenmod. com / wiki / Howto:_Install_the_Android_SDK
Don't forget to setup Udev by making a file /etc/udev/rules.d/51-android.rules with contents as
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"
now restart your udev daemon by running "sudo restart udev".
Now yo have the necessary kernel and ROM flashing tools at your disposal. I am going to tell you how to achieve a fast and very battery efficient cyanogenmod install.
1) Download CM9 ROM and gapps(for google apps) from here
ROM: download. cyanogenmod. com /get / jenkins/4630/cm-9.0.0-RC2-haida.zip
Gapps: cmw. 22aaf3. com/gapps /gapps-ics-20120317-signed.zip
Copy these two zips to your phone's sd card.
2) Download night elf's kernel for cyanogenmod 9 from here mediafire. com /?nm7g0zid8aazfl1
3) Follow this guide wiki. cyanogenmod. com/wiki/Sony_Ericsson_Xperia_Neo:_Full_Update_Guide
But instead of flashing the kernel inside the zip, flash the night elf's kernel (just provide the path to night elf's kernel instead of the ROM's boot.img).
4) As told in the link given in above step flash both the zips. Before flashing you may also clear the Dalvik cache by going into advanced options in the recovery menu.
5) Reboot your phone. Don't turn off the GPS !!! There is a bug in CM9 RC2 which results in substantial hit on battery life. Just let it be. Anyways the GPS antenna is turned off unless any application is using it.
I am having approx more than two days of battery life with light/moderate usage (No data connection, occasional wifi).
CM9 may not be the best looking ROM. But I can assure you nothing beats it in the performance and the default setup (its very sane !!! No need to change anything at all). Also I only trust cyanogen community with all my very personal information (its my phone, it has everything !! ). If you need eye candy more and are comfortable with taking privacy risks, you may try MIUI and the dozens more ROM in the thread. I am not trying to offend anyone, its just my opinion, feel free to call me paranoid.
Always keep in mind that there are no stupid questions only stupid answers Ask away !!
I wish you a free and serene future.
I am however more interested in using the source code provided by Sony with AOSP and compiling the system image by myself.
I know how to compile AOSP, but the files provided by Sony doesn't seem to contain the `device` directory.
Also is it possible to use the AOSP and compile a ROM that is exactly the same as the stock ROM?
I haven't done any reading or experimentation on the subject but as far as I know, Sony only provides the stock kernal sources, some hardware support libraries (not all for ex HDMI, xLOUD still not provided). You can compile the kernel from Sony sources. Android image and apps are not provided by sony. All the ROM makers who are releasing ROMs based on stock are modifying the stock ROM image to do it.
For compiling your own ROM, you will have to do it form AOSP or cyanogenmod (FXP) sources.
Related
Dear experts,
like many ppl, I am new to Android Development, and would be able to cook my own rom with amazing home-made features before the end of the week... and I want it to be easy, funny, and eventually Fast....
... Indeed, I don't want all of this, so I'll try to be realistic in my incoming questions and beg for your indulgence if some things sound stupid / inexact / already documented and so on : I have performed a long search process before I decided to post here and would not ask it otherwise.
So, first, here's what I have know about android:
- Android Architecture (various layers)
- Android + java programming (beginner with both but skilled with general OOP and smartphone -iPhone- programming)
- Rom flasing process : rooting, bootloader / recovery flashing , using adb, filesystem of a ROM
- Android official source building (from git repository) and patch apply.
- Basic cooking without any source code modification: use of dsixda's kitchen with xda members' home-made roms mainly
Then, the material I am working with :
- Max OS 10.6.5
- A HTC - Tattoo : rooted, with nandroid and busybox installed (also have an available HTC - Hero)
- adb 1.0.26
- HTC Android Kitchen 0.106 - by dsixda
- Android official source from http://android.git.kernel.org/
Now, what I don't know about is advanced cooking... I read a lot about ppl wondering the same, and generally there was no basic answers (not to mention guide/tutorials).
Since I will surely be the nth to ask this, let's try to ask a specific question.
I downloaded from Android github a patch I am very interested in. This patch applies on the framework and does not impact any other layer (especially not the kernel nor the hardware related libs). After building the source, I thus get a framework.jar I would like to replace some target framework.jar with .
I was quite sure it was not very bright to do such with a custom ROM, even a quite standard FroYo-based one, since there was little chance that such a cooked-rom used a virgin framework taken as-it from android github. But I tried anyway with some of the FroYo-based roms taken from the xda list for my tattoo device. I basicely replaced the framework.jar with mine.
... and indeed, it failed : I kept getting stuck at the boot screen everytime I do such.
So.... I am trying to understand what I do wrong.
- I am quite sure I miss some signing process, but although I read many threads about such a signing about apk files, I did not manage to figure out how to do this with frameworks / jar files. Could someone bring me some light about this?
- Provided the signing is not the (only) problem here, could someone explain where / why I am wrong?
- Eventually, since I did not manage to find full source for a FroYo-based (running) cooked rom , do you know of such a source repository I could work with instead of working with android official sources (including the framework java files + compatible with HTC-tattoo / HTC-hero if possible)?
Thanks for all of you for reading until here, whatever your answers (or silence) may be.
And thanks in advance to those who may have some answers or any constructive criticism.
Roger_Rabbit
--------------------------
An old fashioned rabbit
This is a call out to all existing and future developers of Xperia MDPI Devices.
For about a month now there is an app called Update Me Smartphone, which basically gives OTA update functionality for our Custom Roms.
From 01/05/2012 the developer of this app has given it a very interesting feature. You can view all Roms compatible with the Update Me Smartphone application. Even though you get a list a bunch of irrelevant devices, I suppose if we all "help" him with our suggestions he can make an application that will be on par with the Rom Manager app for devices that are fully supported by CWM.
To make this as simple as possible....
User "A" wants to download a new Rom for his Xperia MDPI Device. He has already downloaded and flashed a custom kernel (whether this is a Stock Kernel, or a CM kernel), then proceeds to download the app, install it and browse any compatible Rom's with his device... From then on his device will stay updated, through the Update Me application providing OTA updates of the Rom he has installed. If he wished to download another rom (compatible with the kernel he has - there are 3 Different Kernels AFAIK: GB CM, ICS CM, GB-ICS Stock Sony Kernel) he will just proceed to download the latest version of the rom he has selected straight to his device. No need to download to your computer, then connect the device, then copy it, then flash it. If you have the compatible kernel already installed, then its easy as pie.
Please let me know of your thoughts on this...
Edit: Link to the application's thread http://forum.xda-developers.com/showthread.php?t=1590170
Edit 2: Apart from Rom's we can also implement various mods, tweaks, fixes, etc for our devices. Even though that would be extremely hard, due to the fact that all these files need to be stored in a direct download location like Dropbox, its is a viable option.
OMG I love the idea, that would be awesome!!
It's very interesting, thanks a lot for the info I will try it!
Some modification: In GB we have 3 different kernel (Stock Based, CM Based, MIUI Based [not released yet]). In ICS we don't have Stock based to Xperia MDPI, because Sony don't released yet the stock for us. So we have CM9 based, AOSP based (it's work with CM9 ROMs btw), and ported Stock based.
Some another notice: I saw a lot of thread (not only in this forum), but sooo many people trying to make ROMs. It's not a problem, but some guy don't know some full minimum things... So who will help this guys to add this app to their ROMs?
Are you using a different Kernel for the Sony ICS rom port? I mean the Ramdisk is the same size and you're using the same zImage from a stock GB rom correct?
Well nobody is forced to do this. All we have to do is provide the app developer a link with the update_me_check.xml so that he will sort of add a link for that in the application.
By the way, i now got my goo.im account, and this have own OTA app. I will try it, and I will report.
But I know, this is not only OTA app... Hmm... I need to think in it
So the only developer checking the thread is Expeacer?
Ok...
dumraden said:
So the only developer checking the thread is Expeacer?
Ok...
Click to expand...
Click to collapse
What makes you think like this?
Well, it's been a couple of days since I posted this, either people dont have an opinion of their own, or they don't care...
dumraden said:
Well, it's been a couple of days since I posted this, either people dont have an opinion of their own, or they don't care...
Click to expand...
Click to collapse
I also read quite a lot of topics, but I don't respond in every topic.
Pardon my ignorance. Just for fun and learning, I am willing to build a custom ROM from scratch for Sony Xperia-L from Android AOSP. But, even after going through a number of tutorials, following are the issues which are yet unclear to me:
How to obtain Xperia-L specific drivers to intergrate it into my build. Please note that unlike a few tutorials has suggested, I don't want to start from CM ROMS. I want to do it from 'scratch'
I have downloaded Open source archive for build 15.3.A.1.12, 15.3.A.1.14 and 15.3.A.1.16. It contains two top level directories: kernel and platform. What are these two for? Given the size of AOSP so large, I presume this archive does NOT contain full source for Xperia-L stock ROM. Am I correct to reason that?
Without using kiddie-approach, e.g. different ROM kitchen, what is the recommended approach to for a beginner to master the art?
Introduction:So I see you have found my Android M Preview ROM thread. So... You all might of seen this. It's Sony announcing that it's AOSP open line of Xperia devices can now build Android M and is showing devs how to build it. Apparently things aren't exactly that way. Google created under it's source code, an alpha branch for the upcoming Android M, what that branch contains is mostly Android Lollipop code and some Android M stuff. This branch will evolve to become Android M, but at it's current state, the ROM is in between Android lollipop and M (kind of a weird mix of a sort that's why the build number is 5.1.51 and the easter egg is the one of lollipop). I will however provide weekly (hopefully) builds of Android M as it becomes more M than L. Keep in mind that the current release of the ROM (as of 25-6-2015) does not contain the new API's (for devs that are interested). You can see Sony's official explanation here. If you are still interested though in checking out the current state of Android M be my guest though keep in mind that in it's current state it is FAR from a daily driver (modem and camera are the most major of bugs currently) and most if not all of the cool features on Android M developer preview for the Nexus line probably are not currently included (as on 25-6-15).
Warning
This works only on UNLOCKED BOOTLOADERS. Keep in mind that the ROM was built for the D6603 I don't know if it will work with any other variant of the Z3. In addition flashing this might erase recovery on some devices. Also I take no responsibility of whatever may happen by using this ROM.
Downloads (please read the Introduction if you haven't, its important )Kernel
System
Userdata
Installation:1. Backup EVERYTHING (Your SD card included. This ROM has proven to be unpredictable as of storage on some handsets).
2. Download the Kernel, System and Userdata images
3. Get yourself a working ADB/Fastboot installation (more on that on the kernel page)
4. Flash the kernel as described on it's page (Steps 1-7)
5. While still in fastboot mode enter these commands in the command prompt:
Code:
fastboot flash system (directory of system image)
fastboot flash userdata (direcotry of userdata image)
6. Reboot your device and wait for it to start up
Bugs:
Graphical Glitches
Camera
Modem (no phone calls/messages/data etc.)
Bluetooth
Random Force Closes in most Apps
Recents (some times)
Random other stuff
Erases all storage (internal and external) on some handsets
Screenshots:
Here you go.
Credits:
The rest of team Pear Crew
akateha
My Family & Friends
Sony and it's AOSP project
XDA
Google
Changelog:
----- Build I -----
Initial release.
Synced the latest android-m-preview branch
Most Android M features completely missing, ROM is like a hybrid of Lollipop&M
Bugs:
Graphical Glitches
Camera
Modem (no phone calls/messages/data etc.)
Bluetooth
Random Force Closes in most Apps
Recents (some times)
Random other stuff
I can't believe what you just posted
Hahaha @Griffiths_Anna why so?
@CedArctic
it may be that the flashing the rom erase the baseband
have you tried to reinstall a baseband after flash the rom?
@Gustavo RD78
Actually I haven't, even Sony states that Camera & Modem are guaranteed broken. Even if the modem was fixed (which I believe it will in the next few weeks) the ROM still needs a lot of work for all the other bugs. Although about the baseband, I think M requires a special version of the baseband because even when you flash the official M preview over the Nexus 5, you have to flash a new baseband that is compatible with Android M. I am currently away from my Z3 but if someone tries it out and confirms it working I would gladly add it to the main thread.
Wow, that was fast, need i say more??
@corpsegrinder62 Actually, considering the announcement date it is fast. I dualbooted my PC with linux just 36 hours ago, downloaded the sources and compiled... XD
Gustavo RD78 said:
@CedArctic
it may be that the flashing the rom erase the baseband
have you tried to reinstall a baseband after flash the rom?
Click to expand...
Click to collapse
Some modem components are stored on /system and not included for legal reasons in Sony's AOSP binary releases. https://github.com/SuperBenevolent/aosp-vendor-qcom-proprietary
At least with L-MR1, the ONLY things missing for modem to work are the blobs above. Dunno about M, I'm not bothering to mess with it until official M release.
Woaw, nice to see android m being worked on even though it's in its early stages.
Is that my build you are running?
Installed a few minutes ago. Thank you for compiling the source code.
Am I wrong or can´t I flash GApps?
Edit: Also I cannot use any storage. Not internal and not sd card
@Silveryard Yeah there are like lots of bugs... I hope some will be solved in the future. Storage is definetely one of them. I never tried to flash gapps though
It´s because some .apk files (like the play framework) cannot be installed with adb install command and require a custom recovery kernel or root or root for writing permissions in "system"
I don´t know much about compiling a system image but is it possible to place the gapps files into the right folder right before compiling everything in one file? This would help much and would make this preview much more usable in daily life.
Thank you! I'll be trying this on my D6653.
Made an installation video.
How To: Flash Android M Alpha for Xperia Z3: https://youtu.be/rJgYnqv3ZPM
Good news
CedArctic said:
@Silveryard Yeah there are like lots of bugs... I hope some will be solved in the future. Storage is definetely one of them. I never tried to flash gapps though
Click to expand...
Click to collapse
http://forum.xda-developers.com/and...v-android-m-apps-framework-deodexing-t3166000
@squabbi Cool bro @M-Rom Congrats for your work bro, I saw the FlyMe OS port... simply loved it... although I'm curious how did you port it? Because I tried to do so in the past... @Aaahh I'll take a look into it. I think storage is just the storage-list.xml in the framework.... Thanks for the guide
CedArctic said:
@squabbi Cool bro @M-Rom Congrats for your work bro, I saw the FlyMe OS port... simply loved it... although I'm curious how did you port it? Because I tried to do so in the past... @Aaahh I'll take a look into it. I think storage is just the storage-list.xml in the framework.... Thanks for the guide
Click to expand...
Click to collapse
What? I'm not sure what your talking about
Just to repeat, those are the actual M preview apps and I "fixed" them so that you can add them to your rom
@Aaahh you posted a quote of me about storage and I said now that I think I know that the issue is in the storage-list.xml in the framework. I will include your apps in the next build, but for now I am focusing on a different project until M becomes more stable...
I would like to develop a custom ROM for my device. I read some guides and obtained some basic knowledge, but still don't know how to start. So I would like to ask some questions to test my knowledge and expand them.
My device: Wiko View
My Android version (actually installed): 7.1.2 almost pure Android (just some third-party apps)
Desired Android version: AOSP 9.0 (maybe?)
So as far as I know I need these things:
AOSP Source Code (9.0)
Kernel
Vendor (tree or blobs?)
Device tree
So for the AOSP: I can get it from the repo hosted by Google. How should it look once downloaded?
For the kernel: should I use that from my actual ROM, or the most recent one? And how to include it in my ROM before compiling?
For the Vendor: As far as I read, with project treble I shouldn't edit this. But since I'm not developing a treble ROM, I'm in troubles, right? In older ROMs (before Oreo and Treble), they're stored in /system/vendor. Is just that folder or are there more? Do I need to update something? Where do I need to put this folder?
For the device tree: I read some guides that explains how to extract it from ROM (only from 5.0 and up, since mine is 7.1 no problems, I hope). Is this right or are there other ways? Or do I need to write it myself?
I'm going to thanks anyone in advance. I know there are plenty of questions, but I hope this thread will be a place for begginer (like me) to know more about compiling from source a ROM. Have a great day!