Echo Show 15 - run Android? - Amazon Echo

The Echo Show 15 is economical and attractive touch screen display that happens to run Amazon's version of Android. Recently, some folks posted ways of side-loading apps on the device. Does this make it easier to have a vanilla version of Android on the Echo Show 15?

No, it uses verified boot with encryption. You would need 2-3 exploits in order to unlock the device then someone would have to make a custom ROM for the device.
In short it would take a **** load of work, time and luck to get a custom ROM working.

Related

HTC Hero GSM - Cyanogen 7.2

Cyanogen has released the 7.2 version OS for HTC Hero GSM. I've seen a lot of people talk over the CDMA version, but none on the GSM one. Has anyone tried it out? I wanna hear the bad and good remarks that you have to say about it , by "you" I mean those who have tried it.
To be sure, this is the tipe of HTC Hero I'm referring to: spinei.hotnews.ro/wp-uploads/2009/10/htc_hero.jpg
I runned it for a week or two. As for stability it's the same as CM7, CM7.2 just has some ICS backports, nothing bad
What do you mean by ruining it?
People who own the CDMA version claim that on their phone it's a performance improvement from 7.0 to 7.2.
I have 2.1 official version on it. It's stable and somewhat ok in terms of flow in the menus. Will 7.2 be an improvement over the the official 2.1 version on my phone?
P.S. I didn't test any other version of Android, it never used anything except the stock version.
cata3092 said:
What do you mean by ruining it?
People who own the CDMA version claim that on their phone it's a performance improvement from 7.0 to 7.2.
I have 2.1 official version on it. It's stable and somewhat ok in terms of flow in the menus. Will 7.2 be an improvement over the the official 2.1 version on my phone?
P.S. I didn't test any other version of Android, it never used anything except the stock version.
Click to expand...
Click to collapse
It;'s not ruined, I had it on my device for a week or two. I thing it will beat your 2.1 official. It will not have HTC Sense. You get 2.3 version of android some ICS goodies. I didnt run official 2.1 on hero so i dont know how it is
What does HTC Sense has and cyanogen 7.2 doesn't have as equivallent?
From what I saw in youtube videos, cyanogen pretty much has something almost equal to HTC Sense as GUI. Are you referring to the HTC specific apps and widgets?
P.S. I misread "runned" for "ruined" )
Yup that fancy weather widget and all that stuff, but you wont miss it trust me, that raw android look is way better
One more question.
How functional are these:
- WIFI
- Bluetooth
- Camera
- basic phone functions(calling, messages)
- sound
? Did you have any problems with these in terms of errors or functionality(loss or low of signal, automuted, etc.)? And did you had any random restarts issues?
Nope they all work awsome, it's a stable release, those releases dont have problems with that. And you shouldnt be too scared to flash your device. So far I had 4-5 android devices that are rooted and flashed a million times without any losses, you may encounter a soft brick sometimes but you can fix that easily. You cant know how good is a ROM until you test it. So stop being a girl and flash it . No offence If you dont like it, there is a lot more ROM's on this forum, you dont have to choose CM7.2....
First time to install Cyanogenmod was not entirely easy
Hey all,
I just created an account to be able to post my experience with CGM 7.2 on the HTC Hero GSM. Everything I checked so far works fine, however there's a slight jaggedness in scrolling.
For me as a complete newbie it took about 6 hours to get it to run, mainly because I had to get straight what I actually have to do. There is no paucity of TO-DOs, just no individual one worked for me - I got it sorted out only by combining all kinds of posts from everywhere. That's why I want to share my viewpoint on this - without all kinds of different people airing their piece of the puzzle I would surely have given up!
The specs were as follows; starting with the "fastboot-info":
HERO CVT SHIP S-ON
HBOOT-1.76.0007 (HERO10000)
MICROP-010f
TOUCH PANEL-SYN0104
RADIO-6.35.15.11
Aug 4 2009,19:43:30
And software-information:
Firmware-Version 2.1-update1
Baseband-Version 63.18.55.06PU_6.35.15.11
Kernel-Version 2.6.29-7527f009 [email protected] #1
Build-Nummer 3.36.405.1 CL199109 release-keys
Software-Nummer 3.36.405.1
Browser-Version WebKit 3.1
So here's what I did:
0) I wrongly assumed that I need to unlock my bootloader directly, i.e. using the software from HTCDev. As I am using Ubuntu Linux, this meant quite a hassle in itself, and I did not manage it after all. The reason was due to an error when trying to get the Identifier Token needed by HTC to send you some clearance-file to unlock the bootloader:
Code:
fastboot oem get_identifier_token
...
(bootloader) [ERR] Command error !!!
OKAY [ 0.007s]
finished. total time: 0.007s
I found no solution to this problem, but tried to up- or downgrade my HBOOT-version. Luckily that wasn't necessary after all. A side-effect of it was that I installed adb and fastboot, which I happened to use later on (but are not necessary either).
Let me assure you: Unlocking the bootloader directly (in the HTC-way) is NOT necessary!
1) Getting root access:
I used UniversalAndroot-1.6.2-beta5.apk to do that, and conveniently installed it using
Code:
adb push, adb install
though if you don't want to install this nice utility, you can just install a File Browser and then install the package.
Now here's a quirk that cost me about an hour: Using the default settings, UniversalAndroot only claimed to successfully get root-access, but left everything unchanged! Only after finding a comment on some website did I try to check both check-boxes (log and temporary install) - this time it worked (it installs yet another app called SuperUser)! (I then ran it again without the temporary setting enabled, which at least did not revoke the SuperUser-Account). Anyways, adb is handy in this case again because you can just log in with
Code:
adb shell
and check if
Code:
su
gives you root access or says "Permission denied".
2) Deleting /system/etc/install-recovery.sh I got that idea from androidforums.com, and will probably never know whether it was really necessary. That just shows how desperate I became after 3 hours of poking around in the dark.
3) Installing ROM Manager from Google Market There's probably a quicker way to install recovery images, which does not involve a damn Google account! Or maybe it is not even neccesary.
4) Downloading and installing ClockWorkMod Recovery I did this using the ROM Manager. Again, there might be a more direct way. In any case, I was paranoid enough to install it twice, as it was recommended that way somewhere.
5) Downloading cm-7.2.0-hero.zip and putting it on /sdcard/ Again, I just used
Code:
adb push cm-7.2.0-hero.zip /sdcard/
to accomplish this, but my guess is you can just as well do it via USB.
6) Format cache, /data/factory, /boot and /system By that, I mean do this in ClockWorkMod (you get there by booting up with HOME+POWER). The last two locations to reformat are "hidden" in the menu partitions. This step is very important because without it, Cyanogenmod did only loop infinitely (for more than 10min) in its loading screen! I got this idea from the more detailed description at droidforums.
7) Install Cyanogenmod using ClockWorkMod That's straight forward; just select the image from sdcard and you're done!
Hope I didn't forget a vital step, and maybe it is helpful to somebody; at the very least my future ME will maybe find it useful again .

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

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

[Tutorial] Installing Cyanogenmod for the Sprint Galaxy S4 - WIP

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

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

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

[Guide] Building a TWRP Fire TV Stick Rom [WIP]

Since @burcbuluklu did such a nice job of creating this for mantis (4k), I've decided to copy that concept for sheldon.
I've created a couple different images, which I'll post in the next few days hopefully.
Sorry for the delay. I've actually managed to get further with this then I expected. The wait will be worth it. I've managed to bring back the OOBE (the welcome setup you have to run through when the stick is brand new). There's one last piece I would like to figure out before I post the image.
I'm looking for help on creating a script that will trigger after the OOBE is complete. There is a flag that gets set after successful completion of the OOBE so that value could be read on boot for example and then trigger the script. Would also want to ensure the script only runs once. It will just be a basic debloating script. This is the last piece of the puzzle. This is a bit out of my skill set. If you can give me a hand with this I'll be able to post a really nice complete image.
--------------------------------------
I've now managed to get around the following problem, though not as cleanly as I would like.
Unfortunately, I'm stuck at a critical part. I need to remove my amazon account before I can share it.
I've approached it in two ways but neither have been successful. First is to remove my account after everything has been setup and done, this would be a bit preferable as I've already done all the work to create this. Second is to not have to sign in with amazon to begin with. Basically disable the OOBE, build up the ROM and then re-enable OOBE so when it gets flashed it's easy to run through that part of the setup. If OOBE can't be re-enabled, then the setup to connect your remote will be the same as in the 4K thread, hopefully.
I had played with various ways to get around OOBE, getting ADB enabled out of the box etc, all with various levels of success on mantis but for whatever reason I can't get ADB enabled on sheldon. For clarification, the intent is to get ADB enabled via recovery so it's accessible before having to run through OOBE.
EDIT:
The only plausible way I've figured out is to use "deregister". Not sure how much "personal info" is left as it says it won't remove all personal info but I used a dummy account anyway. The other factor that is different from mantis/6.2.7.6, is to complete OOBE after the stick has been deregistered, the stock amazon launcher must still be enabled. When trying with another launcher set via launch manager, OOBE won't complete as it gets into a loop during the registration stage. Definitely unfortunate as I would have liked the user to end up on the customer launcher (wolf in this case) rather then having to enable it after getting through the OOBE. If anyone has a better way please let me know.
Can't you just enable ADB through IDME?
Finnzz said:
Can't you just enable ADB through IDME?
Click to expand...
Click to collapse
I'm not familiar with IDME. I couldn't find a whole lot on it. Mind pointing me in the right direction?
bnevets27 said:
I'm not familiar with IDME. I couldn't find a whole lot on it. Mind pointing me in the right direction?
Click to expand...
Click to collapse
IDME is part of the Amazon feature layer added to all their bootloaders. It includes flags to enable ADB, enable ADB with root, and enable ADB without authorization.
You can check it out if you boot up FireOS and use the command 'ADB shell IDME print'. Fos_flags is the value you are interested in in this case.
The fos_flag value can be set from within FireOS using ADB, or from fastboot. These values are written to the end of the bootloader partition, or backup bootloader. It's magic is "beefdeed", and you could edit it directly.
For more information go to Amazon's FireTV open source page, download the source for Sheldon and search the bootloader source for IDME.h
reserved
reserved
@Finnzz thanks for the suggestion but I wasn't able to figure out IDME. Looks pretty interesting though. End result is was easier to just run through the OOBE. Now that I have an image it doesn't matter too much anymore. And I think I've managed to remove all account traces. Though I still want to figure out how to get adb access and bypass the OOBE. I've seen @SweenWolf do it for mantis. Of course I can do it with an image restore but that's not really the same thing. It's not really need but interesting anyhow.
Getting close to a release, just need help making a script that triggers after the OOBE is complete. More info on that in the OP.

Categories

Resources