[Tutorial] Installing Cyanogenmod for the Sprint Galaxy S4 - WIP - Sprint Samsung Galaxy S 4 Q&A, Help & Troubleshoot

I recently got into tinkering with my Sprint Galaxy S4 and spent quite some time going through the whole process to get to Cyanogenmod, then back to stock, the reasons which I hope to share with you throughout this tutorial. I went to multiple sources from all over the web to answer all the questions I had, so I'm hoping to gather everything in one place so you can too learn the intricacies of playing with the OS on your phone.
This will be a work in progress for a bit, as I plan on going back to stock and working through the process again to capture everything I had to learn in order to get my phone to where I wanted it.
Hopefully once complete, this guide will help you do that same thing.
Thanks.
PS; I am placing the phrase "<link>" where I will eventually will insert the actual links, but until I leave new status, Google searches will have to do.
Overview​In general, installing Cyanogenmod (or any other ROM, specific quirks notwithstanding) should consist of the following steps;
Pre-installation setup
Gathering Tools
Installing a custom recovery
Backing up your device
Flashing your custom ROM
Step-by-Step Walkhrough​
Pre-installation setup
When installing a custom ROM, or conducting any sort of flashing/recovery/rooting etc, you may mess up your phone somehow. Sometimes this will void your warranty, leave you with a brick, or somehow otherwise go belly up. Before you start doing anything to your phone, you should make sure you understand what you're doing, read through all of the steps, and familiarize yourself with the process. Sometimes you may need to gather additional information, software, tools, etc. Google is your best friend! When you encounter a block, stop what you're doing and investigate what happened, and see what the consensus is on the subject of that error, so you can tread carefully. In the end, this will make you a better tinkerer in general. Also, if you mess your phone up, I'm not responsible for your environment conditions, actions, or mistakes.
With all of that being said, if you're going to blaze forward anyways, welcome to the path of making things do what you want them to do, regardless of what someone said you could or couldn't do with said things! Before you get started, you're probably going to want to gather basic info first;
What do I want out of my custom ROM?
There are many types of ROMs out there; Cyanogenmod is one of the most popular, but millions of people have created or assembled their own favorite OS' for Android devices. This particular ROM offers you more control over your phone. You can install custom apps, use established apps, execute root/admin tasks on your phone, and much more. Custom icons? Custom boot screen? Remove all of the carrier/manufacturer bloatware? All of these and much more are at your disposal.​
Where can I find the model for my phone? What Android build do I have?
Before choosing to undertake a particular endeavor, make sure you know what phone you're actually working with. Using the wrong software or tool can brick your phone, or increase the time it takes to finish dramatically since you're going to have to go and find all of the fix information. In some cases, a phone may come with a certain version of Android, or a certain firmware. You should consider what may happen if you upgrade it, maybe you'll find you can't go back!​
Do I want to use this phone with service?
This was irritating for me when I first was flashing my phone; I found out that when I called Sprint to switch the phone over from my HTC One, they said they couldn't port the new modded phone onto their network. This required me having to search down the original firmware, which is a hassle in and of itself. I'm sure there are ways to get your phone onto a network that I don't have any knowledge of, but why not save yourself the trouble and make sure you take care of things before starting.​
Windows or Linux?
What operating system you are most comfortable with may vary, and your intentions with regards to flashing a custom ROM also will vary; do you just want to get something installed? Do you like to learn? Traditionally most folks will say that if you want the most control over the process, use Linux. It's open-source and gives you the most freedom to do as you wish, and in addition, untold numbers of tools exist for the platform that you have access to for free. Not that there's anything wrong with Windows, but if you want to flash a ROM, chances are you're interested in technology as a whole. Throughout this tutorial, I will do my best to provide options for both OS' where possible. In my case, I'm not interested in this process on a Mac environment, but you'll find most of the concepts here can be mirrored on the Mac OS, you'll just have to search for specifics on your own.
​
How comfortable am I with things like command lines?
Understanding how to use the command line, as opposed to graphical programs, will enable you to undertake the flashing process with much more control than otherwise allowed. Learning the command line is outside the scope of what I'm trying to teach you, but you can find information all around the web. Search for a cheatsheet for the Windows Command Line, or maybe if you're interested in learning about Linux, you can find information all over the web. With Linux, there can be a bit more variance on command lines as different flavors of Linux use different command lines.One such flavor of Linux is Ubuntu, which comes bundled with bash, a rather common and popular command line shell.
Again, where possible, I will try to provide options between the command line and GUI choices, but I will off the bat recommend that you familiarize yourself somewhat with the command line. You'll be a better person for it.
​
​
Gathering tools and info
Before you get started, it's a good idea to ensure that you have everything you're going to need at your disposal before getting started. I will do my best to document whatever I think is necessary to know on each tool/item you need;
Workspace
Sort of a no brainer, I would suggest creating a folder that you can store everything in the flash process, ideally one where you possess admin/root privileges. I will conduct this tutorial as if you were working from a folder titled 'Cyanogenmod.'
​
Phone Information
For the purposes of this tutorial, I am using the Sprint Samsung Galaxy S4 in black, which has the model number SPH-L720 (I don't think color influences model at all). At the moment, the phone is known as JFLTESPR at http://cyanogenmod.org/ specifically, though much of the process is the same across int'l/US carriers, so the phone also falls under the JFLTE family.
You'll want to have a few other pieces of info on hand as well. Most of these can be found either on the phone physically, or in the "About device" section in the Settings menu.
To get your model number, you can either remove the plastic rear panel, then the battery to find the model number written on the sticker underneath. Otherwise, you can go to Settings > About device > scroll to Model number.
In the same menu as above, you can also get the Android version, Baseband version, and the Build number. All of these help determine what features are available to you, what Android OS you have if you want to know about specific differences between numbers, what radio type you may have, and so on. Having these handy will let you look things up with a higher degree of accuracy.
​
Check Your Knowledge, or Are You Listening?
Did you make sure and go find the above information? If you care about your phone's warranty or you know, your freedom to mess with your SPH-L720 as you see fit, you should care enough to make sure you have this info!
Why does it matter? See your Baseband version and or Build number? Check those last 3 letters on there, they represent the firmware version you have installed on your phone. Certain firmwares have certain characteristics, but there are two in particular that you, as someone following this tutorial should care about; Whether or not the firmware comes with the Knox bootloader, and if you want the ability to downgrade/upgrade as you see fit. I also believe that the firmware can affect your hardware in sometimes undesirable ways. If you've recently flashed and your Wifi or radio (interface into the carrier's ecosystem for voice, messaging, and data) isn't working, research about the firmware is usually the first place to start looking.
The Knox bootloader contains a flag that is tripped if you install a custom recovery/bootloader, which doesn't affect any operation on your phone, however this flag, as of this writing, is not un-trippable. That's right, this is how Samsung will know if you've gone all rogue on the device. With this tripped, they can deny you warranty service, force you to pay for repair, and any other number of irritating things. Not knowing what firmware you can cost you dearly.
As to being able to change firmware freely, you can change between the Android 4.2.2 firmwares as you like, but if you move to 4.3, you cannot go back to 4.2.2, and 4.3 includes the Knox bootloader (though you can still move between 4.3 firmwares). Same for the firmware based on 4.4.2; if you move to this firmware, you cannot go back. In addition, as far as I know at the time of writing this, there's only one firmware in the 4.4.2 family.
For reference, here's a list of the firmwares;
MDC - This was the first firmware for the phone and was based on Android 4.2.2, and was pre-Knox bootloader
MDL- Based on Android 4.2.2, and was pre-Knox bootloader
MF9 - Based on Android 4.2.2, and was pre-Knox bootloader
MJA - Based on Android 4.3 and includes the Knox bootloader
MK2 - Based on Android 4.3 and includes the Knox bootloader
NAE - Based on Android 4.4.2 and includes the Knox bootloader
Besides influencing the above characteristics (and whatever other features are available per version), the firmware type also influences what software you might need in some cases. For instance, flashing back to stock requires you to use a firmware with the same 'class' of version, aka 4.2.2, 4.3, or 4.4.2. If you accidentally use the wrong version, you may regret it. Of course, if you're off warranty, or just don't care, you can go about this as you see fit. Just don't come to me if you fail to go learn what you need to know before flashing your phone. With all that being said, you can still install ROMs based on other versions of Android, just not a full flash.
I'm not sure of the correct XDA way to thank someone, but cruise350 provided me with this information directly, so if this helps, kudos goes to him.
​
Cyanogenmod ROM/OS
You can find everything you need to know (including the direct tutorials) for Cyanogenmod on their site <link>.
From the main page, you can get to the SPH-L720 by going to http://http://wiki.cyanogenmod.org/ > Devices > Hit 'show all devices' > enter 'JFLTE' in the search query to get to the landing page for our phone. From that page you can read more about Cyanogen and what you can do with it and our phone together. For now, we can just download the ROM.
Go to the download page at http://download.cyanogenmod.org/, where you'll find a list of devices and their various ROM builds. Since developers around the world are working on Cyanogenmod at any given time, there are many different builds/versions of the ROM. If this is your first time with Cyanogen, you will want to stick with the 'Stable' build. This is considered the latest 'finished' build, or represents the latest release the developers consider complete. The other builds represent ROMs which are nearing completion and moving to Stable (Release Candidate), a build at a particular point in time (Snapshot), builds which were created at a certain point in the development history of Cyanogen (Milestone), the absolute latest and greatest build as it's uploaded (Nightly), or just plain random (Experimental). Some of these builds are more fully featured than others, and others may be missing features, may be buggy, or somehow undesirable to us at this moment. As I said, for now, stick with Stable.
Remember how I mentioned that the SPH-L720 is called JFLTESPR by Cyanogen specifically? That's the download we're searching for. Click Stable under the Type menu, and scroll down to JFLTESPR. At the time I'm writing this, there are 3 versions of Cyanogen available to us; 10.1.3, 10.2.0, and 10.2.1. As a beginner, the differences between versions may be minimal, or minimally noticeable. I'd suggest getting the latest build for now, then futzing around with versioning later in your tinkering career.
In addition to Cyanogenmod, if you look on the installation page at http://wiki.cyanogenmod.org/w/Install_CM_for_jflte, under the heading 'Installing CyanogenMod from recovery' (we will get there), they mention the 3rd party app 'GApps,' which provides an interface into the Google ecosystem, so you'll have access to stuff like Gmail, Calendar, and the freakin keyboard! If you find your keyboard constantly failing, remember to go back and make sure you have the correct GApps version based on your Cyanogenmod version. The Cyanogen wiki provides a handy-dandy chart at http://wiki.cyanogenmod.org/w/Google_Apps to help you choose what GApps version you need.
​
Custom Recovery Mod
Cyanogenmod's wiki also provides you with info on what a recovery mod is at http://wiki.cyanogenmod.org/w/All_About_Recovery_Images.
Basically, when you receive a stock phone, the recovery/boot mode is limited in scope. As they say, it's mainly for installing manufacturer updates, and not much else of use to us. With a custom recovery, you gain access to many more features and things you can do outside the manufacturer's original intent. In the scope of this tutorial, we are using our custom recovery mod to first back up our phone's data, and second, actually install Cyanogenmod.
Just like the fact that there exists a large number of custom ROMs, so does there exist custom recovery mods. I'm choosing to use ClockWork Recovery Mod (CWRM) because it looks pretty and gets the job done. The specifics of a particular recovery are left up to the curiosity of the reader.
You can download CWRM at http://clockworkmod.com/rommanager; just scroll down to the Sprint GS4 and pick the version that is shown. Again, other versions may exist, but for the intrepid reader who's made it this far, stick with the latest, greatest, and easiest.
​
USB Cable
"Hurr durr no **** I need a USB cable" you say, but you wouldn't believe how irritating it is to attempt to diagnose a faulty cord issue. Sure, maybe you're the type of person who actually tries the easiest fixes first, this isn't revelatory, but if you're like me, I feel sorry both you and I.
Ensure you have a nice clean, un-kinked and untangled USB to Mini-USB cable on hand, preferably the cable that came with your phone. This will have the best chance of working properly. In addition to a cable, keep in mind that if you're using a USB hub, you may encounter errors. I've not used a powered USB hub in this process, but again, trying to diagnose the USB hub as the point of failure is annoying too. Save yourself the irritation.
​
Heimdall
Heimdall is a powerful open source program that lets you interface with the file structure of your phone and flash custom firmware, Heimdall was created by Benjamin Dobell of Glass Echidna and was designed specifically for Samsung devices. You can find a list of the phones they test on at the Heimdall page at http://glassechidna.com.au/heimdall/.
Some of you may have heard of Odin, another program used to flash firmware onto Samsung devices. Odin was an internal tool developed by the manufacturer that made it's way into the wild somehow, and can achieve the same effect as Heimdall (more or less), however there are a few reasons I suggest using Heimdall if you have a choice;
Heimdall is open source
You can freely access the code for Heimdall and make changes if you ever needed to, but the fact that the code is transparent and for all to use means an easier time flashing for you. The fact you can use Heimdall on Windows, Linux, and the Mac OS' is just a whole bunch of whipped cream on the flash-cake.
Odin is an internal Samsung tool
This means you don't have a way to go ask the maker of the tool for help, or explanations on how to use it. Samsung will offer customer support for this tool equal to the amount of existence that flash-cake has; none. There is documentation from all the smart people out there who have dug into Odin if you do want to use Odin. Also, it's Windows-only. You might not care about this fact, but if you're a tinkerer, Linux would be nice no?
Support!
In my flashing journey, I've had to troubleshoot a few things as far as Heimdall goes, and many times on some pages, I've seen Benjamin reply to people with information that he and only he can provide as the maker of Heimdall. I don't know him personally or really at all, but at least we can go ask him for support if necessary.
In order to use Heimdall, you just need to unzip the contents of the download into the Cyanogenmod folder, in our case, create a folder titled 'Heimdall' inside of Cyanogenmod.
​
Android SDK
The Android Software Development Kit (SDK) is the software Google provides for developers to create things in the Android ecosystem. The kit contains the code editor Eclipse, a plethora of support tools and tricks to create the best apps/ROMs/whatever you can think of, as well as interface with your phone in manners beyond ordinary users. There is a lot of stuff in the SDK, but we are specifically interested in the Android Debug Bridge (ADB) tool, which allows you to send data back and forth from your phone.
You can find the SDK at https://developer.android.com/sdk/index.html, but keep in mind you will most likely need admin/root privileges in order to use the SDK (and Heimdall). From that page, you can choose the Android Developer Tools (ADT) bundle, which comes with Eclipse, or you can choose to download an SDK kit without the IDE. For the scope of this tutorial, you only require the SDK. Once downloaded, you can unzip the SDK into the Cyanogenmod folder (the first thing to come out the SDK zip is a folder titled sdk, plus the SDK manager).
Open up the SDK Manager program (if you're on Windows, if running SDKManager.exe briefly shows a command prompt window, then disappears, you can go to sdk > tools > android.bat. This will open the SDKManager for you). The SDK will provide you with a list of packages you can download for various parts of Android development, but the ones we care about are the Android SDK Tools and the Android SDK Platform-tools. Check the box by each one, then hit install packages. The SDK Manager will prompt you for some license agreementing, then install the software for you. I believe that the manager installs the software in the sdk folder that the manager also resides in, so keep this in mind.
​
Installing a custom recovery
Backing up your device
Flashing your custom ROM

Reserve 1
For more info.

Reserve 2
Just in case.
If you happen to be reading this for the content, can you answer this; should I include the basics such as installation processes and whatnot? Or just skim the basics?

Related

HELP ! ROM Update to Android 2.0 / 2.1

Hey Guys at first sorry for my english i'm not good in it. And I'm a Android newbie I just gained a bit exerience with my Touch Diamond but it's broken now..okay but that's not the probleme....
If got a question:
After about 2 days of searching for an android 2.0 or 2.1 ROM I was a little bit confused of the diffrent news everybody was talking about. I'm root on my Hero. That was the first an last thing I made with my device.
1. Everybody is gonna talk about MoDaCo 3.0 but when I was trying to download his ROM my browser never got a request. Is the site down, where that ROM is hosted ?? Could someone give me a working link with this ROM ??
2. Is there a ROM with Android 2.0 or 2.1 outside or even not ??? And if yes are they working well ???
Would be nice if someone can help me =) thanks a lot.
Please answer soon if you know something about that =)
Greetz BassdoxXx
you can get modaco's roms at his website, www.modaco.com.
in the android development section there are some 2.0/1 roms, none of them works flawless, see for yourself if it fits your needs.
Thanks a lot for your fast answer. =)
The problem that i couldn't open the modaco page was my isp -.- i downloaded it at school
BassdoxXx said:
Thanks a lot for your fast answer. =)
The problem that i couldn't open the modaco page was my isp -.- i downloaded it at school
Click to expand...
Click to collapse
What? Does ISP's block that site? Lol, would never happened in Norway
there is a few 2.0+ roms out there for the hero.
most seem to be very usable now.
best sense ui would be lox/behnaam community release on 1.6.
http://htcpedia.com/forum/showthread.php?t=1448
there are two aosp roms worth looking at.
lox aosp ( im using that on a daily basis)
http://htcpedia.com/forum/showthread.php?t=1416
jnwhiteh aosp
http://htcpedia.com/forum/showthread.php?t=1528
Hello all,
I am having very specific request when it comes to choosing a proper rom for install on to my hero.
I am blind. Stock roms are only running Android 1.5. More robust accessibility features are available starting with Android 1.6 and improving even more with Android 2.0.
So for sure I am forced to upgrade my hand set.
There are various roms, some of their authors have even disable google specific features so I know I can't install such a rom.
All the accessibility efforts are being lead by the google developers.
Most likely these accessibility tools won't be usefull to most of you but please can anyone recommend me a rom where market is working and where the following applications can be installed and used?
- eyesfree suite of applications,
- talkback - the google screen reader for android,
- tts service.
All possible help is already appreciated.
sorry for the double posting. I've accidentally posted twice and I am unable to remove the post.
Hope anybody can help me please.
pvdeejay said:
Hello all,
I am having very specific request when it comes to choosing a proper rom for install on to my hero.
I am blind. Stock roms are only running Android 1.5. More robust accessibility features are available starting with Android 1.6 and improving even more with Android 2.0.
So for sure I am forced to upgrade my hand set.
There are various roms, some of their authors have even disable google specific features so I know I can't install such a rom.
All the accessibility efforts are being lead by the google developers.
Most likely these accessibility tools won't be usefull to most of you but please can anyone recommend me a rom where market is working and where the following applications can be installed and used?
- eyesfree suite of applications,
- talkback - the google screen reader for android,
- tts service.
All possible help is already appreciated.
Click to expand...
Click to collapse
i am on mcr3.0, i looked in the market, i can find 8 apps for eyesfree, tts is one of these. i didn't try to install one of these, but usually it works. the search for talkback returned nothing.
not that i want to be rude, but wouldn't you be better off with another phone if you are blind? i can not imagine a touchscreen only phone would be suitable for someone who is not able to see... especially because there are great devices out there that have a full qwerty keyboard, and come with android 2.0 out of the box... imho this would be a better solution.
again, the last thing i want to be is rude, but maybe this was your mistake: you posted in the htc hero section of this forum, the hero is a touch screen only device, including a virtual keyboard on the screen. it has only six buttons and a trackball, and two rocker buttons for the volume. just to make clear we are talking about the same device
if you are still up for the hero you could try the 2.1 rom from here: http://htcpedia.com/forum/showthread.php?p=30418&posted=1#post30418
best you try for yourself, it has some drawbacks, but maybe in areas you don't need (afaik syncing with exchange does not work for example, which wouldn't be a problem for me...). otherwise it might be worth to wait another week or two, we all are waiting unpatiently for the official eclair release from htc
keep asking if you need to know more, but maybe open a new thread, since your problems are very specific, and might drown between all the newbies question about "how to root my phone".
Hello,
Thanks for your reply and a great attitude.
Yes it may sound strange I have really got HTC Hero here. I know I'll be having problems with virtual keyboard but also I am afraid accessibility features of Android phones are not really such mastered one can use it daily. For example reading emails and content from the web browser is not yet possible. I just want to try how things work and I would also like to touch the virtual keyboard. If I can memorize computer keyboard and use it daily, typewriter keyboard, nokia mobile phone keyboard, then perhaps I might be able to make some use of this too.
I am sory but here are some more questions:
I haven't yet verified with some sighted friends but... is it possible my hero is running even older version of android like Android 1.5? I've based the assumption that it's most likelly running 1.5 because majority of the devices I was reading on the net are running it.
You've been triyng to locate eyes-free applications on the market but you were unable to find talkback. Are you sure you are running newer version of Android than 1.5?
Talkback is supposed to be installed with Android 1.6 andd 2.0 by default and you should be able to find it in the accessibility menu of your phone. I am not sure how well this applies to the custom roms.
Talkback requires google's accessibility api which is reported to be available on Android 1.6 upwards.
To tell you the full story first I've asked on the eyes-free google group whether some accessibility experts from there can help me but no one knowledgeable enough has replied to my query, so I'm trying my luck here then.
Oh I am really excited since I've got really well formed informative reply.
Thanks again
Edit:
Also, I've seen somewhere in the forums here this leaked HTC rom does not support the market. Has this been rectified already? You know if market does not work then most likelly I won't be able to install these applications I am tallking about.
Also you are mentioning possibility to wait a few weeks until HTC guys role out the official update for Hero. Wouldn't that break chances I will be able to root my device later?
Edit2:
Ooops, I should read better next time. Market works on this rom. The problem is paid apps can't be installed which is hopefully not a big issue for me since most of the accessibility enabled applications are free.
Which of the downloads from Hero 21 do I need?
63.18.55.06JU_6.35.09.26) or No Wipe Download. I will need a wipe I am sure but since this link says nowipe I am ehmmm. confused.
pvdeejay,
Unfortunately there is not an 'official' update for Android 1.6, 2.0 or 2.1 as of yet. There are rumours of one coming out soon, but nothing cast-iron yet.
You are correct in that the Hero runs 1.5. It does say it under Settings | About Phone (bottom item on list)| Firmware Version (bottom on list again), although without a working screen reader, there is probably little use in knowing how to find that.
If you did want to upgrade, I'm sure plenty of people could help find a ROM that would suit. The only issue with that is that you would need a rooted phone with a custom recovery image installed. Unfortunately, a lot of the procedures would not be easy for you, as the software that you might need to use to go through the procedure is probably not designed that well for accessibility tools. I don't know what kind of software you are using, but some of the instructions for making goldcards are quite complex, and involve editing some numbers in a 'table' which could be quite difficult for you, I would imagine.
I'm sure a friend would be able to help you out with making a goldcard/rooting if you did want to install a custom ROM (you'll probably be waiting a while otherwise ). They could even root their phone while doing yours (just share the goldcard between the devices).
Nonetheless, there is probably a ROM out there with little removed from it. I'll have a look just now, but you would need to have your phone rooted to do anything just now.
When it comes to rooting and installing custom recovery image. Do you thing the following instructions might work for me?
These instructions don't require a gold card:
- How to Root HTC Hero and Install Amon Ra Recovery Image
- How to install a custom rom on a HTC Hero
Hello,
Here are some numbers I've asked my friend to read from system -> about screen. The phone interface is in czech so I am unable to get some names translated to english, but I believe some of the geeks will understand these identifiers and might be able to help me what is best:
Code:
firmware: 1,5
63.118.55.O6U|6.35.04.25
2.6.27-a5504199
Build number: 1.76.405.6 146733 CL# 47214 release-keys
Software version: 1.0.0.A6288
pvdeejay,
to sum it up:
the hero definitly runs on android 1.5. there are no roms for older android versions, and a few homebrewn for newer versions, as we said already.
i searched for talkbalk on my 1.5 rom, so it is obvious that i couldn't find it...
about rooting of newer roms: it is just a matter of time, sooner or later there will be always methods of rooting a rom. what i meant by waiting is: wait until the official update is out, then wait a few more hours until the first rooted and customized rom is out
@pvdeejay,
I would have to agree with kendong2 that waiting for the official ROM is probably the best idea for you at the moment. There are no guarantees that an unofficial ROM would help, and it would be another user interface to try and learn.
@kendon,
I noticed he has the original, easily rooted version of the hero. IIRC, that is what I had on my G2 (and had the security unlocked bootloader out the box). If that's the case, would pvdeejay be able to 'fastboot boot' a full system img file for the purposes of testing it out to see if it meets the requirements.
The reason I ask is that I've only ever fastbooted my AmonRA recovery (I didn't flash it, because I never felt any need to). I'm guessing you could fastboot a full img, but I'm not sure about the practical issues of where it would be stored in memory...
Sorry guys originally I believed I am slowly getting into the matter and am begining to understand how flashing / rooting / upgrading home brew firmwares works on these phones.
After these 2 posts I feel like a total noob again.
Now again some very concrete questions:
What about these 2 guides I've posted links to?
Can I somehow got [Recovery] [13-Dec-2009] RA-hero-v1.5.2 installed so I will be able to do nandroid backup and then possibly flash some new roms?
Can I really brick my phone by trying to install amon ra?
Originally I thought the process works as follows:
1) get the custom recovery image installed (that's the amon ra in this case),
2) do a nandroid backup which will dump everything usefull on to the memory card,
3) backup and reformat the card,
4) download a rom, rename it to update.zip, put it onto the root folder of the cart, reboot the hero in recovery mode, do the wipe of the data partition, and run update,
5) reboot again and believe it's good.
Also some very significant bit is the thing you are all calling the radio. I am afraid I've not identified this bit thus it's missing in this summary.
Which files will I need to download if I decide to try Android 2.1 community edition 1.8? Are these files I've copied links to a few posts earlier both needed?
Can you please check this list, identify the things I am missing, and make suggestions and corrections why this may not work on my device based off of those number I tried to put down here?
Even if I won't be able to do this right now I'd be happy to get corrections as I can learn something new.
Of course I won't be doing all this on my own. I will ask my bro to read all the stuff to me and we'll do it according to your advices.
To give some bits about me and my computer skills, I believe I am a Windows power user, Basically I do also understand unix, I know what's bash how the files are arranged in a file system, can use command-line tools, telnet, ssh. I am working as a network administrator here so some background is there really.
Hi pvdeejay,
Answers to your questions here.
You can actually use fastboot to 'temporarily' load up the AmonRA recovery image into memory and run it from there. I do that on my phone, for the simple reason that I can't be bothered ) ) to flash the recovery. Once you get AmonRA running, the first thing you should do is make a Nandroid backup. It will be saved to your SD card, so then get the nandroid directory of your card and save it to your PC (just in case!)
So, here's how you'd go about this.
(Make sure you have the android sdk installed, and that adb and fastboot commands are working). USB cable should be plugged in throughout.
Before you begin, put the ROM you want (ie. Android 2.1 community edition 1.8) into the root of the microSD card (a .zip file).
Code:
adb devices
Should list your phone's serial number
Now turn off the phone, and turn it on with the back key held down (the one at the very bottom right of the device).
You should enter fastboot mode. Now type
Code:
fastboot devices
and you should see the serial number again.
Now type
Code:
fastboot boot AmonRA.img
where AmonRA.img is a file in your present working directory that is the filename of the latest custom recovery image. This does NOT flash your phone, it merely runs the image (pretty much as close as you get to risk free, other than sitting there with a tinfoil hat on )
See screenshot of the recovery image here:
http://www.sizzledcore.com/wp-content/uploads/2009/12/RA-hero-recovery-image-500x375.jpg
Make the Nandroid backup by choosing 'Nandroid Vx.x Backup' and waiting a while.
If your ROM needs a wipe first (most new ones do), select Wipe data/factory reset. You will lose all your user data on the device (but you've got a nandroid backup just in case)
You're now good to go. So choose "Apply sdcard:choose zip"
Now select the custom ROM zip file you downloaded. It doesn't even need to be called update.zip! Choose it from the list and push trackball.
Wait for the update.zip to go in. Do NOT turn off the device or pull the battery. First boot can take a very long time (upto 30 minutes). Just keep it plugged in via USB and wait...
As for radios, see http://android.modaco.com/content/h...-24-11-hero-roms-radios-in-update-zip-format/ and look at the section titled radios. The latest one is in bold. It is a .zip file as well, that you use these exact same instructions for to install (don't do the wipe or anything like that. Just install the .zip file)
anon2122 said:
@kendon,
I noticed he has the original, easily rooted version of the hero. IIRC, that is what I had on my G2 (and had the security unlocked bootloader out the box). If that's the case, would pvdeejay be able to 'fastboot boot' a full system img file for the purposes of testing it out to see if it meets the requirements.
The reason I ask is that I've only ever fastbooted my AmonRA recovery (I didn't flash it, because I never felt any need to). I'm guessing you could fastboot a full img, but I'm not sure about the practical issues of where it would be stored in memory...
Click to expand...
Click to collapse
this is correct so far, i did the same, except i installed the recovery. i play a lot with my phone, the installed recovery image with the nandroid backup is the best i have ever seen for a phone...
@pvdeejay
you always write so much...
i try to answer everything:
the two guides you posted are good for your situation. i never tried flashrec, but from what i read it is safe to use. i installed my recovery image through fastboot, the guide is here: http://android.modaco.com/content/h...ng-the-patched-recovery-image-on-your-device/
i have no idea how this works out for you, but my honest suggestion would be that you have someone seeing assisting you, you CAN brick your phone, though it is not likely if you follow the instructions precisely. the process is not very time consuming at all, so you don't need to bother anyone for days of their time.
edit: and now i read your post to the end and saw that your brother will be helping you, so you are on the right track
once you have the recovery installed you can make nandroid backups, and i would suggest that you do this first thing after installing the recovery, better make a backup too much than one too less...
the 5 steps you described are correct, except there is no need to rename the zipfile anymore, you can select any .zip from your sdcard.
the radio part is the number that begins with 63.18.55.06, then comes two letters and then more numbers. as by now the version can be identified by the letters, with JU being the up-to-date one. in general you can say the newer the better, but you have to try for yourself. start with the newest one, if you have problems go back.
thanks this seems to be pretty doable plus I will easily be able to restore the current data backed using nandroid backup.
Which android SDK do I need the latest one?
The commands I need to type are supposed to be typed on the PC or on the phone? I assume on the PC but I just would like to ensure.
Hero21 1.8 community edition has a recommended radio listed in the first post. Is it necessary to install that one as well? What should I install first the actual rom or the radio? Do I need installing radio at all? Should i do the same with radio i.e. renaming it to update.zip and using amonra to install it?
Also will I be able to use this method even if I install another rom (running amonra without actually flashing it)?
Edit:
sorry guys did not realize renaming to update.zip is no longer needed.
Edit2:
is there an easy way on how to access sd card from windows? I can't just remove the card from phone and insert it into my laptop because I don't have the proper adapter. Previously my boss was using the hero and perhaps it would be nice to backup the sd card first.
Edit3:
uhmmm, installing android sdk is perhaps not as simple as it sounds.
I have just seen this article.
I am on a limited gprs internet connection, can you please suggest sdk features I won't need to save some download bandwith?
- you need only the adb binary (thats adb.exe for windows) from the sdk, the rest is not needed for this.
- install the radio from the 2.1community-rom-thread, it is the newest. install the radio first. DO NOT PULL THE BATTERY until the phone has rebooted completely. if you pull the battery during radio upgrade your phone will be dead. it takes a few minutes, do not panic!
- you can copy the contents of the sdcard via the usb-cable, plug it into your pc and pull down the notification bar...
Do I need to run SDK Setup.exe when I have downloaded android sdk for windows?
Or can I simply run that binary from the command-line without the installation?
Do I need any USB drivers so my phone can be recognized?

[REF] Guide to the Galaxy S II and Android (04/10/11)

Please suggest any changes, additions etc
Please don't try to hold me responsible if following anything here makes your phone die. Pretty please!
I have been looking through the forums, rom threads etc, and have seen a lot of questions cropping up again and again. Therefore I decided to start this project!
Basically I hope this will become a reference for newbies to get themselves accustomed to android and the galaxy s II! I will try to update it regularly with information about ROMS, Flashing and general android/samsung terminology.
If you think that I have given a wrong definition or think that anything needs clarifying more please tell me! Also, if you think that I should add anything then feel free to suggest.
Here we go...
Contents
1. Rooting
- Rooting your phone
2. Kernels
- Eplanation
- Links
3. Odin
- Guide to using Odin
4. Custom ROMs
- Risk
- Benefits
- AOSP ROMs
5. ClockWorkMod
- Explanation
- How to Backup/NANDroid
- How to Restore
- How to install a ROM using CWM
6. /efs
- What it is
- How to back it up
7. List of Custom ROMs
8. The Forums
9. Glossary
10. To Do list
Rooting​Rooting is the process of getting 'root access'. In a nutshell this means that you can edit the system partition of your phone. The best analogy of this I can think of is if you imagine a tree! The tree you see above the ground is what you can edit on your phone normally, for example you can add music files, edit text files, etc etc. The 'roots' of the tree are the android system files themselves, they are unseen and are not usually meant to be messed with. It can also be seen as the equivelant of having administrator privilages in windows - with them you have better access to your computer.
Rooting voids your warranty! But you can un-root your phone by flashing a 'stock' ROM and Kernel.
Gaining root access however allows us to customise our phones even further, for example you can:
Edit files to create themes
Backup usefull system files
Remove bloatware and unwanted apps
Rooting the Galaxy S II​Rooting the Galaxy S II is, thankfully, easy! Unlike certain other phone manufacturers *cough* HTC *cough* samsung haven't imposed any unnecessary locks on the phone, and so we dont have to hack our phones to pices to be able to root them.
Several guides already exist in the development forum on how to root you phone - it involves a custom kernel:
http://forum.xda-developers.com/showthread.php?t=1103399 (by Chainfire)
Or, here is the Noobs Guide:
http://forum.xda-developers.com/showthread.php?t=1126522 (capaxdoli)
And an extremely detailed thread from wibbsy:
http://forum.xda-developers.com/showthread.php?t=1246131 (wibbsy)
Superuser and Busybox​Superuser is an app that is present on pretty much all custom ROMs. It allows you to manage 'superuser' rights for your phone, in other words which apps you want to allow to have root access. If you dont have it on your custom ROM then you would want to download it from the market (free). Once you have it downloaded you dont need to do anything! It will warn you when an app wants root access, and ask you to allow once, allow all the time, or never allow. It can also be seen as a firewall for your phone, you can deny access to the root of your system files to apps you dont think should be down there!
Busybox is basically a set of commands that aren't built into android to begin with, but are part of Unix (which android is based on). They add additional functionality for root application to perform their job! To be honest this is all I know about busybox, but it is very useful, and lots of root apps need it, so download it!
Kernels​This brings me along nicely to Kernels! Kernels are basically a bridge between your apps and your hardware. It controls everything that apps send to the processor, and everything the processor sends back.
This, as you can imagine, makes kernels VERY important. On XDA, you might see a kernel posted in the development forums. The are usually identified as [Kernel] in the thread title. You will probably also see more brackets in the title, these identify what modules the developer has added to the kernel, or what features it includes. For example [OC/UV 1.5GHZ]. This means that the kernel will enable the phone to be overlcoked to 1.5GHz, but also means the processor is undervolted (meaning it draws less power from the battery).
For more details look here:
http://forum.xda-developers.com/showthread.php?t=894880 (mroneeyedboh)
And here for more details on 'govenors':
http://forum.xda-developers.com/showthread.php?t=843406 (RJackson)
Odin​Odin is a piece of software that allows us to flash anything we want to the phone. The file is attached to the bottom of this post.
It is perfectly safe IF USED CORRECTLY!
This is a general guide for using Odin, take a look at this picture (thanks to screamworks):
To get Odin to connect to your phone, you need to boot into 'download mode' by pressing volume down, home, and power keys at the same time, and connect your phone to your PC via USB.
Everything in red:
NEVER TOUCH
NEVER TOUCH
NEVER TOUCH
NEVER TOUCH
It's that simple! I would be more specific but most Roms, Kernels and CSCs have methods on their respective threads for using Odin with their ROM, so it best to look there.
Wait... (I hear you say...)
Why bother flashing a custom ROM if there is a risk of damaging your phone? Well, they usually come with the following benefits:
- Deodexed, basically allows deeper theming of applications
- Zipaligned, reduce the amount of RAM used when running an application
- Optimisations, meaning that the developer has tweaked the roms system files for bettery speed, battery life and stability
- Quicker Updates, Rom developers will more often then not update their rom to fix bugs FAR quicker then samsung ever will
- Additions, Developers also like to add their own additions to their ROMs, such as themes and applications
The benefits far outweigh the risk!
AOSP​AOSP (Android Open Source Project) ROMs are built from the original android source. They are essentially a 'clean' version of android without any additions from manufacturers (e.g no Touchwiz, Sense, MotoBlur etc...). They are popular mainly because they are so customisable. Here is a list of the three main AOSP build you will find:
'Pure' AOSP
This is a build straight from Google's sources and does not contain any modifications whatsoever, other then those that make it run on the particular device. Here is the AOSP project website for more information:
http://source.android.com/
CyanogenMod
This is an extremely popular AOSP build that provides endless customisation to the user. The builds are fast, stable and reliable, and nearly every android device has a cyanogen mod ROM built for it. It is also popular for its 'nightly' (literally) updates. More information can be found on the Cyanogen website here:
http://www.cyanogenmod.com/
MIUI
MIUI is a chinese rom that has been heavily customised, and is influenced by iOS. Think what would happen if an android phone and an iPhone had a baby... Despite commiting the henious crime of trying to be an iPhone, it does work. MIUI Roms are essentially all about speed and looks, if that is what you are after! Here is the MIUI website for further information:
http://www.miuiandroid.com/
ClockWorkMod (CWM)​
Clockworkmod is a 'custom recovery' made by xda member koush. Every phone had a recovery partition designed so that if the user messes up a ROM installation, they can recover their phone. CWM is a modified recovery installed into the recovery partition that allows advanced control over ROM recovery, installation and much more.
Features of CWM include:
- NANDroid Backup, This allows you to completely back up your existing ROM with all its files, data and apps
- Restore Backup, Restores a previous backup (obviously...)
- ROM installation, Allows you to install a ROM contained inside a flashable .zip file
- Wipe data/Factory reset, completely erases all of your data contacts, apps etc, leaving your phone 'as new'
Amongst others...
How to install CWM​If you have already rooted your phone using the CF-root Kernel, then you already have CWM! If not, then just install the kernel linked to above in the 'how to root your phone' section
How to make a NANDroid backup using CWM​​Backups are important because they allow you to restore your ROM incase flashing goes wrong, or you phone starts playing up and displaying wierd bugs.
To make a backup, you need to boot into CWM recovery (done through the 'cwm' app installed onto your phone when you flash the cf-root kernel). Then, you need to navigate down to 'backup/restore' using the volume keys, and select it using the home key. From here, just click 'backup' and you are all set! Leave your phone make the backup (its takes some time) and then just reboot when it tells you its finished. To restore your backup, do the same but instead of clicking backup, click 'restore' instead. Choose which backup you would like to restore and leave the phone to do its magic. Done.
How to install a ROM using CWM​Installing a ROM using CWM is a lot less hassle then installing via Odin. The ROM developer will specify which method of installing their ROM you can use, but it is usually done by a CWM flashable .zip.
To flash:
1. Boot into CWM as described above
2. Navigate to 'install zip from sd card'
3. Select it, and then navigate to 'install zip from sdcard' again!
4. Select the ROM you downloaded from your sd card
5. Navigate down to yes
6. Let CWM install you new ROM!
Note: The same process applies for flashing a kernel
The /efs folder​The /efs folder is a folder in your phone that contains information specific to YOUR phone, for example your IMEI number, product number, Wireless MAC addresses, and much more. There have been reports of people messing up their /efs folder when unlocking their phone or flashing new ROMs, here is an example from the Nexus S development forum (jump to page 111 to see everyone start to panic):
http://forum.xda-developers.com/showthread.php?t=1034130
Therefore, it is important to make a backup! Instead of just regurgitating guides on the forums already, here is a link to a very good one by Rawat:
http://forum.xda-developers.com/showthread.php?t=1068193 (Rawat)
The easiest way of doing it is by using terminal emulator rather then ADB (unless you have ADB all up and running and are confident with it)
Thank you to Godutch for suggesting this, I was never actually aware of it!
ADB​ADB stands for Android Debug Bridge, and is a useful tool for your device. It has many funtions including:
- Pushing .apks to your phone
- Pushing files to your phone to specific locations
- Rebooting to download and recovery
And I haven't even scratched the surface! It does a lot more trust me...
You will see guides on this forum saying 'this guide assumes you have ADB set up', which you definitely should do! However, there is a downside - it can be horifficaly complicated and fustrating to install for a newcomer to android, you have to mess around with SDKs, EXEs, Drivers, Paths, Yawwnnn....
So I'm going to let an expert describe how to do it! Here's the hard (but proper) way:
http://forum.xda-developers.com/showthread.php?t=879701 (Captainkrtek and Adrynalyne)
And here's the easy way, all nicely pacaged up for you:
http://forum.xda-developers.com/showthread.php?t=502010 (VanillaTbone)
I would write a short explanation of ADB installation for you here but it would just confuse you, so im gonna let other people do the work!
Custom Rom List
Well, Swi7chblade has done a far better job at doing a custom Rom list then me so I will give you a link to his instead
http://forum.xda-developers.com/showthread.php?t=1253665 (Swi7chblade)
Stock ROMs
Intratech has a collection of stock ROMs, Kernels and Radios all compressed up nicely for you. Link is here:
http://forum.xda-developers.com/showthread.php?t=1075278
Why stock I hear you say? Flashing back a 'stock' ROM usually helps fix random issues you might get whilst switching ROMs, like bootloops. Also, some people prefer the stock experience!
The Forums​
Well, I'm not going to patronise you by telling you how to be nice to people etc, but there is often a lot of confusion with regards to the forum rules:
http://forum.xda-developers.com/announcement.php?a=81 (MikeChannon)
I often see moderators with dangerously high blood pressure stressing the following points in particular:
- Use the search button
- Post in the right forums
- Use the search button
- Don't spam/ Flame
- Use the search button
- No ETAs
- Use the search button
If you have owned a device that is supported by XDA before, or have had a look at other device forums, you may of noticed that the development forums for the GSII are slightly different. They are split into two sections:
- Original Android Development
- Android Development
This is an experiment being done by the moderators of the forum that (regardless of my own opinion) is meant to distinguish between 'original' Roms and 'derivative' Roms. For instance; cyanogenmod is a rom built from AOSP source and has been actively developed with added applications, improvements to code etc etc. It is therefore classified as 'original' and placed into the 'original android development' sub-forum. Roms that either use another Rom as a base or do not have any 'original' components are deemed 'derivative' and are placed into the 'android development' forum. Despite this, I urge you to look in both forums! The both have excellent Roms and just because some are deemed 'original' this does not mean they are superior to those that are not. There is great development going on in both forums
Useful Links
CF-ROOT and CWM: http://forum.xda-developers.com/showthread.php?t=1103399
Galaxy S II FAQ:http://forum.xda-developers.com/showthread.php?t=1065995
Korean Galaxy S II Thread: http://forum.xda-developers.com/showthread.php?t=1097347
Android Terminology (from the CM Wiki): http://wiki.cyanogenmod.com/index.php?title=Terminology
Glossary:
Flash - Put new firmware onto your phone
Firmware - A piece of software
OC - Overclock (the processor)
UC - Underclock (the processor)
Odin - Used to flash new ROMs to yor phone
ROM - a piece of firmware, usually modified by a developer
CWM - ClockWorkMod recovery, a very useful tool used to falsh new roms, kernels etc
Nandroid - A method of backing up your existing 'Rom' with all its apps, data, contacts etc. Done through CWM
.apk - The file type that android apps are contained in. To install just click on it!
AOSP - A ROM built from the original google android source, not a customised version of a manufacturers ROM
CyanogenMod - A very popular, customised, AOSP Rom
TO DO
- CWM
- Finish glossary
- ADB
- Additions to rooting section (superuser, busybox etc)
- How to do a backup via CWM
- Expand ODIN section
- Link to stock ROM list
- Create a 'Custom ROM' list with links to all current custom roms
- Explanation of AOSP (including CM, MIUI)
- Forum etiquette
- Useful links
- Backing up the /efs folder
- Custom boot animations
Nice guide, a few remarks:
root in unix terminology is the same as administrator in window, so rooting a phone means you are getting administrative powers, also rooting your phone voids warranty
maybe some other things could be included: the jig, BACKING UP /efs(this should be the most prominent caption) and adb (+adb frontends like qtadb)
nice post
great for learners like me
godutch said:
Nice guide, a few remarks:
root in unix terminology is the same as administrator in window, so rooting a phone means you are getting administrative powers, also rooting your phone voids warranty
maybe some other things could be included: the jig, BACKING UP /efs(this should be the most prominent caption) and adb (+adb frontends like qtadb)
Click to expand...
Click to collapse
Ok thanks for the hints, i will adjust the rooting section accordingly. I'm also going to add a to do list... right now...
Don't forget the /efs directory, if it gets messed up (and sometimes it does) you will loose your phone and data connection permanently and you end up with an expensive Galaxy S mediaplayer. There is no known way to retrieve it and it does get messed up flashing custom roms (many nexus s users now have, well an expensive mediaplayer after flashing a certain rom)
godutch said:
Don't forget the /efs directory, if it gets messed up (and sometimes it does) you will loose your phone and data connection permanently and you end up with an expensive Galaxy S mediaplayer. There is no known way to retrieve it and it does get messed up flashing custom roms (many nexus s users now have, well an expensive mediaplayer after flashing a certain rom)
Click to expand...
Click to collapse
Would you be ever so kind as to write me a definition to add? I'm not going to lie I had never heard of this probelm but it does sound important
willk22 said:
Would you be ever so kind as to write me a definition to add? I'm not going to lie I had never heard of this probelm but it does sound important
Click to expand...
Click to collapse
you can find a guide here: http://forum.xda-developers.com/showthread.php?t=1068193 I didn't write it, I did read about the problems about what could happen if you screw the /efs directory here: http://forum.xda-developers.com/showthread.php?p=12874457
How long before the post is ruined by idiots posting help questions in it .
Is their a way to lock it so as not to detract fro0m a very good stickie .
Just look at the FAQ page totally devoid now of being a FAQ .
Backing up EFS see topic Dev in section .
jje
JJEgan said:
How long before the post is ruined by idiots posting help questions in it .
Is their a way to lock it so as not to detract fro0m a very good stickie .
Just look at the FAQ page totally devoid now of being a FAQ .
Backing up EFS see topic Dev in section .
jje
Click to expand...
Click to collapse
In the desire dev section there is a reference thread, new suggestions are posted and once in a while the thread is cleaned: all the suggestions are added to the OP and then together with useless posts deleted....
JJEgan said:
How long before the post is ruined by idiots posting help questions in it .
Is their a way to lock it so as not to detract fro0m a very good stickie .
Just look at the FAQ page totally devoid now of being a FAQ .
Backing up EFS see topic Dev in section .
jje
Click to expand...
Click to collapse
Well I guess that is something that mabye a moderator can do? It would be a dillema though because I really would like suggestions from the community on how to improve the guide and add suggestions and amendmants... but you are right!
godutch said:
you can find a guide here: http://forum.xda-developers.com/showthread.php?t=1068193 I didn't write it, I did read about the problems about what could happen if you screw the /efs directory here: http://forum.xda-developers.com/showthread.php?p=12874457
Click to expand...
Click to collapse
Thank you, I will add this tommorow!
I've never seen definite evidence that having root voids warrantee.Looking through all the documents it only says things like if you change the software and this causes the problem they won't fix it. I suspect they would still fix a hardware fault. Samsung have given phones to known hackers. It would seem hard for them to argue that rooting invalidates warrantee when they have encouraged it.
Sent from my GT-I9100 using XDA App
drspikes said:
I've never seen definite evidence that having root voids warrantee.Looking through all the documents it only says things like if you change the software and this causes the problem they won't fix it. I suspect they would still fix a hardware fault. Samsung have given phones to known hackers. It would seem hard for them to argue that rooting invalidates warrantee when they have encouraged it.
Sent from my GT-I9100 using XDA App
Click to expand...
Click to collapse
Better safe then sorry!
Plus phones can easily be unrooted.
drspikes said:
I've never seen definite evidence that having root voids warrantee.Looking through all the documents it only says things like if you change the software and this causes the problem they won't fix it. I suspect they would still fix a hardware fault. Samsung have given phones to known hackers. It would seem hard for them to argue that rooting invalidates warrantee when they have encouraged it.
Sent from my GT-I9100 using XDA App
Click to expand...
Click to collapse
It's true, I can't find the reference right now but a member called Kalua( he is an official samsung repair center) posted a part of the official service manual which says it voids warranty
http://gathering.tweakers.net/forum/list_category/13
it's very hard to retrieve/find indivual posts though
edit: found it: http://gathering.tweakers.net/forum/view_message/36107694
Could you explain the usb jig please. Isnt the binary clock reset when re rooting? In fact a whole how to re root your gs2 so samsung will never know guide would be great.
Sent from my GT-I9100 using XDA App
Thanks for this. It's very much appreciated by all noobs to Samsungs. I look forward to future updates
Sent from my GT-I9100 using XDA Premium App
santiago84 said:
Thanks for this. It's very much appreciated by all noobs to Samsungs. I look forward to future updates
Sent from my GT-I9100 using XDA Premium App
Click to expand...
Click to collapse
No problem! I will update everything and continue the 'to do' list as soon as i can...
Very good idea and think this will help a lot of people This will definitely be a good link to send those who are new to the device
drspikes said:
I've never seen definite evidence that having root voids warrantee.Looking through all the documents it only says things like if you change the software and this causes the problem they won't fix it. I suspect they would still fix a hardware fault. Samsung have given phones to known hackers. It would seem hard for them to argue that rooting invalidates warrantee when they have encouraged it.
Sent from my GT-I9100 using XDA App
Click to expand...
Click to collapse
No Rooting letter from Samsung .
http://www.samfirmware.com/apps/blog/show/5267754-newsletter-by-samsung-electronics-
This looks really nice, and will be a good ref for many. I even found myself asking lots of these questions in many threads because I'm used to the HTC way of rooting.
A nice little section to add would be a "unroot your device" for people with warranty purposes. This is a question that pops up everywhere.
Keep up the good work!
Sent from my GT-I9100 using XDA Premium App

★★★★[INFO]ANDROID ROM & How they Work★★★★

★★★★[INFO]ANDROID ROM & How they Work★★★★
Parts of a ROM
i. The kernel.
Android (like many other Smartphone operating systems) runs on the Linux kernel. The Linux kernel was created in the early 1990’s by a gentleman named Linus Torvalds in Helsinki, Finland. It’s incredibly stable, incredibly friendly, and incredibly difficult for the layman to understand and modify. Thankfully it’s also very popular so it has been ported on to a multitude of hardware, including our Android devices.
Think of the kernel as an interface layer between the hardware and software on your device. The kernel decides when things happen, such as the LED indicator gets lit or when the soft button's LED gets lit. An application sends a request to the operating system to blink the LED. The operating system then sends the request to the kernel, which makes the light flash for the amount of time requested by the OS.
What sounds like a round-about way to get things done is also what makes the system so scalable and robust. Application developers only have to code in a way the operating system understands and the kernel makes it work on the hardware. This also keeps the application running in it’s own user-space and separate from the kernel. That means when you run the latest uber-cool app that wasn’t designed for your particular OS version, or is still very beta and it crashes, the kernel gives you the option to Force Close the application and the kernel can run untouched.
In a standard Android ROM (we will leave developer images and the like for another discussion) the kernel is bundled along with a set of instructions that tell the device how to load the kernel and the OS during boot. This is the boot.img that you see inside a zipped ROM that your not able to easily open. The device knows to extract this image to internal memory (the ramdisk) and follow a series of scripts (init scripts) to load the kernel and then the other portions of the OS. That’s what’s happening while you’re watching the boot animation. Interestingly enough this is done the same way for a PC, your smartphone, an Android tablet, or even a smart Linux powered toaster. If you’re feeling exceptionally geeky, plug your Android phone into the USB port on your PC and let the PC boot from the USB device. No, it doesn’t actually load, but you can watch the animation while it tries to match up the hardware support with what’s inside your PC. As I said, Linux is amazingly scalable and as a result so is Android.
What is a kernel? If you spend any time reading Android forums, blogs, how-to posts or online discussion you'll soon hear people talking about the kernel. A kernel isn't something unique to Android -- iOS and MacOS have one, Windows has one, BlackBerry's QNX has one, in fact all high level operating systems have one. The one we're interested in is Linux, as it's the one Android uses. Let's try to break down what it is and what it does.
Android devices use the Linux kernel, but it's not the exact same kernel other Linux-based operating systems use. There's a lot of Android specific code built in, and Google's Android kernel maintainers have their work cut out for them. OEMs have to contribute as well, because they need to develop hardware drivers for the parts they're using for the kernel version they're using. This is why it takes a while for independent Android developers and hackers to port new versions to older devices and get everything working. Drivers written to work with the Gingerbread kernel on a phone won't necessarily work with the Ice Cream Sandwich kernel. And that's important, because one of the kernel's main functions is to control the hardware. It's a whole lot of source code, with more options while building it than you can imagine, but in the end it's just the intermediary between the hardware and the software.
When software needs the hardware to do anything, it sends a request to the kernel. And when we say anything, we mean anything. From the brightness of the screen, to the volume level, to initiating a call through the radio, even what's drawn on the display is ultimately controlled by the kernel. For example -- when you tap the search button on your phone, you tell the software to open the search application. What happens is that you touched a certain point on the digitizer, which tells the software that you've touched the screen at those coordinates. The software knows that when that particular spot is touched, the search dialog is supposed to open. The kernel is what tells the digitizer to look (or listen, events are "listened" for) for touches, helps figure out where you touched, and tells the system you touched it. In turn, when the system receives a touch event at a specific point from the kernel (through the driver) it knows what to draw on your screen. Both the hardware and the software communicate both ways with the kernel, and that's how your phone knows when to do something. Input from one side is sent as output to the other, whether it's you playing Angry Birds, or connecting to your car's Bluetooth.
It sounds complicated, and it is. But it's also pretty standard computer logic -- there's an action of some sort generated for every event. Without the kernel to accept and send information, developers would have to write code for every single event for every single piece of hardware in your device. With the kernel, all they have to do is communicate with it through the Android system API's, and hardware developers only have to make the device hardware communicate with the kernel. The good thing is that you don't need to know exactly how or why the kernel does what it does, just understanding that it's the go-between from software to hardware gives you a pretty good grasp of what's happening under the glass. Sort of gives a whole new outlook towards those fellows who stay up all night to work on kernels for your phone, doesn't it?
Click to expand...
Click to collapse
ii. The operating system.
Once the kernel is loaded, the init scripts tell the Operating System to load. Android is the user interface for a custom built Java virtual machine called Dalvik. Dalvik was written by Dan Bornstein, who named it after the fishing village of Dalvik in Iceland, where his family originated from. The debate of which Java VM is superior is best left for another discussion, so I’ll simply say that DalvikVM is a register-based machine versus true JavaVMs which are stack based.
The Dalvik machine creates executable files (.dex files) which can be interpreted by the OS and run by the end user. These .dex files are OS version dependant. That simply means that applications and core functions built to work with one version of Android may or may not work well with other versions. Google provides the tools through it’s Software Development Kit (SDK) for applications to communicate with the OS.
Click to expand...
Click to collapse
iii. Core functions.
No smartphone would be complete without a set of functions that allow the device to be used as intended. Things like the phone and dialer interface, the calendar, the messaging system are core functions of the Operating System. In Android, these are run on top of the kernel as separate applications. The merits (or lack of) of providing these needed functions as separate applications is once again best left for another discussion, but this is what allows developers like HTC or Motorola to replace the standard functions with alternatives that provide a different look and feel from stock. HTC’s onscreen keyboard or Motorola’s MotoBlur contact list are great examples of this. The “little guy” isn’t left out of the mix either. Handcent SMS or Chomp SMS can integrate into the OS very well, as most of us already know.
An additional set of Core Functions are provided by Google. Popularly called GoogleBits, things like Gmail, sync, Gtalk and the Android Market are applications written by Google that give an extra set of useful functions to the OS. You’ll find these on all smartphones, as well as many other Android devices.
Click to expand...
Click to collapse
iv. Optional applications.
These are applications provided by the manufacturer to give the device even more usability. Things like the Amazon MP3 store, PDF readers, Corporate Calendar etc. allow you to do even more with your device. Remember - Droid Does
Click to expand...
Click to collapse
B. How is a ROM packaged?
In most cases a ROM will come packaged in a .zip file. The recovery image’s kernel (yes, it has one too!) has the ability to unzip and copy the contents into the correct place. Inside this zip file is a folder (META-INF\com\google\android\) that contains a script prepared by the ROM “cooker” (another of those techie terms - it means the person(s) who developed the ROM) that tells the system what to format, what to copy and where, and any file operations that need to be done. Each device does things a bit differently, but this script is where it all gets done. More on this folder later.
You’ll also see a /system folder. This is the meat of the ROM. It has the necessary OS files, the Core functions, and any optional applications the cooker decided to include. The folder is structured the same way it is on your device - /system/app, /system/framework, etc. The whole tree is usually copied over and the existing /system folder is overwritten. The cooker uses the script to tell the kernel to erase the existing system folder, copy the new folder over, and set the file permissions.
Sometimes you will also see a data folder. This usually is space set up for optional applications, including optional system tools like busybox or SuperUser white list. These applications could be placed in the /system folder, but placing them in the data folder makes it easier for the end user (you and I) to remove or update them as needed.
You’ll also notice a META-INF folder. This contains the update script we talked about earlier, as well as secure keys that need to be provided so the device knows the update can be trusted. A special note needs made here. Trusted means that the update is trusted to be in the correct form to load the device. It in no way means the ROM is safe from malicious code. Anyone is able to use a set of test keys and create a ROM that will flash and run your device - even those people with bad intentions. Flashing and running a custom 3rd party ROM is putting faith in the cooker that he or she not only knows what they are doing, but are honest as well. Also, some Motorola custom ROMs will have a small update.zip stored inside this folder to be run on first boot of the device.
Finally we are left with the boot.img file. This is the kernel and ramdisk image we discussed earlier. Your phone copies this over to be decompressed and run when the device boots.
Click to expand...
Click to collapse
2. How do I install a ROM?
In this section we’re discussing how to install a custom 3rd party ROM. ROMs from the manufacturer usually have a utility that runs on your PC to flash and load the new image.
A. Got Root???
Yes ?:good:!!!
Custom ROM’s simply will not load on devices that aren’t rooted. In theory, it may be possible to sign a 3rd party ROM with the keys that the stock recovery image will flash, but for the most part you need to have flashed a custom recovery image before you can change your device’s ROM. Instructions and tutorials on how to root your device are all over the internet. Some are good, some are bad. The hacking forum is a great place to go and learn more about rooting and how to successfully get it done on your device.
Click to expand...
Click to collapse
B. Recovery
Most Android devices have had a custom recovery image written for them. This will overwrite the stock recovery image, allowing you to flash 3rd party ROMs as well as giving extra functionality. Help with finding and flashing the custom recovery image for your device can also be found in the hacking forum. The installation of a custom recovery image also allows for a very important function. Backup and restore.
Click to expand...
Click to collapse
.C. Nandroid
Nandroid is a set of bash scripts and code written by that copies the state of your system and stores it in a folder on your SD card. You can then use the restore function of Nandroid to restore to this point at any time. This is a priceless feature and reason enough to root your phone. It’s included by default in most custom recovery images, and the code is freely available to use if you’re inclined to write your own recovery image.
Click to expand...
Click to collapse
In most situations, using Nandroid to back everything up is easy:
1. Verify you have a memory card with enough free space (~300MB to backup, ~500MB to restore).
2. Reboot your device into recovery. It’s slightly different for each device, once again hacking forum FTW!
3. Navigate through the menu and select the Nandroid Backup function.
4. Apply your choice and wait for the device to tell you it’s finished.
It’s always good practice to copy the entire nandroid folder from your SD card to a safe place. You can then copy it back to the SD card if the card is ever damaged, lost or erased.
D. Copy and Flash
You’re rooted, have downloaded a custom ROM, have your system backed up and are now ready to flash your device. This is not nearly as scary as it sounds.
1. Mount your SD card to your PC, and copy the .zip file to the root folder of the card. Don’t unzip the file, and don’t look for a folder called root. The root folder in this case means the base folder, what you will see when you mount your card to a PC or the device.
2. Reboot your phone into recovery.
3. Navigate through the recovery menu and select the flash update option. Depending on your recovery image, the file may need to be named update.zip, or you may be able to select any zip file on your card as long as it’s the correct format. The cooker knows this as well and if the ROM needs to be named update.zip it will be.
4. Apply your choice and wait for your device to tell you it’s finished.
5. Reboot.
Click to expand...
Click to collapse
It’s worth noting that many times a new ROM will require that you wipe and factory reset your devices data. While inconvenient, it’s often necessary to get rid of the old data as it may be incompatible. As long as you’re using the cloud for calendar and contacts, they will be re- downloaded and stored back on your device automatically.
Dirty flash and Clean flash
A dirty flash is only wiping cache and davlik then flashing your ROM....
a Clean flash is at LEAST factory reset/data wipe + wiping davlik(factory wipe takes care of /cache also)... Maybe doing a format /system also.
***Odin***
Odin is the ROM Flashing Tool for SAMSUNG smartphones. ROM files flashable with Odin come with .tar extension.
Most of the ROMs you are going to flash with Odin are the official stock Samsung ROMs (or leaked stock ROMs). Custom ROMs are rerely flashable by Odin because they come with .zip extension that Odin does not recognize (it recognizes .tar files).
Custom kernels, however, are sometimes provided in .tar format by their developers (e.g. CF-Root kernels), so that they can be flashed by Odin. When your phone is new and running official firmware you most often cannot flash a custom ROM to it because a Samsung phone often requires a custom recovery and root rights that are included in a custom kernel to be able to flash custom ROMs. That's why Odin often comes in handy in rooting and flashing a custom firmware to your phone because you (often) can flash a custom kernel with it that already includes root and custom recovery and enables you to flash custom firmware (custom ROMs). I use the word "often" very frequently in the previous sentence because every Samsung smartphone is different and requires various procedures for rooting it and flashing custom ROMs (see the section about using Odin below).
If it comes to stock ROMs, the best source of stock (official) Samsung ROM files is located at this excellent website: SamMobile.com/firmwares (link). It requires registration (it's free) and I encourage you to set up an account there because you will most likely use this site several times during your stay at XDA. You will most likely come across 1 .tar or 3 .tar file ROMs there, flashable by Odin. Refer to the Odin flashing guide below for more info.
Click to expand...
Click to collapse
****Heimdall****
What is Heimdall?
Heimdall is a cross-platform open-source tool suite used to flash ROMs onto Samsung Galaxy S devices.
How does it work?
Heimdall uses the same protocol as Odin to interact with a device in download mode. USB communication in Heimdall is handled by the popular open-source USB library, libusb-1.0.
Why “Heimdall”?
The flashing software Odin is named after the king of gods in Norse mythology. Loke, the software component on the Galaxy S that provides functionality to flash, may also to be named after an important character in Norse mythology, often translated as Loki. As such I have named my flashing software Heimdall, after the Norse god, and guardian of the Bifrost Bridge.
What platforms does Heimdall run on?
Linux, OS X and Windows (XP, Vista, 7 etc.)
Why use Heimdall when we can use Odin?
Odin is generally unreliable and only runs on Windows systems. Furthermore, Odin is leaked Samsung software that is not freely available or well understood by the community.
Is Heimdall safe?
No matter what method you chose, flashing firmware onto your phone has a lot of potential for disaster. We have tested Heimdall with a variety of phones flashing several different firmware versions resulting in a 100% success rate. As such we believe that Heimdall is generally reliable. However keep in mind, just like any flashing software, Heimdall has the potential to brick your phone if not used correctly.
How do Galaxy S phones get bricked when flashing?
Besides the inherent risks like power outs, accidental removal of the USB cable etc. The Galaxy S appears to be running extremely unreliable USB control software.
A failure to flash does not automatically equate to a bricked phone. However if you're extremely unlucky and the flash fails whilst transferring the primary boot-loader, secondary boot-loader or params.lfs (all quite small) than you've got yourself a paper weight that you're hoping Samsung will replace.
Please be extremely careful mixing files from different firmware releases. Don't do so unless you're certain it will work!
What Galaxy S variants has Heimdall been tested with?
We’ve tested Heimdall with a Galaxy S GT-I9000 (8 GB) from the United Kingdom and Galaxy S GT-I9000 (16 GB) from Australia. We don’t personally have access to any other devices to test with, however users have confirmed Heimdall functions correctly with the AT&T Captivate, Bell Vibrant, Telstra GT-I9000T, Epic 4G and the Galaxy Tab.
Click to expand...
Click to collapse
^
CWM Errors and Solutions
ERRORS encountered in CWM Recovery
.
What is CWM Recovery ?
ClockworkMod Recovery is a custom recovery for many Android devices. It is considered to be the most popular recovery for Android due to its easily-ported nature, and integration with ClockworkMod ROM Manager by Koush(Koushik Dutta). The easiest way to recognize it is by the printed name when it first starts, and the background logo of a gear and hat.
Click to expand...
Click to collapse
ERROR STATUS 6
This is usually caused by CR/LF EOL(Windows style End Of Line) in updater-script. Change it to LF EOL(Unix Style EOL) using Linux command: dos2unix updater-script, then re-signing the ZIP, will usually fix this error.
Click to expand...
Click to collapse
ERROR STATUS 7
This is usually caused by a corrupt download, or bad file signature. Re-downloading (or re-signing) the ZIP will usually fix this.
Click to expand...
Click to collapse
We have been consistently seen and heard people facing error “Status 7″ error while trying to flash or install
custom ROMs or firmware packages on their Android smart phones or tablets with ClockworkMod Recovery. Many
of the users are nowadays facing this problem with CWM Recovery while flashing .zip files of modded or custom
Ice Cream Sandwich (ICS) or Jelly Bean (JB) ROMs on their devices. So, you have also downloaded a custom ROM,
placed its .zip file in your phone’s or tablet’s SD card, booted into ClockworkMod Recovery, selected – “install zip
from sdcard” and then chosen the .zip file of the ROM to get it installed on your device. But instead of getting
flashed successfully, if you are facing the issue mentioned below, then just keep reading this article to find out
what’s wrong and fix up the problem :
Finding update package…
Opening update package…
Installing update…
Error in /sdcard/custom-jelly-bean-rom.zip (Status 7)
Installation aborted
Click to expand...
Click to collapse
or the following error right after CWM recovery shows –
Installing update…
assert failed: getprop(“ro.product.device”) == “I9103″ || getprop(“ro.build.product”) == “I9103″ || getprop
(“ro.product.board”) == “I9103″
Error in /sdcard/android-4-1-1-ics-rom-latest.zip (status 7)
Click to expand...
Click to collapse
So, if you are facing any of these errors while trying to install the desired custom ROM package on your Android
phone or tab, then you may try a various things or steps which may turn out to be the workaround of this
problem. Here are a few tips to get this “Status 7” error fixed in ClockworkMod Recovery and flash the ROM
successfully on your device :
(1) First of all, make sure your device’s bootloader is unlocked. If it is already unlocked but you are still
not able to flash the ROM, then just extract the .zip file of the ROM into a new folder, find the boot.img file from
that directory and flash it up on your phone or tablet via fastboot on your PC.
(2) Make sure that you are having the appropriate Radio or Baseband version installed on your device which is
supported by the custom ROM you are trying to flash. Most of the ROMs requires the latest version of Baseband, so
just update or upgrade your device to the latest Baseband version and then try to install the ROM once again.
(3) Update your device to the supported / latest build of official firmware before trying to install the ROM. You can
do it from – Settings > About Phone / Device > Software Update.
(4) Make sure you are having the supported or required kernel installed on your phone or tab. If it’s not, then flash
a new kernel right away and try to install your custom ROM once again.
(5) Is the ROM which you are trying to flash really works ? Find out whether it is working for other users or not.
Click to expand...
Click to collapse
Error Status 0
Well sometimes while flashing some ROMs especially the cooked ones we get Error status 0 in the CWM Recovery
this error is an indicator of Wrong Update Binary.This is usually caused by an incompatible update-binary in edify ZIPs. Replacing it with a compatible one, then re-signing the ZIP, will usually fix this error.
Click to expand...
Click to collapse
Partitions
Now it's time for the partitions :good:
Let’s start with a list of standard internal memory partitions on Android phones and tablets. These are:
/boot
/system
/recovery
/data
/cache
/misc
In addition, there are the SD card partitions.
/sdcard
/sd-ext
Note that only /sdcard is found in all Android devices and the rest are present only in select devices. Let’s now take a look at the purpose and contents of each of these partitions.
/boot
This is the partition that enables the phone to boot, as the name suggests. It includes the kernel and the ramdisk. Without this partition, the device will simply not be able to boot. Wiping this partition from recovery should only be done if absolutely required and once done, the device must NOT be rebooted before installing a new one, which can be done by installing a ROM that includes a /boot partition.
/system
This partition basically contains the entire operating system, other than the kernel and the ramdisk. This includes the Android user interface as well as all the system applications that come pre-installed on the device. Wiping this partition will remove Android from the device without rendering it unbootable, and you will still be able to put the phone into recovery or bootloader mode to install a new ROM.
/recovery
The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it. To learn more about this partition and its contents, see the ‘About Android Recovery’ section of our guide to ClockworkMod recovery.
/data
Also called userdata, the data partition contains the user’s data – this is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially performs a factory reset on your device, restoring it to the way it was when you first booted it, or the way it was after the last official or custom ROM installation. When you perform a wipe data/factory reset from recovery, it is this partition that you are wiping.
/cache
This is the partition where Android stores frequently accessed data and app components. Wiping the cache doesn’t effect your personal data but simply gets rid of the existing data there, which gets automatically rebuilt as you continue using the device.
/misc
This partition contains miscellaneous system settings in form of on/off switches. These settings may include CID (Carrier or Region ID), USB configuration and certain hardware settings etc. This is an important partition and if it is corrupt or missing, several of the device’s features will will not function normally.
/sdcard
This is not a partition on the internal memory of the device but rather the SD card. In terms of usage, this is your storage space to use as you see fit, to store your media, documents, ROMs etc. on it. Wiping it is perfectly safe as long as you backup all the data you require from it, to your computer first. Though several user-installed apps save their data and settings on the SD card and wiping this partition will make you lose all that data.
On devices with both an internal and an external SD card – devices like the Samsung Galaxy S and several tablets – the /sdcard partition is always used to refer to the internal SD card. For the external SD card – if present – an alternative partition is used, which differs from device to device. In case of Samsung Galaxy S series devices, it is /sdcard/sd while in many other devices, it is /sdcard2. Unlike /sdcard, no system or app data whatsoever is stored automatically on this external SD card and everything present on it has been added there by the user. You can safely wipe it after backing up any data from it that you need to save.
/sd-ext
This is not a standard Android partition, but has become popular in the custom ROM scene. It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. It is especially useful on devices with little internal memory allotted to the /data partition. Thus, users who want to install more programs than the internal memory allows can make this partition and use it with a custom ROM that supports this feature, to get additional storage for installing their apps. Wiping this partition is essentially the same as wiping the /data partition – you lose your contacts, SMS, market apps and settings.
With this, we conclude our tour of Android partitions. Now whenever you install a ROM or mod that requires you to wipe certain partitions before the installation, you should be in a better position to know what you’re losing and what not and thus, you’ll know what to backup and what not.
You should at least post the source of such a large copy paste post.
Sent from my GT-N7100 using Tapatalk 2
Source? How do you post a source for an article which is compiled from 10+ sites? Plus my own addition?
Started from the bottom
Good job man, this saves me the time to do all this researches.
Keep it up
Best regards
Sifou
Using a Samsung N7100
sos_sifou said:
Good job man, this saves me the time to do all this researches.
Keep it up
Best regards
Sifou
Using a Samsung N7100
Click to expand...
Click to collapse
DO tell me if you have some suggestions for the thread.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
I think that this is a pretty good summary of the basics. I even converted it to epub and stocked it on my e-reader for reference
You can get to the details if you want? Adding some info about flashing softwares like odin and the Linux based one (i don't remember it name)
The different recoveries available and their advantages vs désavantages
How to protect yourself from malicious applications, starting from knowing what are permissions...
Keep it up mate
Best regards
Sifou
Using a Samsung N7100
sos_sifou said:
I think that this is a pretty good summary of the basics. I even converted it to epub and stocked it on my e-reader for reference
You can get to the details if you want? Adding some info about flashing softwares like odin and the Linux based one (i don't remember it name)
The different recoveries available and their advantages vs désavantages
How to protect yourself from malicious applications, starting from knowing what are permissions...
Keep it up mate
Best regards
Sifou
Using a Samsung N7100
Click to expand...
Click to collapse
Heimdall?
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Tha TechnoCrat said:
Source? How do you post a source for an article which is compiled from 10+ sites? Plus my own addition?
Started from the bottom
Click to expand...
Click to collapse
I guess you have a point, it's just the scientist in me with source-referral-ocd.
Sent from my GT-N7100 using Tapatalk 2
adytum said:
I guess you have a point, it's just the scientist in me with source-referral-ocd.
Sent from my GT-N7100 using Tapatalk 2
Click to expand...
Click to collapse
DO tell me if you have any problems or if you want something to be added.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Thread updated with Odin and Heimdall information.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Tha TechnoCrat said:
Source? How do you post a source for an article which is compiled from 10+ sites? Plus my own addition?
Started from the bottom
Click to expand...
Click to collapse
By listing ALL the different sources? And obviously crediting yourself with bits you've added.
Sent from my GT-N7100 using xda premium
You should make the title of the thread more presentable though.
Simone said:
You should make the title of the thread more presentable though.
Click to expand...
Click to collapse
Would like some suggestions.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Tha TechnoCrat said:
Would like some suggestions.
"Thanks button is just to avoid "THANKS" posts in threads. Nothing more than that. Don't ask in signature or post for it and defeat the purpose why it was introduced"
Click to expand...
Click to collapse
You should think of your own. That would be the best
Make it more professional looking, though.
Everything else is good.
Guys I have got my Note 2 finally. Will compile some guides for it too.
Sent from my GT-N7100 using xda app-developers app
You bought a note 2? Congrats mate !
Best regards
Sifou
Using a Samsung N7100
sos_sifou said:
You bought a note 2? Congrats mate !
Best regards
Sifou
Using a Samsung N7100
Click to expand...
Click to collapse
Thanks buddy. Get ready for more guides
Sent from my GT-N7100 using xda app-developers app

[INFO][Guide][Noob] [Android] [ROM][Kernel][Recovery][Development]

Hello all,
I know there are many people who are curious about android or/and are about their new device. With this in mind, I have decided to give a brief idea about Android and its different aspects. I will use as simple words as possible.
Every highlighted word is a term that is used often at XDA or just refers to the word in FAQs in case you cannot find it.
ANDROID is an open-source (thus possibilities endless) mobile operating system (OS) based on the Linux kernel and currently developed by Google
With a user interface based on direct manipulation, Android is designed primarily for touch screen mobile devices such as smartphones and tablet computers, with specialized user interfaces for televisions (Android TV), cars (Android Auto), and wrist watches (Android Wear).
ANDROID is usually based on these four major components:
ROM :
It is the system on which phone works (like windows for PC). Or simply called an Operating System. Can be Custom/Stock. Usually you need a custom or official tool to install/ repair a STOCK rom.
KERNEL is a part of ROM which is a programmed code that tells the phone how to function in accordance to the ROM & hardware capabilities. It can also be Custom/Stock. Sometimes they are used to enhance user experience, performance, battery life by small changes made to them. Some kernels are specific to ROMS.
DIFFERENCE BETWEEN CUSTOM/STOCK
When you buy your phone/tablet from a retailer, you are on STOCK ROM and STOCK KERNEL. (its from your mobile manufacturer and in this case straight from Google as it is a nexus device. Thus it is called a STOCK ROM/ STOCK KERNEL.
The STOCK ROM & KERNEL is usually an all-rounder to fit most of the users. However, some people are not happy with the limited option available on their devices. As Android is open sourced, and thus easily customized, they want to explore different options by tweaking their devices
In other words, some people like gaming on their devices while other want to increase the battery time, speed, performance etc and the possibilities are very vast as what we want from our devices. Like a person who likes to read books on his device would not care for heavy gaming performance but appreciate if he can get more juice out of his device so he can read more on a single charge.
Therefore, we can say we all need different flavours and thus there is a need for customisation. However, there could be some minor disadvantages too that come with some advantages like overclocking can result in heating and quick battery drain while it increases performance. Also, increased battery life might slow down your device if you are tweaking or under-clocking it too much Therefore, most of the developers try to find the best combination of both performance and battery. However, some custom ROMS/Kernels are developed with specific functions in their core like they might focus only on performance and gaming while other might just ignore heavy gaming and focuses on battery usage. Therefore, it is to your advantage to use your device how you like want it to function according to your preference.
By customisation, we run our devices to our needs and get the most out of it in accordance to how we want to customise it.
SOME CONSIDERATIONS
All devices ROMs and KERNEL are specific. This means stock/custom ROM for every device is specific so you cannot flash a ROM which is made for other device. This can permanently damage your phone. A famous Custom Rom is CyanogenMod which is currently on version 12.1. Although the ROM would be same for many devices, but you can not flash CM12.1 for Xperia M to Xperia M2 etc. In the same way, you can not flash custom/stock kernel of one device to another.
Rom can be installed via official tools provided by manufacturer or by using custom tools. Usually when you flash a STOCK ROM, it flashes SYSTEM+KERNEL+RECOVERY. However, some unofficial tools can help you flash any one component of the ROM. It could be Kernel/ Recovery or System.
RECOVERY
Recovery is also a part of ROM which is basically a backup mechanism of your device which lets you install stock ROM to your device if something has been corrupted in your device software. However, many CUSTOM recoveries are available which are necessary for flashing CUSTOM ROMS, MODS to modify your ROM and also you can backup your ROM(called nandroid backup), partition your sd card amongst many other uses. Recoveries could also be flashed via kernel as they are preinstalled.
BOOTLOADER is basically a lock in your device which doesn't allow modifications to your phone by the Manufacturer. Unlocking bootloader voids your warranty and stops automatic updates of your STOCK ROM. However, you can easily lock your bootloader again any time or manually install STOCK Updates.
Remember you should usually unlock bootloader before rooting unless you are installing a custom rom which is pre-rooted and allows locked bootloader.
ROOTING
This is basically a powerful exploit to take over your system and kernel of your device. It simply means that some system files which couldn't be modified can be changed now. It is as if you have complete power of your ROM and hardware. There are no restrictions from your manufacturer and thus you can change values , overclock your processor or put your hardware in hibernation to increase battery life, turn on/off your cores , speed or enforce 3D gaming cards to play HD games which you couldnot play before. However, this is a very tricky business so if you mess it up and not sure what you are doing, you can really end up with a bricked phone.
Usually apps are used to change these values or it could be done via SDK tools/ programming. To be sure if you are rooted or not, you can install ROOTCHECKER app from PLAYSTORE.
ADVANTAGES OF ROOTING
- You get full access to your phone's Hardware and software
- You can Overclock CPU clock speed and make phone faster
- You can Install many mods to improve camera, audio and video playback quality
- You can Install Beats Audio Drivers/others to enhance audio output
- You can increase speaker / earphone volume using volume hack
- You can Install Custom ROMs and Apps
- You can take the hell out of your device and Improve user experience
Rooting is safe and reversible, You can unroot your phone if you want. It won't void you're warranty etc
DISADVANTAGES OF ROOTING
-Chance to brick your device if the wrong software gets flashed. This can be EASILY reversible
-Warranty is void. You can flash STOCK ROM again and no one will have a clue you did that. So it can be reversible.
-Because, after Rooting you give permission (apps prompt, it's not by default) to apps to change values so if you give it to a malicious app, it can result in Viruses or security/privacy breach.
In all honestly, I am using rooted devices for over 5 years now and I never had any problem with viruses however, I have bricked my device innumerous times by accident. (I have flashed and rooted my device almost every one to two weeks and I have bricked my devices so many times in testing phase of Roms). I was always able to retrieve back the device with some tools and thus it was not much of a problem.
DIFFERENCE BETWEEN GOOGLE NEXUS DEVICE AND A NON NEXUS DEVICE
GOOGLE NEXUS DEVICES give you vast freedom to install custom roms and it is comparatively very easy to unlock bootloader of these devices so a custom Rom can be flashed. (Flashing rom is equivalent to installing windows in PC). You can understand that a Nexus device only needs one command to unlock its bootloader while others could trouble you a lot for that.
Also, Google is very quick with updates on their devices which mean that you will get the latest software updates officially as they come out. Thus, even staying on STOCK ROM is not a bad choice for many users. Every update increases stability and gets rids of bugs. And of course, sometimes the bugs are not ironed out well and come back
NON NEXUS DEVICES do not give you as much freedom as a Nexus device. It is usually much harder to unlock their bootloader, develop on these devices and usually some exploits are needed to run custom ROM/root/kernels. Manufacturers or these devices try their level best
to narrow down the exploits as in other words, the more exploits a device has, the less secure it tends to be.
SOME CUSTOMISATION DIFFERENCES
As it is a nexus device so Asus has no say on any customisation at all. Thus, Nexus devices are said to run the PURE ANDROID and give you the best android experience in my opinion. However, usually manufacturers customise pure android from Google. To understand better, Google is responsible for development of the android OS so every new version is made by Google and then it is open sourced to manufacturer of different devices. Manufacturers like Samsung/Sony/Motorola/HTC customize the code provided by Google to customize it to their likings. This can result in some added options but can also result in slow performance if there has been too much customization from a device maker. Google itself is only responsible for the software and DOES NOT make any hardware itself.
Also, many manufacturers take a small fee from some app developers and install their apps with every device they produce. It is good news for app developer and manufacturer but usually a burden for users as not only they hog RAM, diskspace, and slow down the device they also are useless to many users. Referred to as BLOATWARE
SUPPOSE YOU HAVE DECIDED TO INSTALL CUSTOM ROM/ KERNEL.
This is a short synopsis of steps which are explained in details later in the post :
1.Unlock your bootloader
Some phones have unlocked bootloaders out of box (Not anymore)
2.Root your phone , which can be done via flashing a custom prerooted kernel or by binary method. There are innumerous ways now actually so usually visiting your device forum will help you find it.
3. Flash a recovery. This step can be done before or after unlocking your bootloader. Even you can root your phone via flashing SuperUser in recovery. However, sometimes, you need a rooted device before you can install a custom recovery using exploit/ scripts method.
SOME COMMON MISTAKES AND PREREQUISITES:
1. Make sure what ever you do, do it as administrator on your PC.
2. Make sure drivers are installed properly for your device.
3. Make sure, USB debugging is ON
4. Unknown Sources is ticked as well
5. Windows 7 is usually quick to install drivers itself. In windows 8 however you have to manually install drivers.
6. There are tools like SDK which is about 500mb which can help you to install drivers/fastboot etc but this is the long route. I suggest you just find platformtools in attachment which would be enough for cmd commands.
UNLOCKING BOOTLOADER :
I will give you a rough idea and it is NOT a guide to unlock your bootloader !
Basically, when you buy your phone it is locked from the manufacturer so no changes can be made to the software(STOCK ROM & KERNEL ) and thus this way, they can stop users to modify their software which might damage the device and they do not want to be responsible for that. So unlocking bootloader voids your warranty. However, this can be reversible.
ROOTING :
What you do in rooting is either flash a kernel via fastboot or exploit your device using binary method. This gives you permenant root, however there are ways to get temporary root too.
ROMS & KERNELS :
You choose a rom to your likings and then flash it via recovery. Usually the instructions are given on every rom as there is slight change as to how to flash it.
There many Roms & Kernels made by developers after lots of hardwork and testing. Thus every rom that surfaces might not be good for you but best for another user. Thus, it is never good to compare roms. What might work for you might not work for another.
I hope this helps!
MORE TERMS CLICK HERE
DEVELOPMENT PROCESS
INTRODUCTION
I am starting this forum in hope of educating my readers about ROM development according to my experiences. Further, I will highlight what is the usual developers' thought process before they decide to build a ROM for a specific device. The reasons why they usually choose a certain device or why they prefer one device over another would also be stated briefly. I also have intention of looking into ways how we can speed up ROM productions for any device and what you can do to play your part.
I UNDERSTAND YOUR FRUSTRATION FOR NO CUSTOM ROMS EVEN AFTER SOME MONTHS BUT THIS DOESNOT GIVE YOU THE RIGHT TO SPAM
I am sure many of you must be really disappointed by the lack of development for your device and I know this must be frustrating when we see other devices are getting ROMS so quickly. I know many are too excited when they find a little about any OTA/ Custom ROM and sharing such news is fully justified. However, it's beyond my logic & thinking why the forums are SPAMMED for any little information they might find anywhere regardless of their sources or if it has been ALREADY POSTED. I reckon many of these threads could have been avoided by simply searching in the forum.
ROM DEVELOPMENT
I can assure you that many develoeprs are working very hard to PORT and develop different ROMS for a device. However, the reason we can not see any CUSTOM roms till yet is due to complicated nature of a device itself.
Usually developers prefer a device which is :
1. Easy to work with, less complicated to code with or in other terms DEVELOPER friendly. For example, for a while I had a real issue with HTC phones as they have too many things to work with like Bootloader, S Lock, Radios, Hboot version etc while in Nexus devices you only need to unlock your device with one fastboot command. That's all and you are ready to flash ROMs.
2. Personal preference of Device. This simply means that we all have different tastes and thus we choose different devices. A certain developer might only work for a certain brand while other might work with few brands. This has nothing to do with anything but a personal choice.
3. A device that promises reward in terms of money/self satisfaction. Developers usually go for devices which have most active users so if their intention is also to get some money out of it in terms of donation, this will work well with devices which are more in number.
4. Knowledge about a certain brand more than another.
5. MONEY TO BUY A CERTAIN DEVICE/DEVICES. Suppose a developer wants to make ROMS for Xperia L/ SP/Z and Xperia U. Yet he only has 500 dollars to choose from. He then will have to make a choice between devices and this will eventually mean that not all of the devices get the same treatment. Money is the most decisive factor why a developer doesnot chose your device but rather another. For example purpose only, if I have to choose between devices, I might prefer SP over Xperia L as I can see more future of SP than Xperia L(I might be wrong).
6. Simply he bought a device or it is gifted/donated to him
SOME REQUESTS
Please STOP bugging developers by trivial questions. Just think how many other people ask the same question and it gets very frustrating to actually work on the device itself.
Every developer has a LIFE apart from developing ROMs. They also have a family, school, work, hobbies, bad days and so much like us. So they will do it when they feel like doing it. Just sit back and relax. Enjoy your device until developer releases the ROM for your device. Asking a REASONABLE question seems plausible but asking same questions/useless questions without using brains is just STUPID. Kindly refrain from that.
If you have seen a developer who has taken the initiative to work on your device , the best thing to do is to be patient. Let him concentrate. Spamming and spamming again won't help really.Yet some users start SPAMMING developers, their twitters, blogs and accounts. That's really sad. You can discuss on the forum what you think about it but IRKING developers isnot really cool.
WHAT CAN YOU DO TO HELP DEVELOPERS AND SEE CUSTOM ROMS.
1. Search the form first and look for answers. DON'T start new posts/questions/threads when it is ALREADY mentioned in some other section.
2. STOP PMing/SPAMING developers but rather ask a question WHICH havenot been asked before in the forum. Do not engage in the habit of making a new forum for everything. Try to keep threads as little as possible.
3. Follow developers and see what they have updated about on their official twitter,facebook,etc rather than bugging them on different forums/social websites.
4 DONATE THEM. DONATE THEM . DONATE THEM!
The amount of efforts they put, sitting for hours in front of their PCs and I know how frustrating it gets when you try to run commands and everything seems to work yet you can not boot up your ROM. And worse, you can not find WHY really. Just a change in line in build.prop results in failure of ROM to boot up and specially working from source to build ROM is really really tough. The best thing you can do is being supportive and patient !
A ROM development requires not just EXCESSIVE amount of hardwork, time, energy and dedication but also they need MONEY to actually buy devices and try it on. They are happy and encouraged to keep on developing ROMs when they see their efforts are not wasted and they are rewarded and respected for what they do.
SOME BASICS OF ROM DEVELOPMENT
Usually this is required to make a full custom ROM
Blobs which contain hardware information which comes from hardware manufacturer like Qualcomm in case of Snapdragon processors
A fully functional device tree
Latest Android source (Or the android version source you want to build for)
Specific Custom ROM coding which is based on Android Source
Usually a device tree and kernel tree is needed before custom roms can be made available. This is a long trial and error process in which every component of hardware is made functional as usually manufacturers do not provide any code for their devices and thus new code is to be written which is very frustrating and long process!
FAQs :
BRICKED : Two types. hard or soft.
Hard bricked is when your phone hardware information is damaged. Now it is an expensive paper weight and it would only revive if you either send it to a JTAG technician or change motherboard of your device.
Soft is when your device ROM/kernel is damaged and thus it can be easily revived.
NOOB FRIENDLY : A guide that anyone with no knowledge of android can use
TWEAKINGimprove performance by making fine adjustments to it.
BLOATWARE Useless apps which come preinstalled in a stock rom from a manufacturer.
Sometimes, developers PORTone particular feature of a phone to another. This means, a function specific to one phone can be used in another but bear in mind, the hardware should support it. Like LG has knox feature which means that you can tap on the screen to wake it up or turn off the screen. Now it is a common feature of many kernels. LG was first to introduce it officially in their stock rom but the feature is a bit old. Even Asus Zenfone 2 uses tap to wake feature.
Nice One Brother
ARGHA_DAS said:
Nice One Brother
Click to expand...
Click to collapse
I am glad this was of help to you
What's in the 'boot' partition?
Sent from my Nexus 7 using Tapatalk
AbyssBreak said:
What's in the 'boot' partition?
Sent from my Nexus 7 using Tapatalk
Click to expand...
Click to collapse
This guide should be of help
/boot
This is the partition that enables the phone to boot, as the name suggests. It includes the kernel and the ramdisk. Without this partition, the device will simply not be able to boot. Wiping this partition from recovery should only be done if absolutely required and once done, the device must NOT be rebooted before installing a new one, which can be done by installing a ROM that includes a /boot partition.
/system
This partition basically contains the entire operating system, other than the kernel and the ramdisk. This includes the Android user interface as well as all the system applications that come pre-installed on the device. Wiping this partition will remove Android from the device without rendering it unbootable, and you will still be able to put the phone into recovery or bootloader mode to install a new ROM.
/recovery
The recovery partition can be considered as an alternative boot partition that lets you boot the device into a recovery console for performing advanced recovery and maintenance operations on it. To learn more about this partition and its contents, see the ‘About Android Recovery’ section of our guide to ClockworkMod recovery.
/data
Also called userdata, the data partition contains the user’s data – this is where your contacts, messages, settings and apps that you have installed go. Wiping this partition essentially performs a factory reset on your device, restoring it to the way it was when you first booted it, or the way it was after the last official or custom ROM installation. When you perform a wipe data/factory reset from recovery, it is this partition that you are wiping.
/cache
This is the partition where Android stores frequently accessed data and app components. Wiping the cache doesn’t effect your personal data but simply gets rid of the existing data there, which gets automatically rebuilt as you continue using the device.
/misc
This partition contains miscellaneous system settings in form of on/off switches. These settings may include CID (Carrier or Region ID), USB configuration and certain hardware settings etc. This is an important partition and if it is corrupt or missing, several of the device’s features will will not function normally.
/sdcard
This is not a partition on the internal memory of the device but rather the SD card. In terms of usage, this is your storage space to use as you see fit, to store your media, documents, ROMs etc. on it. Wiping it is perfectly safe as long as you backup all the data you require from it, to your computer first. Though several user-installed apps save their data and settings on the SD card and wiping this partition will make you lose all that data.
On devices with both an internal and an external SD card – devices like the Samsung Galaxy S and several tablets – the /sdcard partition is always used to refer to the internal SD card. For the external SD card – if present – an alternative partition is used, which differs from device to device. In case of Samsung Galaxy S series devices, it is /sdcard/sd while in many other devices, it is /sdcard2. Unlike /sdcard, no system or app data whatsoever is stored automatically on this external SD card and everything present on it has been added there by the user. You can safely wipe it after backing up any data from it that you need to save.
/sd-ext
This is not a standard Android partition, but has become popular in the custom ROM scene. It is basically an additional partition on your SD card that acts as the /data partition when used with certain ROMs that have special features called APP2SD+ or data2ext enabled. It is especially useful on devices with little internal memory allotted to the /data partition. Thus, users who want to install more programs than the internal memory allows can make this partition and use it with a custom ROM that supports this feature, to get additional storage for installing their apps. Wiping this partition is essentially the same as wiping the /data partition – you lose your contacts, SMS, market apps and settings.
With this, we conclude our tour of Android partitions. Now whenever you install a ROM or mod that requires you to wipe certain partitions before the installation, you should be in a better position to know what you’re losing and what not and thus, you’ll know what to backup and what not.
All credits to the writer Haroon Q Raja
Click to expand...
Click to collapse

[WINDOWS] [DOWNLOADS] Would we want a Lineage OS Installer?

Hello!
Normally when I come on the XDA forums, I am asking a question, because I end up making a silly mistake in Android. I never like to put out promotional content for attention, and that is surely what I am not doing here, I am simply putting my work out there to see if the community would like it and if we do like, we can begin setting it up for other devices immediately. Now, I am not a skilled programmer at all, but I know SOME Visual Basic with Windows Forum Applications, so I thought "why not give it a shot." I just wanted to say that.
So I made this simple little application called Lineage OS Installer. Now, reading through some of the comments on the Lineage OS Reddit page, some people were asking if there would be an installer for Lineage OS, and there was a good amount of people who did not want one, which makes sense; people should know what they are getting into, and understanding ADB and Fastboot is indeed important. However, sometimes, there is a person who is not involved with ROMS, who is fine with OEM Android, who does not want to use root and what not, however, they want the latest version of android possible for their device, and that was a main point of CyanogenMod; users could get the latest version of android on their phone and tablet when their manufacturer/carrier stopped supporting it. However, the installation can be intimidating, and for the user that I just described earlier, the user who does not want root and what not, that could mean they won't bother attempting to install a custom ROM. However, this application automates the process; all the user needs to do is click some buttons, and press Enter a few times to install LineageOS.
I understand I don't need "permission" to distribute this program, however, I am just asking if the overall community would support the use of this program.
NOTICE: The applicaton may fail to start properly. I am investigating this issue. In the meantime, ensure you have the latest .NET Framerwork([url]https://www.microsoft.com/en-us/download/details.aspx?id=55170&desc=dotnet47[/URL]). If that doesn't work, try building from the source ([url]https://github.com/PJBeans/LineageOS-Installer/wiki/How-to-build-from-the-source[/URL])
This is a simple graphical and command-line based installer designed to make it easier to install LineageOS; this program is aimed at beginners. It is not the prettiest program ever, but it still works with my Nexus 7 2013 WiFi just fine
Possible support for flashing root may become available in the future.
If you notice a bug (an issue with the application), please submit it here: https://github.com/PJBeans/Lineage-OS-Installer/issues
Features:
[ADB and Fastboot is required, but NOT included.]
- Instructions for enabling Developer Options, USB Debugging, and OEM Unlocking (if required)
- Embedded browsers to download TWRP, GApps, and LineageOS
- Automatically creates a backup with TWRP.
- Flashes TWRP, LineageOS, and GApps with minimal user interaction; no TWRP interaction required! (The most they really do is confirm they want to unlock the bootloader)
If you have a secondary device that supports LineageOS, perhaps you could try out this program and report your results [in a reply to this thread]! In order to make this as stable as possible, it would require lots of testing, and I do not plan on buying each and every Android phone anytime soon. If you want to test this program, use the prebuilt version, as the Source version may contain undocumented bugs blocking one from their goal. Note that:
- It may screw up your device. No automatic restore process is implemented yet, so make sure to have some sort of recovery tool handy.
- When you report back, please include the version of the program you used (as identified in the Downloads section), along with your device.
- CURRENTLY ONLY FOR NEXUS (AND PROBABLY ONEPLUS) DEVICES! HTC, LG, AND OTHERS THAT REQUIRE A BOOTLOADER UNLOCK SITE OR DEVICES WITH A DIFFERENT INSTALLATION PROCESS ( *cough cough* SAMSUNG) ARE NOT SUPPORTED!!
Screenshots:
Coming Soon
Downloads:
Prebuilt
Prebuilt [VB.NET]: (Version 2.0) https://github.com/PJBeans/LineageOS-Installer/releases (Tested on Nexus 7 2013 WiFi)
CURRENTLY FOR TESTING PURPOSES! - "-development" will be removed in the program once the program is known to be stable.
VB.NET is primarily developed by chompy33 (PJBeans), and C# is primarily developed by Evilarceus. Each branch's source can be found below.
Source
Source: (Version 2.0-development) https://github.com/PJBeans/Lineage-OS-Installer (I encourage absolutely anyone to contribute, even if you would like to make just a minor change!)
Updates:
Past:
UPDATE 1.4.0 and 1.4.1(VB.NET)
(I never published 1.3.0, so here's 1.4.0)
- Scripts have been updated; the user no longer needs to interact with TWRP.
- There is one button to install.
- The script automatically backs up data, cache, and dalvik prior to wiping for installation (no backup before unlocking the bootloader, however)
- (1.4.1) Fix issue with application failing to start (Thanks, @dinesh_redhawk for pointing out this bug that I somehow missed!)
- (1.4.1) Update Installer
UPDATE 1.2.0 (VB.NET)
- User must type "yes" before starting the process to ensure they know to read everything and follow all instructions given.
- Support for GApps
- More messages for user instructions.
- Scripts should be working correctly.
UPDATE 1.1 (VB.NET)
- More Material Design
- 3 step installation (Unlock Bootloader, Flash Recovery, install LineageOS)
- Added a beautiful background image (IMO) of New York City on First Form
Current:
UPDATE 2.0 (VB.NET)
- Check out the release notes on GitHub (Prebuilt Download link)
What is your viewpoint on this? Would you actually want an installer to exist for those who are inexperienced with flashing ROMS?
Sorry for such as long post, and I did not put this in DevDB because it is not directly an Android project.
chompy33 said:
Hi,
---
Normally when I come on the XDA forums, I am asking a question, because I end up making a silly mistake in Android. I never like to put out promotional content for attention, and that is surely what I am not doing here, I am simply putting my work out there to see if the community would like it and if we do like, we can begin setting it up for other devices immediately. Now, I am not a skilled programmer at all, but I know SOME Visual Basic with Windows Forum Applications, so I thought "why not give it a shot." I just wanted to say that.
So I made this simple little application called Lineage OS Installer. Now, reading through some of the comments on the Lineage OS Reddit page, some people were asking if there would be an installer for Lineage OS, and there was a good amount of people who did not want one, which makes sense; people should know what they are getting into, and understanding ADB and Fastboot is indeed important. However, sometimes, there is a person who is not involved with ROMS, who is fine with OEM Android, who does not want to use root and what not, however, they want the latest version of android possible for their device, and that was a main point of CyanogenMod; users could get the latest version of android on their phone and tablet when their manufacturer/carrier stopped supporting it. However, the installation can be intimidating, and for the user that I just described earlier, the user who does not want root and what not, that could mean they won't bother attempting to install a custom ROM. However, this application automates the process; all the user needs to do is click some buttons, and press Enter a few times to install Lineage OS.
I understand I don't need "permission" to distribute this program, however, I am just asking if the overall community would support the use of this program.
---
This is a simple graphical and command-line based installer to make it easier to install LineageOS; this program is aimed at beginners. It is not the prettiest program ever, but it still works with my Nexus 7 2013 WiFi just fine
I did not add support for flashing google apps (gapps) yet, just because I do not know if we will use the same open-gapps package that was used in CyanogenMod, or if we would switch to something different.
Features:
[ADB and Fastboot is required, but NOT included.]
- Instructions to enabling Developer Options, USB Debugging, and OEM Unlocking (if required)
- a file called setup.bat, that will set up the directory where all the required files live
- Embedded browsers to download TWRP and LineageOS*
- Included script that runs `adb devices` to ensure device is recognized
- Installation script that sets up the device to install Lineage OS, and pushes LineageOS to the device.
- Gives instructions for steps that must be completed on the device (Wiping, flashing, etc.)
The program's installation script is finished; it does its job to install a ROM to a device; it will unlock the bootloader, flash TWRP, and push the lineageos image. (I substituted LineageOS for CyanogenMod 13 while testing). *The only thing unfinished it the embedded browser to download LineageOS.
I would not recommend using it currently as it is still in early development
Downloads:
Prebuilt: https://drive.google.com/file/d/0B70zQND1cM1WQVFjYi0yZy1BVnc/view?usp=sharing
Source: https://github.com/PJBeans/Lineage-OS-Installer
I understand that the main focus with LineageOS right now is to set up the website, servers, and images, and I do not want to distract those users. But this is what I would like to ask anyone: Would you actually want an installer to exist for those who are inexperienced with flashing ROMS?
Sorry for such as long post, and I did not put this in DevDB because it is not directly an Android project.
Click to expand...
Click to collapse
Ill be honest. This is most dangerous for inexperienced users. If something goes wrong then they have no idea how to fix or find out how to fix it.
If used it would be best suited for someone that does rom testing where they flash multiple times a day, but as you are required to use a pc I really dont see much use for it.
just my thoughts.
zelendel said:
Ill be honest. This is most dangerous for inexperienced users. If something goes wrong then they have no idea how to fix or find out how to fix it.
If used it would be best suited for someone that does rom testing where they flash multiple times a day, but as you are required to use a pc I really dont see much use for it.
just my thoughts.
Click to expand...
Click to collapse
Thank you for your reply! I completely see what you mean; an inexperienced user could possibly freak out, perhaps disconnect the device while something was going on. Perhaps I/anyone else who contributes could add a support section clearly marked for troubleshooting, complete with a guide to reflash stock. If I/someone else did this, would that make it more friendly for beginners in your eyes?
chompy33 said:
Thank you for your reply! I completely see what you mean; an inexperienced user could possibly freak out, perhaps disconnect the device while something was going on. Perhaps I/anyone else who contributes could add a support section clearly marked for troubleshooting, complete with a guide to reflash stock. If I/someone else did this, would that make it more friendly for beginners in your eyes?
Click to expand...
Click to collapse
Yes that make it more friendly for beginners.
I'd be happy to help this project. I could maybe create a UI for this if all goes well.
Also, you should try learning C# if you already know Visual Basic. It's more widely supported and requires less typing. I can still contribute, since I do know both C# and Visual Basic
I wonder if it would be too much to ask to have this program automatically make a NANDROID backup before starting. Incase an inexperienced user disconnected the device or did something to disrupt the install, and caused a soft brick or similar, the NANDROID backup could be restored, and the user could re-attempt, with no harm done.
evilarceus said:
I'd be happy to help this project. I could maybe create a UI for this if all goes well.
Also, you should try learning C# if you already know Visual Basic. It's more widely supported and requires less typing. I can still contribute, since I do know both C# and Visual Basic
Click to expand...
Click to collapse
Thanks! The source is in the original post. The only thing that does not have a UI is the installation (although the current UI is pretty bad) I will try to learn C# as time goes on. If you would like to make part of the program in C#, feel free!
Doofitator said:
I know Visual Basic, and I'd be happy to help with the development of this application, too.
I also wonder if it would be too much to ask to have this program automatically make a NANDROID backup before starting. Incase an inexperienced user disconnected the device or did something to disrupt the install, the NANDROID backup could be restored, and the user could re-attempt, with no harm done.
Click to expand...
Click to collapse
Thanks for your reply! The source is above. Creating a NANDROID back is a great idea, perhaps we could create an automatic restore option too.
I am worried by the usage by inexperienced users. They are more prone to panic and destroy their phone, which could lead to a bad name for lineageOS on many forums where they will complain that lineageOS just killed their phone, while they did'nt understand the simplest part of the process.
BUT
This can be a tool very useful for experienced users who serially update phones of their many inexperienced friends.
I am doing just that (with around 50 differents phones to date) with my many friends of friends, and a tool like yours would simplify my job. For the moment, i keep a directory of directorys containing rooter scripts, recoverys, roms, gapps, utilities (adb, fastboot, odin, heindall,...) and have a multi-gigabyte library of those.
A utility who prepare a directory for a phone model, download rom, twrp/cwm, gapps, and do the phone rooting for every phone is a very desired thing, but it is a hell of a project to achieve.
So good luck with your project, and dont hesitate to ask me for help if you need, i would be proud to help you achieve your goal.
mlsoftlaberge said:
I am worried by the usage by inexperienced users. They are more prone to panic and destroy their phone, which could lead to a bad name for lineageOS on many forums where they will complain that lineageOS just killed their phone, while they did'nt understand the simplest part of the process.
BUT
This can be a tool very useful for experienced users who serially update phones of their many inexperienced friends.
I am doing just that (with around 50 differents phones to date) with my many friends of friends, and a tool like yours would simplify my job. For the moment, i keep a directory of directorys containing rooter scripts, recoverys, roms, gapps, utilities (adb, fastboot, odin, heindall,...) and have a multi-gigabyte library of those.
A utility who prepare a directory for a phone model, download rom, twrp/cwm, gapps, and do the phone rooting for every phone is a very desired thing, but it is a hell of a project to achieve.
So good luck with your project, and dont hesitate to ask me for help if you need, i would be proud to help you achieve your goal.
Click to expand...
Click to collapse
I see what you mean, and I/other contributors will (hopefully) try to make this process very user friendly, so they won't need to panic. I guess developers could use this if they needed to install the ROM on multiple devices, though currently the installation is kind of slow. I appreciate your response!
chompy33 said:
I see what you mean, and I/other contributors will (hopefully) try to make this process very user friendly, so they won't need to panic. I guess developers could use this if they needed to install the ROM on multiple devices, though currently the installation is kind of slow. I appreciate your response!
Click to expand...
Click to collapse
I would suggest that such a tool should be VERY wordy about telling the user what it is doing, and should NEVER suspend its apparent activity.
My experience (and it is commercial experience, with genuine products in the marketplace) is that the user will get nervous, and may do something unfortunate, if they fear that something has gone wrong...and they WILL fear this if there is no obvious activity for a long time...and "long time" might be only a few seconds.
So, to make this tool "safe", it should be continually reassuring the user that it is doing something. There should be a progress bar, that keeps moving. There should also be a text section that keeps updating what is going on. If the operation under way will take awhile, then this text session should (every few seconds) remind the user "I'm still working on this...estimated time to completion is XX seconds" (or some such).
This operation IS dangerous, particularly if the user does something wrong. So keep reassuring the user that everything is fine.
jiml8 said:
I would suggest that such a tool should be VERY wordy about telling the user what it is doing, and should NEVER suspend its apparent activity.
My experience (and it is commercial experience, with genuine products in the marketplace) is that the user will get nervous, and may do something unfortunate, if they fear that something has gone wrong...and they WILL fear this if there is no obvious activity for a long time...and "long time" might be only a few seconds.
So, to make this tool "safe", it should be continually reassuring the user that it is doing something. There should be a progress bar, that keeps moving. There should also be a text section that keeps updating what is going on. If the operation under way will take awhile, then this text session should (every few seconds) remind the user "I'm still working on this...estimated time to completion is XX seconds" (or some such).
This operation IS dangerous, particularly if the user does something wrong. So keep reassuring the user that everything is fine.
Click to expand...
Click to collapse
Good idea! Thanks for the suggestion, we will definitely incorporate this.
Two thumbs up for a LineageOS installer, plz develop it
Definitely having a LineageOS installer is a great idea!
Unquestionably, it will permit people who are not experienced with flashing custom roms(which accounts for a lot of people), nor do they have an interest in learning about that(e.g. my mom) to easily get the latest Android build on their Android phone (which may no longer be supported by the OEM; an e.g. AT&T LG G2).
44alexsmith said:
Definitely having a LineageOS installer is a great idea!
Unquestionably, it will permit people who are not experienced with flashing custom roms(which accounts for a lot of people), nor do they have an interest in learning about that(e.g. my mom) to easily get the latest Android build on their Android phone (which may no longer be supported by the OEM; an e.g. AT&T LG G2).
Click to expand...
Click to collapse
This is exactly what I am trying to achieve. Provided I/contributors make a stable build by the time a stable build of LineageOS comes out (or at least around there, it's an open source project so there is no official date), it could give LineageOS a reputation of being a very easy ROM to install. Thanks for the reply.
Creating an installer for users who don't event know what's going on from the inside is useless IMO.
If the installer fail to flash they get stuck with a bricked device and don't know what to do.
I added a .gitignore to reduce cloning size and keeping things clean: https://github.com/PJBeans/Lineage-OS-Installer/pull/1
If you want, add me as a collaborator on the GitHub project so I don't have to keep on making pull requests.
p4rot said:
Creating an installer for users who don't event know what's going on from the inside is useless IMO.
If the installer fail to flash they get stuck with a bricked device and don't know what to do.
Click to expand...
Click to collapse
Just FYI, I did say earlier that this installer should have an automatic NANDROID backup take place, so phones would be safe if something happened.
Doofitator said:
Just FYI, I did say earlier that this installer should have an automatic NANDROID backup take place, so phones would be safe if something happened.
Click to expand...
Click to collapse
We will attempt to add this (or at least guide the user) later on. Thanks for your response!
evilarceus said:
I added a .gitignore to reduce cloning size and keeping things clean: https://github.com/PJBeans/Lineage-OS-Installer/pull/1
If you want, add me as a collaborator on the GitHub project so I don't have to keep on making pull requests.
Click to expand...
Click to collapse
I set up a live chat on Telegram, the link is on the Repository's Readme. I appreciate your commitment to this project!
I sent an invite at https://github.com/PJBeans/Lineage-OS-Installer/invitations
chompy33 said:
We will attempt to add this (or at least guide the user) later on. Thanks for your response!
Click to expand...
Click to collapse
If possible, I think making this a mandatory step would be better - we don't want people skipping it and then complaining later.

Categories

Resources