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.
Related
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?
Well hello everyone.
I am an application development student from Belgium.
I am proficient in Java, VB.NET, some c/c++ and also PHP/JS/HTML/CSS
Anyways, my recent interest has been going out to creating custom roms for the galaxy S!
The problem now is though, I was able to find some guides and such, but most were incomplete, and for HTC(and other) devices.
I have no idea what is different between making a ROM for galaxy S or a ROM for an HTC device.
If anyone would like to link me to some good resources that can help me on my way, or would like to collaborate (and in the meanwhile teach me a bit) I would be more than happy! (I am open for collaboration as I am pretty proficient in Java and I'm always happy to code and learn more about coding!)
I think the question is really want you want to do!
Custom ROMs for Android are as simple as using recovery console to replace files on the system with your own versions.
ie. Replace the framework.apk which contains all theme images with your own modified one, which you can use to skin the device. Same for replacing other system apps.
Unfortunately, most of these apps are closed source, so modifying them is difficult. The stock android system has open source versions of most of them though, and you can modify those and build them, and then replace the ones on the device. I'm not entirely sure how to build them up though, but it probably isn't too hard.
Then there are custom kernels, which let you actually change the underlying linux system underneath android - Samsung has an open source version of the kernel available that you can compile, and then flash to your phone using Odin or other tools. Compiling the kernel is pretty tricky though.
Well i'm really talking about stuff like SamSet, MoDaCo, Doc's ROM and others.
I'm not saying I want to create a pro ROM in a day or anything, but i'd really love to learn more to get better (always looking for more stuff to put on the resume, I guess?!)
Thanks a lot,
Kenny
Bump for some help
(sorry for the double post but i'm really eager to learn)
I don't have time to give a detailed response right now. However you will want to read up on yaffs (file system) and odexing/deodexing ROMs.
Thank you I will definately do that,
I am following a guide now to start out creating custom ROMs for android, however it was written for Motorola Droid and I have no idea what you have to do different for a samsung galaxy s.
I am a good coder, even though I say so myself, with a lot of experience. I also have a lot of linux experience, you name it
Only the problem is the old, and much known "where do I get started?"
So if anyone can point me out in the right direction on that, tell me how/where you started out, I would appreciate it greatly!
Thanks!
Very sorry to bump again
I set up my environment in ubuntu today to get started (just gotta fix a few errors, didn't know android wouldn't compile on java 1.6, only on 1.5)
Anyways, still need some help here! thanks!
Again I am awefully sorry for the bump here but i'd really like some help.
Note that i'm not a newbie at coding whatsoever and i'm not unfamiliar with some hardcore java, c/c++ and other languages, I'm just having trouble getting started when it comes to modding an existing android release (there are tutorials on HTC and other devices but some methods do not apply to the galaxy S)
If you're trying to create a ROM from scratch then unfortunately you're out of luck at the moment. No one has really managed to do so yet. By "from scratch" I mean the Android Open Source Project (i.e. official Android git repository).
What you can do is grab an existing firmware. Extract the contents, de-odex the apks, modify them or add new apks, optionally you can also compile a custom SGS kernel using Samsung's kernel source. Then you can re-odex the ROM, pack it back up and distribute it.
There's no real "starting place" as such and you won't yet find any tutorials about how to create SGS ROMs. Just give it a go and see where you get.
Yes, I do mean creating a ROM from stock samsung firmware, of course.
So my next logical question would be now:
How do I go over extracting contents from the existing samsung firmware, de-odexing and so on?
Any links/guides/tips are greatly appreciated, as long as they are applicable to this cell phone and not totally crap, thanks!
Samsung uses rfs, I think you should know. There is a thread somewhere in this forum regarding extracting .rfs file. Understood you need Debian though.
For some readup, go search for a famous guy named JesusFreke. Tons of materials...
Hope that from here onwards, this can lead you on, and to find out more. Google is your friend too...
I'm afraid my biggest problems already occur in setting up the environment, so it's really the very beginning that gets me stuck, i'm sure coding would be a bikeride compared to setting up the environment for me (i'm no hero in linux,not at all, i'm afraid)
How the hell do I get from point A (being downloading the full source) to point B (starting to create a custom ROM?)
thanks
of course if anyone has the time, and wants to, you can PM me your msn or something, if anyone is up to it
Raykoid666 said:
I'm afraid my biggest problems already occur in setting up the environment, so it's really the very beginning that gets me stuck, i'm sure coding would be a bikeride compared to setting up the environment for me (i'm no hero in linux,not at all, i'm afraid)
How the hell do I get from point A (being downloading the full source) to point B (starting to create a custom ROM?)
thanks
of course if anyone has the time, and wants to, you can PM me your msn or something, if anyone is up to it
Click to expand...
Click to collapse
Agreed completely! Getting a full cross-compilation to Samsung's Android going is seriously difficult! There have been some promises for tutorials and guides for setting things up though, but none have appeared yet. Probably because it's hard!
Well thank you for agreeing with me on that.
I am really hoping for anyone that can help me out here, either on here or in private, and give some detailed instructions on how to get started.
Hell there is enough information on creating roms alread, deodexing, adding/removing apps etc etc etc... The real problem lies in setting everything up properly.
I think I have gotten to the point where I'm compiling the android source (without samsung specific files)
note i'm saying "i think i am compiling" because i'm hoping it won't error out on me again after an hour of compiling!
But once that is done... I have no idea where to go next, where to get the samsung specific files, or what to do with them whatsoever once i have them
thanks!
Android generic source won't actually help you much. Samsung has made a huge number of changes to it, and while it is all open source, backporting their changes to get your stock source running on the phone is a major undertaking. I believe cyanogenmod was actually working on this, but it seems without much success so far.
What the other rom makers you see are doing is taking a snapshot of a running rom, copying over all of the APKs and the files on a running device, and then tweaking those. ie. Opening up framework-res.apk and changing the image files inside.
The update.zip roms that are what most people are doing are really just using the Android recovery to replace files on the phone with their own versions. Since the underlying system is linux, and everything is a file, this actually works pretty well.
The kernel development effort is completely separate from the rest of the system though, and Samsung has provided the entire source tree that just has to be compiled. I'm a bit stumped myself on all the details of setting it up, but I have seen some threads on this forum about it, and it didn't seem too bad to set up. Apparently you shouldn't use the codesourcery toolchain though, or something. Not too clued up on it, sorry. Hopefully someone with the details can chime in, or give us a link to the old post on it (I'm failing to find it using the search function! )
Alright sounds good!
So these recovery files you are talking about (the contents of /system) how do i retrieve those from a base ROM such as JM7 or the likes after a clean flash?)
Raykoid666 said:
Alright sounds good!
So these recovery files you are talking about (the contents of /system) how do i retrieve those from a base ROM such as JM7 or the likes after a clean flash?)
Click to expand...
Click to collapse
Root your phone, zip them up onto the sdcard, and then copy them off.
There are probably better methods, but this works fine.
Also, with credits to Unhelpful, he has told me that the correct toolchain to be using is 'uClibc or eglibc toolchain with ct-ng'. I have no idea what to do with that yet, but it's a start.
RyanZA said:
Root your phone, zip them up onto the sdcard, and then copy them off.
There are probably better methods, but this works fine.
Also, with credits to Unhelpful, he has told me that the correct toolchain to be using is 'uClibc or eglibc toolchain with ct-ng'. I have no idea what to do with that yet, but it's a start.
Click to expand...
Click to collapse
You don't even need to root your phone to pull /system Ryan
adb pull /system <random folder>
is all you need ^^
Alright thank you, I managed to get all the /system files using abd pull /system
now next thing up would be de-odexing right, before I go editing stuff?
Now before I go de-odexing. Can anyone tell me what exactly de-odexing is and why I need it?
and what do I need to do to create an update.zip again?
thanks a lot all!
Tayutama said:
You don't even need to root your phone to pull /system Ryan
adb pull /system <random folder>
is all you need ^^
Click to expand...
Click to collapse
Haha cool, didn't know you could pull whole folders!
Raykoid666 said:
Alright thank you, I managed to get all the /system files using abd pull /system
now next thing up would be de-odexing right, before I go editing stuff?
Now before I go de-odexing. Can anyone tell me what exactly de-odexing is and why I need it?
and what do I need to do to create an update.zip again?
thanks a lot all!
Click to expand...
Click to collapse
The apk files in Android are odexed - that means they have a special index applied for dalvik that speeds them up somehow! I don't know how, I haven't checked how it actually works.
The important point is though:
odexed is faster, but you can't edit it because of signatures or something technical
deodexed means you can change it however you want
More useful info can be found from google - lots of it!
update.zip is easy - it's a zip file in a special format that can be understood by Android's recovery console. The easiest way to do it is to grab an existing update.zip and modify it as needed. Tayutama has millions of em around, so use his!
Then you need to sign it once you're finished with it so that the SGS will accept it. Samsung made a boo-boo and didn't disable the test keys for the 2.1 SGS firmwares. That makes it easy!
http://www.londatiga.net/it/how-to-sign-apk-zip-files/
Just use the test keys to sign it, and then copy it to /sdcard/update.zip and reboot into recovery and it'll work.
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
RootingRooting 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 IIRooting 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 BusyboxSuperuser 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!
KernelsThis 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)
OdinOdin 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!
AOSPAOSP (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 CWMIf 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 CWMBackups 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 CWMInstalling 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 folderThe /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!
ADBADB 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
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.
OverviewIn 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?
Want to try Nougat on your Nook HD+ or HD?
Installing Nougat has never been easier. Procedure described in post 239 of this thread.
Development for unofficial CM-12.1 for Nook HD and Nook HD+ has ceased.
The author @amaces has moved on to Marshmallow (Android 6), and the zip files for these progressive releases are what you now see at the collaboration link. If you wish to install CM-12.1 look instead through the pages of his "obsolete" folder for "cm-12.1-20151018" and "twrp-2.8.7.4" final releases. CWM should install these properly but later versions are likely to fail due to deficiencies in the CWM recovery utility.
Better yet try the latest Marshmallow and TWRP versions. For this you must create a new bootable microSD card using these files provided by @belfastraven and the downloaded zip files "cm_hummingbird-ota-MHC19Q.160407.zip" and "twrp-3.0.1-0-hummingbird.zip". These versions may advance by the time you happen to do this. The procedure is the same as described in the .pdf guide for CM-12.1, except with the new files.
And use a current GApps file for the ARM platform, Android 6.0 from http://opengapps.org/.
This is a detailed tutorial for beginners. Seasoned users may find it overly verbose.
My toy box contains some Nook HD and Nook HD+ tablets, and I recently became aware of CyanogenMod. I studied about it for a while and finally tried a CM-12.1 installation. It was successful, and I was so impressed by the improvements that I told some Nook-owning friends about it. They quickly decided to do likewise and asked for instructions.
My friends and I are all retirees, so we have seven Saturdays a week to spend as we wish. I decided to spend a few of mine re-writing my notes into an instruction manual. As of today, September 25, 2015, there are eleven formerly stock Nook tablets whose beginner-owners have followed the instruction and successfully installed CM-12.1. Several of these are being regularly updated as revisions are released. No bricks have been cast so far.
During the study period I spent a lot of time on xda developers pages, and it eventually occurred to me that there might be other beginners who could make good use of Nook-specific instructions. So I am pleased to offer this manual to anyone interested, and hope it will save you some time and trouble.
The procedure uses the technique and boot files by @leapinlar. The ROM and TWRP zip files used are those created by @amaces. Profound thanks to these experts for their diligent work and generosity.
Below is a synopsis of the instructions. The complete PDF document is attached to this post.
This document will guide you through the steps of installing a pure modern version of the Android operating system on your Nook HD or Nook HD+ tablet. The installation is done from a bootable microSD card using the ClockWorkMod recovery utility to install the contents of zip files. This straightforward method does not require ADB or rooting the Nook. The result is CM-12.1 installed with basic Google apps and your choice of TWRP or CWM for your resident recovery utility.
There's room for improvement.
If I could learn how to create a bootable microSD that would boot to TWRP instead of CWM the procedure could be reduced to four easy steps. I have found no help for this, and my own attempts have all failed. I would be most grateful for any help so I can update the instructions.
This is brilliant!
Where was this three days ago ? I really could have used this when I finally got around to fixing my dead Nook HD+ with spare parts from an ebayed broken on, and decided to finally go for broke on EMMC (after SD Boot killed the device twice on me while charging overnight.) Not a fun initial teardown to pull out that mainboard, but manageable with a good deal of care.
My own fumbling around led me to using verygreen's external recovery image here (Note, they are the Initial sdcard Images located at the very top) as recommended by amaces writing it to the SDcard using Win32DiskImager for a bootable sdcard (On Windows 10 here). Then using that, I went and installed amaces' TWRP and CM12.1 onto the Nook HD+ followed by finding a set of gapps to install as well.
I missed the backup/wipe parts of your guide, sadly. Though I do have a stock copy laying about, and my device has been out of warranty for a while by now. I just didn't think of doing the wipe (though looking back, the broken one I took the mainboard from and its EMMC already had that done). Further, I was lost seeing that "Root" fix note and ended up hitting yes. Fortunately, it doesn't appear to have done anything for my tablet.
In the end? I got my Nook HD+ up and running using amaces' CM12.1 ... even if in a manner that may make those more experience wince at my errors. Still, its nice to have my large tablet for reading and watching videos once more rather then needing to spend a couple hundred dollars on a decent large tablet. Gaming isn't up to par (older games still does decently), but its an old device and not exactly what I wanted it for anyways.
I just wish I held off a couple more days so I had this guide to help me through this. Still, for anyone that comes after I hope your efforts help them.
Thank you for taking your time and writing such a useful guide. I am currently on cm11 m12. Are there any noticeable difference between 12.1 and cm11? Is the update from cm11 to 12.1 the same as from stock to 12.1?
Holy crap that is awesome. Looks like I picked the perfect day to upgrade the kids YouTube machine from 4.4
Sent from my SAMSUNG-SM-G920A using XDA Free mobile app
Thank you for taking the time to put together this extremely easy to follow guide! It helped me breath new life into my Nook!
Thanks so much for writing up a document us older folks can handle. (and say hello to Sequim for me!)
:good:
Cheers.
This looks like exactly what I need. I've finally reached the point of frustration with my Nook HD+ that I'm ready to go through with a reflash. Thanks so much for providing this great resource.
But, one question. You advise not modifying the user interface after flashing CM 12.1 to the device. This is because the ROM is still under development, and making chages of that sort will make upgrading to newer images more difficult. In principle, I understand this. But is this a permanent condition?
In other words, I suppose development on CM 12.1 will go on until interest in it is lost and the project goes moribund. No one can predict when that will happen, but if things go as they have for the past couple of decades, this project is likely to be abandoned sooner rather than later. So is there some projected point when the project reaches stability and when users can make interface changes without worry of having problems upgrading? Or is the inadvisability of making such personalization modifications a permanent condition?
i got it installed simple enough but cant seem to login to my google account, it just tells me something went wrong and wont sign in, any ideas what i can do?
I used this manual to put CM 12.1 on my Nook HD+ and it worked great. What a wonderful resource you've provided.
A couple of minor issues I encountered are as follows. The directions in step 5e call for rebooting the system, but the menu I encountered did not correspond precisely to the description, What is described in step 5e is a two-step process, first slecting "reboot," then "power off." However, when I tapped the "reboot" button, there was no subsequent option to power off; the device simply rebooted. That didn't prove to be much of an issue since, realizing the Nook would be trying to boot from the SD card, I simply quickly removed it in a very early stage of the boot process.
Another minor issue is that the file system is kind of strange, with the backed up data being located under /storage/emulated, with a couple of symlinks in other locations to that same directory. It's kind of puzzling to find my way around the system. That said, so far everything works and all my previous data seems to have been preserved.
As far as improvements to the guide, you might want to add the additional directive that developer options can be gained by going to Settings > About table and tapping on "build number" seven times. I wanted to change the hostname on the new installation, and I needed developer options to do that. I don't know how many retirees are going to want to do things like that but, age wise, I'm not too far away from that category, and I needed that. So, maybe something you could add at the end of your nice manual.
As to booting directly into TWRP, I found an img file at twrp.me under /devices/barnesnoblenookhdplus.html. It looks like directives there are for writing it to the internal recovery partition, but I don't see why it could not be written to an sd card by slightly adapting those same directives. I'm new enough to this to not quite understand whether the recovery image would answer to your issue, but it's something you might want to consider.
All in all, you've provided a nice resource with this guide. It worked well for me on a first try, so it's something I'd definitely recommend to others.
Question about step 3b from the manual (Backup the existing system and data to the microSD card). Let's say this is a brand new Nook HD+ that contains no data or configuration that the user wishes to preserve: can that step just be skipped in such a case?
I'm asking because my current Nook HD+ has a pretty badly cracked screen and I'm thinking of replacing the unit with another Nook HD+. Doing this upgrade to CycanogenMod has got me thinking more seriously about getting a unit with an intact screen. If I end up replacing the unit, there will be no data or configuration on the replacement unit that I'll be wanting to preserve.
wayover13 said:
Question about step 3b from the manual (Backup the existing system and data to the microSD card). Let's say this is a brand new Nook HD+ that contains no data or configuration that the user wishes to preserve: can that step just be skipped in such a case?
Click to expand...
Click to collapse
It wouldn't hurt to have a backup of Stock, imo. Further, its useful habit to get into as you upgrade to any new image that is released and not loose everything. If only to allow you to reset to the default state and try again.
wayover13 said:
But, one question. You advise not modifying the user interface after flashing CM 12.1 to the device. This is because the ROM is still under development, and making chages of that sort will make upgrading to newer images more difficult. In principle, I understand this. But is this a permanent condition?
Click to expand...
Click to collapse
I'm a bit lazy when it comes to installing incremental releases, so I prefer to do simple "dirty installs". This means re-flashing without wiping the old installation, which can be done in seconds with no consequences.
But a dirty install will probably fail if you have made user-interface changes, even if you try to reverse out those changes before flashing. You can still install revisions anytime you wish, but you must do the wipes first. This means you will have to go through the setup procedure all over again, which takes a lot longer than a dirty install.
CM-12.1 for our Nooks should eventually be offered among the official nightly releases, and hopefully a milestone release now and then. I might consider UI tweaks after installing one of these, then settle down for a long quite period of no more updates.
If a stable CM-12.1 ever happens, we'll all be installing CM-13 by then.
wayover13 said:
The directions in step 5e call for rebooting the system, but the menu I encountered did not correspond precisely to the description, What is described in step 5e is a two-step process, first slecting "reboot," then "power off." However, when I tapped the "reboot" button, there was no subsequent option to power off; the device simply rebooted.
Another minor issue is that the file system is kind of strange, with the backed up data being located under /storage/emulated, with a couple of symlinks in other locations to that same directory. It's kind of puzzling to find my way around the system. That said, so far everything works and all my previous data seems to have been preserved.
As far as improvements to the guide, you might want to add the additional directive that developer options can be gained by going to Settings > About table and tapping on "build number" seven times. I wanted to change the hostname on the new installation, and I needed developer options to do that.
As to booting directly into TWRP, I found an img file at twrp.me under /devices/barnesnoblenookhdplus.html. It looks like directives there are for writing it to the internal recovery partition, but I don't see why it could not be written to an sd card by slightly adapting those same directives. I'm new enough to this to not quite understand whether the recovery image would answer to your issue, but it's something you might want to consider.
All in all, you've provided a nice resource with this guide. It worked well for me on a first try, so it's something I'd definitely recommend to others.
Click to expand...
Click to collapse
I too was puzzled a few times. There are two "Reboot" buttons: One in the TWRP entry menu and the other is deeper in where the flash process ends. The one in the entry menu will present a Reboot menu with includes a Power Off button. Use the tablets move-back triangle below the screen to navigate back to the entry menu.
I think you refer to the stock backup made by CWM before flashing CM-12.1. My stock Nooks were under-used with no data worth recovering, so I never looked into this. If you'd care to share any details about your findings it might be helpful so some subsequent readers.
This one is covered on Page 15 (actually sheet 17 including cover page and Table of Contents) under the heading Reboot to Recovery.
Once TWRP is installed its pretty easy to use it to install a newer version of it. But getting the boot files prepared on a microSD to boot to this image turned out to be more complicated than my very limited experience could manage (I'm a retired orchardist). The CM-12.1 installation procedure would be greatly improved if I can make this work, but I really need some professional help to make this happen. I keep hoping for a knowledgeable person to come forward.
Thank you very much. There are so many helpful members on this forum, and it is gratifying that I've been able to make a tiny contribution.
zspeciman said:
Thank you for taking your time and writing such a useful guide. I am currently on cm11 m12. Are there any noticeable difference between 12.1 and cm11? Is the update from cm11 to 12.1 the same as from stock to 12.1?
Click to expand...
Click to collapse
I tried CM-11 briefly on one of my Nooks before I became aware of CM-12.1, so I can tell you there is a huge difference. The move is from Android 4.4 to Android 5.1. And in my opinion all of this huge difference is for the better.
If you use the instructions, you can follow them exactly to move from CM-11 to CM-12.1. You are going to wipe the existing installation entirely, so it matters not what it is.
siccoblue said:
i got it installed simple enough but cant seem to login to my google account, it just tells me something went wrong and wont sign in, any ideas what i can do?
Click to expand...
Click to collapse
I've been pondering this, but nothing has yet come to mind. I'm presuming you did the full wipe before starting the install.
Which GApps did you install? If, for example, you chose one of the more sophisticated packages (tk_gapps or open_gapps) you would have had to defer installing it until Step 5. If so, and if you were distracted for a while and forgot to install it, I suspect the setup process would not offer an opportunity to log in to your Google account. This is probably not your issue since you were able to attempt a login.
Were you replacing the stock Android? Any other clues you can offer?
I managed to fix it, I had to completely wipe everything as opposed to just a normal reformat and it fixed the issue, but I actually have another problem now, I'm trying to do this on my second nook and when I attempt to flash twrp, cwm recovery now throws me an error on both my tablets, along the lines of "cannot install recovery this was designed for ovation and you are on ." it says that the device is . and won't let me flash it, any ideas?
PeteInSequim said:
I'm a bit lazy when it comes to installing incremental releases, so I prefer to do simple "dirty installs". This means re-flashing without wiping the old installation, which can be done in seconds with no consequences.
Click to expand...
Click to collapse
I understand vaguely what you're talking about here, but I'm pretty new to flashing Android devices and find myself wanting to know more. Is there some link you can point me to that explains in greater detail about dirty versus other types of installations? What I'm most interested in learning is how much configuration is too much to permit a dirty install. For example, the tablet is of little use to me if I can't install certain apps on it; will installing apps, for example, obviate the possibility of the sort of dirty install you're speking of?
PeteInSequim said:
But a dirty install will probably fail if you have made user-interface changes, even if you try to reverse out those changes before flashing. You can still install revisions anytime you wish, but you must do the wipes first. This means you will have to go through the setup procedure all over again, which takes a lot longer than a dirty install.
Click to expand...
Click to collapse
For example, I want a battery percentage monitor in the taskbar. If I enable that, is that the sort of user interface change after which I will be unable to do a dirty install? How about deleting what I would call desktop icons and/or adding others from newly-installed apps? Is that the sort of user interface change that will cause me to be unable to do a dirty install? If so, it seems like I would need to become a sort of beta tester in order to retain the possibility of doing further dirty installs, rather than using my Nook for my everyday needs.
PeteInSequim said:
CM-12.1 for our Nooks should eventually be offered among the official nightly releases, and hopefully a milestone release now and then. I might consider UI tweaks after installing one of these, then settle down for a long quite period of no more updates.
If a stable CM-12.1 ever happens, we'll all be installing CM-13 by then.
Click to expand...
Click to collapse
I'm obviously not too well versed in CynaogenMod/Android development. I wasn't aware that CM-12.1 was at such an early stage of development. Let me see if I'm, understanding correctly: is the CM-12.x series tracking Lollipop, while the projected CM-13 will track Marshmallow (Marshmallow being, as I understand it, the next Android release)?
I've obvioulsy got a lot to learn on this front.
---------- Post added at 11:24 PM ---------- Previous post was at 10:55 PM ----------
PeteInSequim said:
I too was puzzled a few times. There are two "Reboot" buttons: One in the TWRP entry menu and the other is deeper in where the flash process ends. The one in the entry menu will present a Reboot menu with includes a Power Off button. Use the tablets move-back triangle below the screen to navigate back to the entry menu.
Click to expand...
Click to collapse
Yes, on a second attempt I realized I needed to hit the move-back trinagle to get to the reboot button to which the manual was referring. Thanks for the clarification.
PeteInSequim said:
This one is covered on Page 15 (actually sheet 17 including cover page and Table of Contents) under the heading Reboot to Recovery.
Click to expand...
Click to collapse
You're right. I should have kept reading
On my second try, I realized I'd noted another discrepancy in the manual, one that occurs between steps 5a and 5b. After step 5a (successfully booting to TWRP by holding the power and home buttons down for the correct interval) I actually get an "Unmodified System Partition" screen. There, I have the option of either keeping the system partition read-only, or swiping another option to allow modifications. It is only after either tapping the read-only item or swiping the allow modifications item that I get a subsequent screen where I can tap the Install button (step 5b).
PeteInSequim said:
Once TWRP is installed its pretty easy to use it to install a newer version of it. But getting the boot files prepared on a microSD to boot to this image turned out to be more complicated than my very limited experience could manage (I'm a retired orchardist). The CM-12.1 installation procedure would be greatly improved if I can make this work, but I really need some professional help to make this happen. I keep hoping for a knowledgeable person to come forward.
Click to expand...
Click to collapse
I have a fair amount of experience writing image files to disks/partitions. Does it seem like that's what's needed? I also know how to mount an image file as a looped file system in order to, for example, copy files from it. That's something like what was done with the unrar'ing of CWM and copying files over to the SD card. If any of that experience sounds helpful, I could probably conduct some experiments to see if I could succeed at this. I'm just not sure what the TWRP image file I found is: is it a bootable image? If so, I'm not sure copying files from it to a bootable partition, like you instructed to do for CWM, would work. Writing a bootable image to an SD card should, on the other hand, cause that SD card to become a bootable medium.
In any case, as I said, I could conduct some experiments if it seems like any of my suggestions would be helpful. I'm not really any kind of professional either, btw. I got into computing when I undertook, at a later stage of life, some graduate studies in the humanities, during which I developed the crazy notion that I could somehow gain the upper hand over the machines. That attempt ended in failure, but I have kept up my doomed insurgence and learned some things along the way.
siccoblue said:
I managed to fix it, I had to completely wipe everything as opposed to just a normal reformat and it fixed the issue, but I actually have another problem now, I'm trying to do this on my second nook and when I attempt to flash twrp, cwm recovery now throws me an error on both my tablets, along the lines of "cannot install recovery this was designed for ovation and you are on ." it says that the device is . and won't let me flash it, any ideas?
Click to expand...
Click to collapse
Well, sounds like the zip file you're attempting to flash is mismatched to your model Nook. "designed for ovation" means the zip file is intended for the 9-inch Nook HD+. Are you trying to install on hummingbird, which is the 7-inch Nook HD?
I understand vaguely what you're talking about here, but I'm pretty new to flashing Android devices and find myself wanting to know more. Is there some link you can point me to that explains in greater detail about dirty versus other types of installations? What I'm most interested in learning is how much configuration is too much to permit a dirty install. For example, the tablet is of little use to me if I can't install certain apps on it; will installing apps, for example, obviate the possibility of the sort of dirty install you're speking of?
Click to expand...
Click to collapse
The best explanation I can offer is on page 17 of the instructions. Basically if flashing an incremental CM-12.1 revision a dirty install is fine (no need to wipe the system partition) UNLESS you have altered the user interface with things like theme, colors, wallpaper, boot animation, sounds, etc. If you have, you must wipe both the Data and System partitions.
Or if you are installing an OS version for which the existing one is not a close relative. The most outrageous example of this would be re-installing the old stock Barnes & Noble Android in place of your CM-12.1. Review the information on pages 16 and 17, and I think you'll get a good handle on this.
I've been called to dinner; will address your other questions after that.