Related
Ok, so I'm running RC33. I'm ready to root the G1 and take advantage of tethering via wifi.
I have a few questions, though.
I'd like to go back to RC33, I'm assuming there's a JF release that keeps root and upgrades to RC33?
Also, am I going to lose any information already on the phone, as if I were doing a factory reset, or is rooting just going to alter the OS, and my apps and data will still be on the phone?
And what is the potential of "bricking" this device? I'm going to follow the method exactly as posted on the first sticky (except I'm flashing up to RC33). If in the off chance that I do end up with a glorified paperweight, how do I revert it back to its former, locked down, version?
Oh, and hi. I'm new here, I like the device, although it's my 2nd now because of creaky hinge syndrome. I want to screw around with it, and I'm learning Java and I guess I'm learning coding for Android now, too. So, thanks for answering my noob questions.
Yeah, so nvm about the RC33 question... apparently I can't read.
BRB rooting...
1. u answered
2. Yes I am pretty sure you lose all information (atleast I did when I did it)
3. Just make sure its plugged in to a power source and you should be fine
4. Android uses java but not in the same sense as desktop programming... Android has its own classes for java that I believe are based on MIDP (java for mobile devices) so like you wont be able to take frostwire and run it on your phone, but most of the language will still carry over.
To add:
By rooting, you'll be using a factory image that WILL COMPLETELY wipe your phone.
Get mybackup from the market, and backup your bookmarks. You can back up your apps here too, but Astro (also free) is better.
Then, export any info from any apps you can (loot, OI Password Safe, etc) to the sdcard.
Make sure you have full battery.
Also, make sure to apply the hard_spl so that you can never ever brick your phone after this!
If you want a slightly more detailed guide (basically a hybrid of the de facto guide that illustrates what I consider some important points) PM me and I'll send it to you.
I fixed my creak by cutting off the nub.
*****
DA§MN! wrong forum ==> MOVE this one to the development forum immediately.
CLOSED.
*****
hellew,
my status: tec/dev but smartbone noob
my issue: need to be able to fully restore system + installed apps (1st kill all; then get back to current phone/system/apps/settings.. like fresh from vendor)
my thing: X10, Android 1.6
i want to start developing, & therefore 1st need to get root access (1st of all - THX for making this possible + manual!).
logic implication => if i mess/flash 'round, i need to get the phone back into a state, where it's ready to be used (as phone + data).
Obviously, there's 2 ways:
1.) [preferred] Pull a backup-image of all programmable memory (incl. system, installed apps, data, whatever provider settings/data there are..) off the phone.
Restore all of it later, when necessary.
Can anyone kick me to capable tool(s) & maybe tutorial(s), even..? tx!
[no_tard: even a small checklist helps of cause..]
2.) Get a full-featured mem-image from phone supplier [SE], and load it onto phone.
Does anyone know if this is possible..?
Does SonyE supply mem-images?
Or is there a bootloader for the phone that can get one, online meby?
Which PC-app is used?
Thanks in advance for the help!
& nice weeknd
[sorry for plain stupidity.
yea, i've already searched 'round quite a bit... but still, not confident enough to wipe..]
There are a few of these guides around, but I thought to write my own. Hope it will be helpful! I'll keep the most up-to-date version on my site.
Rooting Android: What Is it?
If you've heard about "rooting" your Android phone, and are confused by what exactly it does, or don't understand the instructions you found on an obscure forum or blog post somewhere, this guide might help you make sense of things.
What Is "Root"?
"Root" is the name of the default administrative user in Unix. The user named "root" can do absolutely anything: edit or delete any file, start or stop any system service, and also add, remove or change the privileges of other users, so that they, too, could perform the same operation.
So, user "root" can actually bestow administrative privileges on any Android user, including the default one you use normally on the phone.
When you buy an Android phone, it normally does not let you login as user "root".
What Can User "Root" Do?
Your phone is really a general-purpose hand-held computer. People have written apps for it that can do the things like this:
Turn it into a wireless internet router, connecting to your 3G/4G network on one end, and broadcasting a wifi hotspot on another. You can thus connect your laptop to the internet from anywhere. "Tethering," but without cables!
Lets you overwrite any of the Android system files, customizing it to your heart's content. This lets you customize the built-in fonts, colors, keyboards, etc.
Lets you install newer versions of Android, beyond what your phone's vendor has provided.
Why stop at standard Android? Because Android is an open source operating system, people have been able to modify it to add features far and beyond what Google has put in it, as well as offering better performance in some situations. With administrative privileges, you can just flash an entire new Android ROM to your phone. A very popular one is CynaogenMod, which is based on Android 2.3.
Install various networking servers and clients, such as QuickSSHd to allow logging in to your phone over the internet, or CifsManager, which lets you access Windows shared drives from your phone.
Who knows? People might think of new users for these hand-held computers, uses that would require full access to all features of the phone.
Why Won't My Phone Normally Let Me Login As "Root"?
First, for reliability -- as far as you're concerned.
Imagine if your phone automatically gave you administrative access. This means that any app you install can do anything it wants to it. Obviously, unacceptable.
An alternate solution is available in newer versions of Windows and other desktop operating systems, which require you to enter a special administrative password whenever a program is trying to access secure parts of your computer. This is annoying enough on a desktop computer: on a phone, it would again be unacceptable.
So, it makes sense -- for your sake -- to disallow any administrative privileges.
Second, for reliability -- as far the phone vendor is concerned.
A smartphone, unlike a PC, is an expensive consumer device with an explicit support contract. People normally and frequently return phones to the shop if they stop working properly, or call customer support to get assistance. There's a huge cost for the vendor to maintain this support network.
Think for a minute what would happen if any phone user could login as "root" and delete any system file: you would have broken phones everywhere, frustrated consumers, and clogged support networks. Indeed, "rooting" a phone pretty much voids your warranty as far the vendor is concerned.
I Understand the Risks and Am Willing to Void the Warranty, So Why Can't I Login As "Root"? It's My Phone!
Even if logging in as "root" were an advanced feature, hidden away somewhere in the menus with thousands of warnings about possible dangers, you can bet that many non-advanced users would find it. When their phone breaks, you bet they will be angry, and will not care that the warnings were there. As far as they would be concerned, this "root" thing is a feature of their phone, and if it can break the phone then it shouldn't even be there.
And there's a third party who has a business interest in denying you "root": the telecommunication carriers. Their business model is designed around typical consumer uses of the phone, and they do not want it to be too powerful. For example, a "rooted" phone can let you tether it to a laptop, so that your laptop gets its internet access. But, carriers typically sell special "laptop sticks" for that purpose specifically, and these usually are more expensive than phone plans, because they take into account the much heavier bandwidth that laptop users tend to use. If everybody could "root" their phone and tether it, this product -- and source of revenue -- would be irrelevant.
So, Phones Don't Come with a "Root" User?
Android is based on the Linux operating system, which requires the "root" user to function. It's there. However, the vendor has tried to hide all the normal ways to access it. The "root" user is there, it's just "locked."
What Is "Rooting"?
In the context of Android phone, rooting means more than just letting you log in as the "root" user: it means installing a set of tools so that any of your programs can access "root" when then need to and you allow them.
The result is that "rooted" phone works just like Windows, in that it will ask you for permission (but not a password) whenever an app is trying to get administrative privileges.
Fortunately, once you gain access to the "root" user, it's very easily to install a set of standard apps that let you implement this feature, specifically the Superuser app.
How Do I Root My Phone?
Nothing in software can be truly locked down, and hackers have found ways to get "root" access on any Android phone on the market. There are quite a few holes.
But, these methods vary a lot and are different per phone. It's easier on some phones than others. It's often risky, too, because a misstep could potentially "brick" your phone -- making it so that you cannot boot into Android. "Unbricking" is possible in some cases, but not in others. Take care!
Search the internet, and you will likely find various blog and forums posts with instructions for rooting your particular phone model.
This is not a guide for rooting your particular phone model. Instead, it is a general description of what rooting is and how it works. It can help you understand the rooting instructions you find.
Any Downsides?
Well, first of all, there is the risk of bricking your phone. You might want to make sure that someone you know with the same model phone as you have has used the method before. Or, read about it in the internet forums, and make sure that lots of other people have used this method successfully.
Also, you may void your warranty: of course, this would only happen if customer support looks closely at your phone and notices that it has been rooted. It's a good idea to look at these rooting guides to see if there is an easy way to un-root the phone, or at least return it to factory settings.
Finally, there's the issue of "firmware updates" coming from your carrier. Sometimes they will work fine with rooted phones (as long as custom Android ROM has not been installed on them), but depending on the rooting method it may mean that won't work fine anymore. "Not working fine" can mean that the upgrades simply won't run, but it can also mean that the upgrades would fail terribly and brick your phone. Generally, if you have rooted your phone and are getting an "Update Available, Do you want to download?" message from your carrier, don't just say "yes," instead check the forums to see the experience of other people with rooted phones with this update. Generally this problem seems rare, a result of a very poor upgrade package from the vendor -- the usual case is that the upgrade simply won't work.
Don't worry too much: with a rooted phone (and a good Recovery program, see below) you will likely be able to install the upgrade yourself, and possibly better upgrades to more advanced versions of Android than your vendor provides.
How Rooting Works
First, let's understand how the locking down happens.
Your phone actually has more than just Android installed on it. There are, at minimum, three and usually four "partitions" in which entirely different programs are installed. Android is just one of them.
The Boot Loader
The first partition has the boot loader, the very first program see when you turn on the phone normally. The boot loader's main job is simply to boot other partitions, and by default it just boots the Android partition, commonly called the ROM (described below). So, you don't really see the boot loader for very long.
However, all phones allow for a special way of turning them on -- for example, holding the volume up button while pressing the power on button -- that shows the boot loader menu.
When you're there, you can actually choose if you want to boot into the Android partition, or you can boot into the Recovery partition (described in detail below).
The interesting thing about the boot loader is that it is very, very simple. It has no mechanism for users and privileges. One way to look at it is that it always is "root," and in fact can't be anything else.
Sounds like a good place from which to unlock your phone! Unfortunately, most boot loaders are too simple.
One exception is the boot loader found in Google's Nexus phones, and in a few other developer-friendly phones. These boot loaders can actually communicate with a PC over USB, and support writing data to partitions ("flashing" them), as well as booting from them. With this feature, you can flash an unlocked Android ROM to the Android partition, and you're done! Well, the challenge is just to find such a ROM that works well with your phone...
Most phones don't have such a flexible boot loader. However, getting into the boot loader menu is important, because it lets you boot into the Recovery partition, detailed next.
The Recovery Partition
As its name can tell you, this partition is mostly for customer support: the Recovery program can be used to return the Android partition to its factory settings, which can solve a lot of problems with faulty phones, or phones that were infected by bad apps. It can also format the SD card partition.
Some Recovery programs can also install special phone upgrades from the SD card, that write directly to ("flash") the Android ROM partition. Obviously, free access for anyone would allow rooting, so vendors make sure that Recovery would only accept official upgrades. But, one way to root a phone would be for hackers to find a way to create such an "upgrade" that the Recovery program would accept.
There's quite a lot of variation in Recovery programs out there: every vendor has their own idea of which recovery features would be useful for their customer support team. Boot into yours and take a look! It's harmless, unless you actually choose one of the recovery options...
Like the boot loader, the Recovery program is always in "root". A hacked Recovery program could let you flash an unlocked Android ROM, or run any "upgrade" you like. So, in addition to just "recovering" an unusable phone, it can help you "recover" the "root" user that has been locked from you!
A good Recovery program is very useful for customizing your phone, beyond just rooting it. By far the most popular Recovery program is Clockwork Recovery, also called ClockworkMod.
Some rooting methods begin by finding a way to flash ClockworkMod to your Recovery partition, from which you can then run an "upgrade" that roots your phone. Other rooting method find another way in, but still recommend you flash ClockwordMod as soon as possible, because it's just so useful for customizers.
You will not find a homepage or an "official" way to download ClockwordMod: carriers obviously do not want you get have easy access to it. But, search around, and you will find one appropriate for your phone. The ROM Manager app can also flash it for you, assuming you are already rooted.
The SD Card
This is another partition, entirely for you. It is not protected in any way, and you have full access to reading and writing files on it.
For many phones, this partition does not exist unless you physically install an SD card. Some phones have a built-in SD card.
The Android ROM
Finally, the most important partition on your phone! When the boot loader starts the Linux operating system (the "kernel") that sits underneath Android, one of the first subsystems to come up is the security system. From then on, the "root" user will be used to start various user-level subsystems required for the phone to function.
Eventually, the default user will be started, and that will be used to run your apps: the status and notification bar that appears on the top of the screen, the settings manager, the virtual keyboards, etc. Finally you get the home launcher, from which you can launch all the other apps on your phone. None of these programs run as "root", so you are effectively locked from administrative privileges.
The Linux operating system can set security permissions per file. So, indeed large parts of this partition are restricted to be read-only by any user except "root". So, if you boot into Android, none of the apps you run will be able to change these system files. The rest of the partition is readable-and-writeable, and generally functions just like the SD card partition, though it's usually much smaller.
Of course, if you boot into Recovery instead, you will be able to write to these files, because you are "root" there. That's why ClockworkMod is so useful for rooting your phone!
Most Android apps run on yet another layer, a virtual machine called Dalvik, which is a heavily modified version of the Java virtual machine found on previous generations of cell phones, as well as on desktop computers, servers, and many other devices. Definitely, everything you install from an app store will run on Dalvik. Dalvik is a tightly controlled environment in which privileges are carefully controlled per program, beyond what the Linux operating system provides. Not only do apps not have administrative access to the phone, but they can be limited in access to wifi, cellular access, and your data.
Except... that Android does provide a way for apps to request administrative privileges. In locked phones, this is automatically and silently denied. However, the Superuser app can hook into these requests and let any app switch to the "root" user, from which they have full administrative access. A friendly dialog box will pop up, asking you if you want to give the app full permissions. Say yes, and there you go!
A phone in which the Superuser app is running properly is rooted.
Summary: Rooting Methods
The rooting instructions you find will likely be one of these, or a combination of these steps:
Phones with boot loaders that can be unlocked (such as Google's Nexus) will let you flash other partitions. You can flash a whole Android ROM that is already rooted, such as CynaogenMod, and you're done! Or, if you don't want to replace your entire Android ROM, you can flash ClockworkMod into the Recovery partition, and move from there to the next method.
Some rooting methods start with a hacked way to flash ClockworkMod into the Recovery partition. With ClockworkMod, you can run your own special "upgrade" from the SD card. This "upgrade" will vary a lot per phone model, but at the minimum it will involve installing the Superuser app. For some phones, it will modify a few Linux configuration settings to make sure that Superuser app can login as "root." Other, more heavily locked-down phone models might require replacing certain locked parts of Linux and the Android system, sometimes much of the Linux "kernel" itself.
Other rooting methods use the phone's existing Recovery program, but the hackers found a way to create an "upgrade" that can fool the Recovery program into believing it's official. From there on, it's identical to the previous step.
Some rooting methods start straight from Android. Hackers found a way to login as root while Android is running. Of course, logging in as root is not the same rooting, but once you are logged in as root you can run a similar "upgrade" as is used in the previous steps.
Need More Help?
Don't ask me, please! Seriously, I spent a lot of time writing this long article specifically so I would not have to keep answering questions about the process. There are many internet forums and bloggers that welcome questions from noobs. I've generally found the Android hacker community to be extremely generous and welcoming.
Happy rooting!
Nice - but clarification requested
I like the article as it answers some questions.
One thing I'm curious about - you seem to use the terms Recovery Partition and Recovery Program interchangeably. Is that your intent? I'm not trying to split hairs - I just want to understand. I would have expected booting into the recovery partition loads the recovery program.
Also, you talk about how vendors choose features of their recovery program. CWM is then a replacement for the vendor supplied recovery program, correct? If you root then install CWM, are you in effect replacing the recovery program after rooting (as opposed to forcing CWM to overwrite the existing recovery program via flash)?
Thx
Thanks!
A very useful guide for android beginners like me!
Sorry for the bump . This post deserves a thanks and a bump
Thanks! A very useful guide for beginner. I've forwarded this to my colleague who just switched from Windows to Android phone.
Much appreciation!
Thank you so much. I have just purchased a rooted phone & have a ton of questions. Have spent hours here tonight searching for basic info. Finally found this & it really helped this total "noob".
Thank you again.
thanks (very2 usefull) from iphone4 user
Good work..
Sent from my Galaxy Mini using xda-premium
Thanks. It helped very much
how to root sony xperia u
How to root sony xperia U..?
please give me detailed and simple procedure to follow...
i would also happy to know should i have pc drivers to run this rooting process..?
thanks
Thx for taking the time to write the article helped me understand a lot of things
I'm creating this A - Z dictionary because I myself struggled a lot with the Android/Thunderbolt jargon when I first entered the Root scene. I would assume that other newly rooted Thunderbolt users will struggle and are struggling with the same thing, and I think a tool like this might help them. Keep in mind that most of these terms are either Android-specific or Thunderbolt-specific (if there is enough variance between the general Android and specific Thunderbolt meaning). So, without further ado...
The Thunderbolt Root User's Dictionary v1.0.2!
VVV A - M VVV
A
A2SD: 1. (abvr., n.) Apps 2 SD [card]. A root-only application used to move applications from your Thunderbolt's internal memory to a separate partition of your SD card. The partition uses an ext filesystem (either ext2, ext3, or ext4), which is the same filesystem that Andorid's internal memory uses. A2SD made its debut in CyanogenMod before the days of Froyo, in which Google added their own method of moving applications to the SD card without partitioning it.
1u. A2SD has a paid version and a free version, both of which are available in the Android market.
ADB: 1. (abvr., n.) Android Debug Bridge. A tool included with the Android SDK (Software Development Kit) which is located in the platform-tools folder of the un-packed ASDK. It interacts with your device by way of specific commands issued by the user from a separate device.
1u. Unless you use a one-click root method, you will have to use ADB in order to root your Thunderbolt.
AOSP: 1. (abvr., n.) The Android Open Source Project. A Google-led project whose goal is to further the development and to maintain the Open-Source Android operating system. AOSP hopes to accomplish it's goal by making the Android source code available to all interested parties, from device manufacturers to private developers.
1u. Cyanogenmod is an AOSP-based ROM.
B
Baseband: 1. (n.) Essentially, a driver for your Thunderbolt's radio. In theory, upgrading your baseband will give you a better radio signal, however in reality, an upgrade could potentially worsen your signal. Usually the baseband version is the same as the CDMA version for any given radio.
1u. Some basebands will only work with certain ROMs.
Bloatware: 1. (n.) Applications which are installed prior to the Thunderbolt's purchase but which serve little or no purpose, are obsolete and/or of poor quality, or are just plain dumb.
1u. Slacker radio, and application pre-loaded on the Thunderbolt, is usually regarded as bloatware.
Bootloader: 1. (n.) A set of code containing instructions for the operating system which is executed at every boot/reboot. Your bootloader has a simple user interface (hboot, see separate entry) which allows for debugging modification prior to boot. 2. (n.) [Unlocked] Bootloader: A bootloader which has been hacked to allow for limitless third party customization. With an unlocked botloader, users can load custom firmware, kernels, themes, and more. From an unlocked bootloader, you can boot normally, into recovery mode, or power down, amongst other options. Unlocking your bootloader voids your manufacturer's warranty.
1u. When you power on your device, bootloader will run before any other applications.
2u. I got my unlocked bootloader today and loaded up Cyanogenmod!
Brick: 1. (n.) A Thunderbolt which makes for a better paperweight than a mobile device; A Thunderbolt which is missing key functionality or which no longer functions and which cannot be recovered by rebooting normally, in recovery, or by means of RUU. 2. (v.) Brick[ed]: To have damaged your Thunderbolt, either physically or on a software level, so that it is beyond repair, at which point it becomes a Brick (see Brick, 1. (n.)).
1u. Adrenelyne: *Eyes closed* Is it a brick guys?
2u. Arednelyne: I BRICKED THE DAMN THING!
Busybox: 1. (n.) A small software application which provides many standard UNIX tools, although these tools are not as capable as their larger GNU Core Utility counterparts. Unless you intend to develop Android, all you really need to know about Busybox is that it is needed in order to root your Thunderbolt.
1u. Just as the self-proclaimed name, the "Swiss Army Knife of Embedded Linux", implies, Busybox is a set of many UNIX tools packaged into a small file.
C
CDMA: 1. (abvr., n.) Actually lengthened to CDMA2000, but often shortened simply to CDMA. CDMA, in terms of the Thunderbolt, is a wireless air interface used to transmit voice, data, and signaling data between the Thunderbolt and Verizon cell sites. It is responsible for your 1X/3G data connection as well as for your voice call connection. Your call connection signal strength is represented by the signal bars in the notification bar at the top of your screen, while your 1X/3G connection is represented by their corresponding icons located to the left of the signal bars (no 1X/3G/4G icon means you have no data connection).
1u. CDMA technology was first used in cordless home telephones.
ClockworkMod: 1. (n.) A popular custom replacement for the stock Android recovery console. With ClockworkMod, users can access advanced commands that stock recovery does not offer. Otherwise inaccessible commands can be executed, such as storage mounting options, .zip flashing, and nandroid backup restoration. ClockworkMod is a tool used often by developers and is something that you will see a lot of as a rooted Thunderbolt user.
1u. I booted into ClockworkMod mode so that I could flash Imoseyon's newest kernel, v15.4926.0010010.666test47
CyanogenMod: 1. (n.) Custom firmware based on the Android Open Source Project (AOSP). CyanogenMod (often shortened to CM, or CM7 for version 7.x) offers features not found in the stock Thunderbolt firmware, and it runs Gingerbread, not Froyo. CM7 is currently in the Alpha stage of development for Thunderbolt users.
1u. Users who use CyanogenMod are able to browse the web in incognito mode.
D
Dalvik: 1. (n.) A virtual machine designed by Google for use in the Android operating system. Sometimes shortened to DVM or DalvikVM. 2. (n.) Dalvik [Cache]: A cache of small .dex files which are used to quickly and efficiently load applications. Basically, when Android starts up, the DalvikVM scans through all of your applications (files with .apk extensions) and application framework. It then optimizes the bytecode (tiny code commonly used for efficient software execution) for each application into a .dex file and stores that file in the Dalvik Cache. The applications are then run using the .dex file (optimized bytecode). By doing this, Android is able to speed up to execution of applications by loading them from smaller .dex files instead of larger .apk files. This is why when you install a new ROM, it takes longer to boot for the first time (because the DalvikVM is scanning and optimizing each application/framework). Every time an application (or framework library) changes or is installed, it’s re-optimized into a .dex file and the cache is updated.
1u. Dalvik is named after a fishing village in Iceland.
2u. Many custom ROMs give you the ability to clear your Dalvik cache at any time.
Debloat: 1. (v.) To remove the bloatware from your Thunderbolt. 2. (adj.) Debloat[ed]: A ROM which comes with some or all bloatware removed.
1u. If you want to debloat your ROM, just flash the debloat patch!
2u. Many ROMs come debloated and deodxed.
Deodex: 1. (n.) A patch of sorts that involved the un-odexing of a ROM. An odex, simply put, is a collection of bits of different applications that have been pulled from their original sources prior to boot with the intent to speed up the boot process. Therefore, a deodex is the patch applied to a ROM which all the bits from all the different applications have been returned to their respective sources. *Note: Most ROMs come either odexed or deodexed.
1u. BAMF ROMs are all deodexed prior to their release (plus they're awesome )
E
eMMC: 1. (abvr., n.) Embedded MultiMediaCard. eMMC is simply a storage solution with MMC interface, flash memory, and controller. The average Thunderbolt user only needs to know that the Thunderbolt uses 4GB of eMMC as it's internal storage, although Android and other system partitions (one for hboot/bootloader, one for recovery, and one for Android itself) take up roughly 1.4GB of that, leaving only 2.6GB that can be used for application and data storage. So in terms of the Thunderbolt, eMMC is just a technical term for internal storage.
1u. eMMC has a high capacity, reliable write, boot, and sleep modes, a dual data date, support for multiple partitions, and security enhancements over MMC.
ETA: 1. (abvr., n.) Estimated Time of Arrival. In the world of Android development, ROMs, kernels, RILs, etc. are created at whatever pace their developers decide to create them at. It is considered disrespectful to demand an ETA for any custom software or code because, quite frankly, we're lucky to have dedicated developers who are kind and talented enough to produce such things at no cost. One should not, under any circumstance, ask for ETAs. Period. /Thread.
1u. Sooooooo.... whats the ETA on that CM7 RIL?
F
Firmware: 1. (n.) In its most basic form, software that has been written onto read-only memory (ROM). However, firmware in the context of Android and Thunderbolt could be defined as the software that drives the device. It is both programs and code whose purpose is to control the hardware of the Thunderbolt, and is therefore essential to your Thunderbolt's operation.
1u. Verizon is pushing out a firmware update on the 30th... NOT!
Flash: 1. (v.) To install custom software, which is packaged into a .zip, onto your Thunderbolt through recovery mode. When you flash a custom ROM, or when someone refers to flashing a patch, the thing being flashed is the thing being installed. Therefore, if the term flash throws you off, just pretend it says "install" instead.
1u(a). I am going to flash the latest version of BAMF later today.
1u(b). Once the patch has been flashed, your data connection should be restored.
Freeze: 1. (v.) Freezeing is a function within the application Titanium Backup which allows the rooted user to "freeze", or temporarially disable, any application (including system applications). Freezing is useful in disabling bloatware that cannot be uninstalled.
1u(a). I am going to freeze My Verizon; that app is annoying!
Froyo: 1. (n.) Version 2.2 of the Android operating system. Thunderbolts currently come with this version of Android.
1u. My Thunderbolt is running Android version 2.2.1, which is categorized as Froyo.
G
Gingerbread: 1. (n.) Version 2.3 of the Android operating system. Often abbreviated to GB.
1u. I wish my Thunderbolt could have some yummy Gingrebread...
GPU: 1. (abvr., n.) Graphics Processing Unit. Your Thunderbolt's GPU is akin to your computer's video card. It is a chip, much like a CPU, which is responsible for manipulating and altering memory/data related to graphical output. A GPU does this more efficiently than a CPU because of the way that such memory/data is arranged (in parallel as opposed to in series).
1u. Imoseyon's kernels offer several GPU enhancements that are baked straight into his kernel code.
H
HBoot: 1. (abvr., n.) HotBoot. Located on a partition of your Thunderbolt's eMMC, HBoot allows you to boot into other eMMC partitions such as bootloader, recovery, and your regular ROM. HBoot is the first thing that runs when you power on your Thunderbolt. By default, HBoot simply loads bootloader when your device is powered on. However, you can boot into HBoot in order to access its various features by using ADB or by holding your volume down and power buttons simultaneously.
1u. Hboot is easily the hardest term to research
HDPI: 1> (abvr., n.) High Dots Per Inch (DPI). DPI is a measure of screen pixel density, so a higher DPI always means a higher resolution screen, meaning a higher definition image. The Thunderbolt, being an HDPI device, has a better screen than the Eris, which is an MDPI device, or Medium DPI.
1u. Some Google App (GAPPS) packages are made for HDPI devices and others for MDPI/LDPI devices.
I
I/O Scheduler: 1. (abvr., n.) Input/Output Scheduler. The I/O scheduler is code that is tasked with deciding the order in which I/O operations are submitted to the eMMC and SD card. Common goals of many I/O scheduler are to minimize time wasted by hard disk seeks, to prioritize a certain processes' I/O requests, to give a share of the disk bandwidth to each running process, and to guarantee that certain requests will be issued in a particular time frame. Everyone has their own opinion about which I/O scheduler is the best for Thunderbolt, and each kernel varies with which I/O schedulers it supports.
1u. The default I/O scheduler for CyanogenMod is BFQ.
J
=====================================
K
Kernel: 1. (n.) The bridge between applications and the actual data processing done on the hardware level. Basically, the kernel talks to hardware components like the RAM and CPU inside the Thunderbolt and assigns the proper amount of each of the component's resources to be used for an application's tasks. In Android, the kernel is also used to control the CPU clock speed and voltage, as well as other hardware-related functions.
1u. You can upgrade your kernel just like you can upgrade your ROM, but only if you're rooted!
L
LTE: 1. (abvr., n.) Actually lengthened to 3GPP Long Term Evolution, but often shortened to just LTE. In your Thunderbolt, LTE is responsible for your 4G wireless data transfer. Although LTE does not officially qualify as a 4G network, it is often marketed as such.
1u. The Thunderbolt runs on Verizon's 4GLTE network, although LTE coverage is currently only in large cities.
M
MD5: 1. (n.) A 128-bit hash that functions as a compact digital fingerprint for a file. Since almost every MD5 hash is unique (although mathematically its not impossible for multiple files to have the same MD5 hash), they are often used to verify the validity of downloads for your Thunderbolt, such as ROMs and kernels. 2. (n.) MD5Sum: [AKA checksum] A program used to calculate the MD5 hash of a given file. You'll use an MD5Summer in order to make sure your downloaded ROM/kernel/mod is 100% good.
1u. Always check the MD5 hash before you flash a ROM or kernel!
2u. An MD5Summer can be found here.
VVV SEE POST #2 FOR N - Z VVV
N
Nandroid: 1. (n.) A complete backup image of your Thunderbolt which can be restored in the event of phone problems or failure. A nandroid can be created in a number of ways, the most popular of which is through the application ROM Manager by selecting the option "Backup current ROM". Nandroids are saved onto your SD card, so wiping your data in order to flash new ROMs won't affect them! A nandroid is the best safety net for users experimenting with unstable ROMs or kernels.
1u. I flashed a ROM for a different device by mistake, so I booted into recovery and restored my BAMF nandroid backup!
Nightlies: 1. (n.) Nightly releases of a ROM, usually one which is AOSP-based. These releases are often less stable than official versions of the ROM because nightlies are changed on a nightly basis, meaning that some small bugs are inevitably overlooked. The CyanogenMod team coined the term and currently hosts nightlies for download on their servers, but only for devices which already have stable CM releases.
1u. Since CM is still working out the kinks in its RIL, OMFGB, another AOSP-based ROM with a working RIL, has begun releasing nightlies.
O
OTA: 1. (abvr., n.) Over The Air. Usually used in the context of an OTA update. 2. (n.) OTA [Update]: An update which is pushed, or sent out over the air, by Verizon. OTA updates are sent to all wireless customers. There are rumors that Verizon will soon send out an OTA update which will take the Thunderbolt from Froyo to Gingerbread.
1u. Verizon patched Android OTA.
2u. Hopefully, Verizon will give us Gingerbreads with an OTA update soon
Overclock: 1. (v.) To increase the CPU clock speed (which is measured in GHZ, or gigahertz) from its stock settings in order to increase the Thunderbolt's processing speed. The long-term results of overclocking on a mobile scale have yet to be determined because the ability to overclock and retain stability has only recently been achieved.
1u. I have my Thunderbolt overclocked to 1.41GHZ
P
Port: 1. (v.) To take a custom ROM/mod/kernel/theme/etc made for one device and adapt its code and architecture to run stably on the Thunderbolt. 2. (n.) A custom ROM/mod/kernel/theme/etc for a device other than the Thunderbolt which has been adapted to run stably on the Thunderbolt.
1u. Many people coming from different devices want their favorite ROMs ported over to the Thunderbolt.
2u. Kingdom is a port that many Thunderbolt users run.
Q
=====================================
R
Radio: 1. (n.) Software which controls all of the Thunderbolt's wireless communication, from CMDA to LTE. Without a radio installed, you won't have a data signal or a network signal. 2. (n.) The radio on the hardware level is what sends and receives wireless signals via the Thunderbolt's internal antenna.
1u. I want to upgrade my radio to MR2 when Gingerbread becomes more stable.
2u. The Thunderbolt's radio can receive data at 4G speeds.
*For general knowledge* >>> Head over to the Obligatory Thunderbolt Radio Thread to get your hands on basic Froyo radios. The first 4 radios on that page are for Froyo ROMs, but the last one is for Gingerbread only! For instructions on how to flash a radio, check out my FAQ Thread (coming soon...)
Recovery: 1. (n.) A mode which exists on a partition of your Thunderbolt's eMMC that can be accessed either through the use of ADB or through bootloader. In recovery mode (stock), you can factory reset your device and recover your operating system by flashing a signed ROM. There are few other options accessible in stock recovery mode. *Note: Not to be confused with Clockworkmod (see seperate entry).
1u. I really want to get rid off all this junk I've installed, so I booted into recovery and did a full factory reset.
RIL: 1. (n.) Radio Interface Layer. Its a large amount of pretty basic code that essentially helps software in need of network access communicate with the radio hardware itself. I'm paraphrasing here, but the process is something along the lines of: An application needs some kind of network usage --> the main phone application --> RIL --> two different RILs, the latter of which sends the signal out to the tower. Its sort of like the kernel of the radio.
1u. CM7's RIL is currently being worked on; when it's complete, CM7 should be headed towards its first official Thunderbolt release!
ROM: 1. (n.) Read-only memory. A ROM, in Android and Thunderbolt, is custom firmware designed either by the device manufacturer (signed firmware, where the word signed indicates its authenticity as manufacturer firmware) or by a third party (custom firmware). Installing a ROM involved flashing the .zip that it is compressed within through Recovery mode.
1u. Flashing custom ROMs is a great way to gain more control over your device!
ROM Manager: 1. (n.) An application used to perform a variety of root-only tasks such as creating a nandroid, downloading a ROM straight to your Thunderbolt, partitioning your SD card in preparation for A2SD, etc.. ROM Manager is included in many ROMs, but it can be downloaded for free from the Android market.
1u. You can use ROM Manager to run a fix permissions script, which is a tool that can sometimes fix force close problems.
Root: 1. (n.) In Linux (which Android is based on), the equivalent of administrative privileges on the system level. Therefore, obtaining root on your Thunderbolt equates to obtaining access to administrative rights on your phone. 2. Root[ing]: (v.) The act of obtaining root access on your phone. This can be done through ADB or by using the newer and experimental one-click root methods.
1u. A root user can edit system files, which unlocks all the potential of custom ROMs.
2u. Rooting your phone is the best way to get a full, unhindered user experience.
Rosie: 1. (n.) HTC's Sense-based dock and launcher application. Rosie is the in charge of your homescreens, dock, app drawer, etc.. It can be replaced by other launchers, such as LauncherPro, ADW Launcher, or GO Launcher.
1u. Most of the things you can do on your homescreens are done within Rosie.
RUU: 1. (n.) ROM Upgrade Utility. A file which allows the rooted user to revert recovery from ClockworkMod to stock, return to an un-rooted state, and turn S-OFF to S-ON. An RUU should be used when all things fail, when root access is no longer desired (ie if you need to bring your phone into Verizon to have it replaced), etc.. The average user will probably never have to use an RUU.
1u. My Thunderbolt's USB port stopped working, so I used an RUU to make my phone look normal and brought it to Verizon to have it replaced
S
S-OFF: 1. (n.) Security-OFF. In order to successfully root a Thunderbolt, flash custom ROMs, and access most /system/ files, you must first obtain S-OFF (the Thunderbolt ships with S-ON, or Security-ON). When S-OFF is obtained, the Thunderbolt no longer scans flashed firmware, boot animations, splash boot pages, or kernels for official signatures, meaning the user is grated full control over his/her phone. You can check your S status by booting into hboot (bootloader).
1u. I gained S-OFF so that I could flash GINGERTH3ORY and bake cookies on my battery
Sense: 1. (n.) HTC's default user interface for most of their Android-based mobile devices. Basically, Sense controls the Thunderbolt's lockscreen, launcher, and theme/skin by default, unless a desensed ROM is used or a 3rd party application bypasses Sense's control. 2. (v.) [De]sense: The process of removing HTC's Sense from your Thunderbolt, allowing for even more customization and no stock feel whatsoever. Desensing is usually done at the ROM level, and most ROMs will note whether or not they are desensed or not.
1u. I personally dislike the default Sense lockscreen, so I installed WidgetLocker and got rid of it!
2u. BAMF Stripped is the perfect example of a desensed ROM.
Stock: 1. (n.) Simply put, the default settings for a the Thunderbolt. A stock Thunderbolt would be one that is un-rooted, unmodified, and otherwise untouched on a software level. Restoring to stock refers to revoking root access and turning S-OFF to S-ON.
1u. You might want to return your Thunderbolt to its stock settings before you bring it in to Verizon and claim you don't know why it caught fire that one time
Superuser: 1. (n.) An application used by root users to grant applications root access. Superuser allows users to select from a variety of different options, including remembering a specific application's root access, meaning it only needs to be cleared for root access once. Superuser is currently the easiest method for granting root access to applications.
1u. Superuser displays toast notifications whenever an application is granted root access.
Swap: 1. (n.) AKA Paging. A memory-management tool that creates a user-defined amount of virtual memory on the eMMC for Android to use in addition to the Thunderbolt's RAM. Using swap, Android can move larger amounts of data from RAM to the eMMC, allowing for more RAM to be free at any given time. Data is exchanged between the RAM and the swap partition based on size and priority. In theory, using swap will increase your Thunderbolt's performance because the RAM is free more often and in larger quantities.
1u. There are rumors that using swap will eventually kill your eMMC due to the fact that eMMC can only be written to a certain amount of times, however no one really knows the long term affects of many eMMC writes, so any claims should be viewed as speculation.
T
Titanium Backup: 1. (n.) A popular root-only application that contains many tools that a root user may want/need to use. Titanium Backup's main function is to create a backup of a user's applications, application data, and system data on the SD card so that a user can clear their data, flash a new ROM, and then restore their backed-up applications and data to the new ROM. However, Titanium Backup can also be used to uninstall system applications, move applications to the SD card, and freeze/defrost applications. Titanium Backup can be downloaded for free from the Android market.
1u. Das BAMF ROMs include the free version of Titanium Backup.
Toast Notifications: 1. (n.) A notification which pops up (much like toast ) to display itself at the bottom of the screen. Many background applications will use toast notifications in order to alert the user to its activity.
1u. Superuser uses toast notifications to notify the user of applications which are being granted root access.
U
UI: 1. (abvr., n.) User Interface. On a stock Thunderbolt, Sense would be considered by most to be the UI, although HTC sometimes agrees and sometimes disagrees. Either way, the UI is usually a graphical, physical way for the user to manipulate the intangible software and hardware contained within a device. A UIs goal is to be simple, visually appealing, and user-friendly, while still maintaining functionality and advanced capability.
1u. Sense, the Thunderbolt's UI, can be almost entirely removed by flashing a version of BAMF Stripped.
V
Voltage: Used only in reference to Overclocking, see O. 1. (n.) Controls how many volts go to the CPU at different clock speeds. A lower voltage means longer battery life, but a voltage too low on a clock speed too high can lead to instability and system crashes. ; under- and over- are relative to stock CPU clocks.
1u. The stock CPU voltages consume battery life very quickly.
W
WIP: 1. (abvr., n.) Work In Progress. Usually used in reference to a ROM, implying that it is not currently finished, or in beta form.
=====================================
X
=====================================
Y
=====================================
Z
Zipalign: 1. (n.) A tool used by ROM developers that optimizes Android application files (.apk's). Essentially, zipaligning a ROM ensures that all applications are compressed relative to the start of the file. All the average user needs to know is that a zipaligned ROM means less RAM consumption, and that's always a good thing!
1u. Most of the popular Thunderbolt ROMs are zipaligned prior to their release.
=====================================
==============ANDORID===============
=====================================
Well that's it for now! I'll be updating this daily for a while (until I run out of stuff to update it with). I'll keep it constantly maintained, and look out for a Frequently Asked Questions thread coming soon!
And just as a footnote guys, I really don't know that much about Android. I created this for myself just as much as I created it for the good of the community, and throughout writing it I learned a lot (you really think I knew what the hell deodex meant? dalvik cache? chyeah, okay). So if you learn something from this, pay it forward, help someone else with the new knowledge you've acquired! I'm totally open to corrections to current entries or even to entirely new entries, just post your thoughts below
ENJOY!!!
Here is a running list of the entries which I'm not sure are totally accurate (I'm actually not sure if any of the entries are totally accurate, but these are the ones I'm sure aren't). If you think something should be changed with one of these, well, you're probably right, so let me know
- ADB
- Bootloader
- Kernel
- Deodex
- Busybox
- ROM
- Radio
- OTA
- Firmware
- Zipalign
- RUU
- S-OFF
- Dalvik
- Rosie
- I/O Scheduker
- Swap
- eMMC
- RIL
- CDMA
- LTE
- Baseband
- HBoot
- GPU
=================================
The Coming-Soon List
- Launcher Application
- Fix Permissions
- Background Application
- Foreground Application
- SIM card
- Root Explorer
- Terminal Emulator
- Linked tutorials for many of these terms are coming just as soon as I figure out how I would like to format them... Stay tuned
If you see a term that you don't understand while navigating the Thunderbolt forums, post a request in this thread and it will be added!
Changelog
6/27/2011 @ 2:30AM - v1.0 released after a full day of typing, 28 entries!
6/28/2011 @ 3:45AM - v1.0.1 released with 20 entries added.
7/7/2011 @ 12:30AM - v1.0.1 with an additional 2 terms and split the OP into two separate posts to bypass character limit.
*** Please let me know if you see any typos, grammar errors, or any other errors that are unrelated to the meaning of the definitions! ***
MattBeyers said:
Changelog
6/27/2011 @ 2:30AM - v1.0 released after a full day of typing!
Click to expand...
Click to collapse
Nice work. Much appreciated!
Sent from my ADR6400L using XDA Premium App
azturbomini said:
Nice work. Much appreciated!
Sent from my ADR6400L using XDA Premium App
Click to expand...
Click to collapse
Thankya
Thanks for this. Coming from only Moto Android phones, I didn't know some of these terms but now I do!
Mods, please sticky.
Sent from my ADR6400L using XDA Premium App
For your ADB entry...
SDK = Software Development Kit
adb is located in platform-tools directory.
Suggestions: Hboot, MR
edit: for thoroughness purposes, those should have their own entries
nerozehl said:
For your ADB entry...
SDK = Software Development Kit
adb is located in platform-tools directory.
Click to expand...
Click to collapse
Fixed
cuguy said:
Suggestions: Hboot, MR
edit: for thoroughness purposes, those should have their own entries
Click to expand...
Click to collapse
Later today, I'll be adding something like 15 more terms, and I'll be sure to sneak those in there as well But could you just clarify what you mean by MR? Do you mean the MR radios?
v1.0.1 released
Added 20 more terms to the list, check it out
Bump. Hopefully this gets stickied soon
Sent from my ADR6400L using XDA Premium App
Absolutely fantastic. Thanks for the effort. If not done yet - mods - please sticky!
Thanks for all the support guys! We've been stickied!! . Watch out for v1.0.2 version later today
Sent from my Mecha using XDA Premium App
MattBeyers said:
Thanks for all the support guys! We've been stickied!! . Watch out for v1.0.2 version later today
Sent from my Mecha using XDA Premium App
Click to expand...
Click to collapse
Good, now I can stop bothering the moderator
Sent from my Xoom using XDA Premium App
This is great. Thanks for getting it started!
Thanks! Great help for noobs.
Thanks fore your time, a good basic primer
Great dictionary for the entry level person. Wanted to double check any new terms coming from my OG droid. Needed clarification on radios and HTC specific terms. Thanks.
Rick
Can I suggest a couple of entry edits which might make this dictionary a little more accurate? Feel free to edit to fit language and format...
CDMA: a.k.a Channel Division Multiple Access: This is the wireless air interface for Verizon, Alltel, Sprint, US Cellular, the virtual carrier Boost Mobile, many portable phones, as well as many satellite uplinks and downlinks. In function, it all devices hosted "talk" to the tower through an assigned code, or language, simultaneously. As opposed to LTE/GSM technologies, which "talk" to the tower based on an assigned frequency and/or time slot. Imagine it like this: the tower knows all the languages on earth and can hear them all at the same time... and speaks them all at the same time. You phone in a particular cell speaks an assigned language so to avoid other phones speaking the same language in the same cell. All handsets are "heard" at the same time, but as distance increases, the handset must "shout", or broadcast stronger, to be heard as well as other devices in the cell, hence the sometimes shocking drain on a CDMA device battery when on a cell's edge.
CDMA2000: A Quallcomm patented communictions technology based on the CDMA mode of air access. Specifically, this pertains to the methods and protocols which towers and handsets use to communicate with each other. Subsets of CDMA2000 would be 1XRTT, EVDO rev.0, EVDO rev.A, EVDO rev.B (not implemented currently).
If any of that is useful, feel free to include it.
Greetings,
I am currently working on a 100% Android Marshmallow v6.0.1 variant for the Samsung On5 SM-G550T/1 (T-Mobile).
THIS IS NOT A THREAD ON HOW TO ROOT YOUR PHONE
This thread assumes you have already rooted and installed TWRP on your phone and have basic understanding on to backup and recover your phone.
If you need that sort of help, please see my other thread:
https://goo.gl/jWNVNX
Reasons for Project:
I started this project for two reasons:
- Frustration for the lack of support for an otherwise great phone.
- Stumbling across the Samsung Factory Test Rom doing research for other projects.
This ROM has a a 100% Native Driver Set for Android v6.0.1 on the SM-G550T/1. The driver set is identical for the TMO or MetroPCS variants, but the EFS folder will remain different for each.
I'm going to outright confess that I am not a programmer and this is truthfully the first ROM I am trying to develop on my own. I'm a Project Manager and Software Designer by trade, but I rarely get this deep into ROM developments. I figured it was a good project to take on to learn the nitty griddy of what a truly pure Android Experience looks like. That being said, I'd greatly appreciate any help anyone can contribute and will make all my work freely available to anyone wanting to help provided that everyone participating goes into it with good faith that they have no intent on making substantial gains from this project.
Usage of these ROMs/Files/Programs are subject to the following licenses:
- Google's Android Open Source Project Licnese (AOSP):
https://source.android.com/setup/start/licenses
- Google's Individual Contributor License Agreement:
https://cla.developers.google.com/about/google-individual
- Apache Software License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0
- Samsung Open Source Release Center (OSRC) License:
http://opensource.samsung.com/reception/
That being said, I believe this remains a good enough device, IMHO, to transition people into Android or to provide to people not requiring a fully featured phone.
KNOX Status:
The Factory Test ROM is mostly clean having all the drivers intact and lacks most Samsung Bloatware "tampering". It *DOES* have some preliminary containers for KNOX installed, but none of it is active and takes up less then 1 MB of total space after cleaning passes to remove as many traces as could be removed without breaking things. It is currently being "managed" by an init.d script that generates the folders. I haven't been able to track down yet.
Known Issues:
- 100% Pure Android Menus.
- Rooted/Super User.
- Sound, Camera, GPS, TMO Modem, Wifi, Bluetooth 100% working.
- 100% Native Tethering.
- Adblocker pre-installed (for both Apps and Websites).
- The smallest amount of KNOX installations outside of Lineage. >1mb of KNOX is present with the only items being present are installer containers.
- I'm trying to track down Init.d files that loads with Android and automatically disables/flushes WIFI.
- By default, the power button is set a 100ms push time to turn off (not show power menu). I'm trying to figure out a work around for this.
- I'm trying to find a compatible Contacts Storage file.
- There is no shutdown menu.
Please note that any released versions of this ROM will have makeshift ways to get around these issues.
Downloads:
Please see the second post in this thread.
How to Install:
#01.) Backup your device.
#02.) Download the zip file for the TWRP backup.
#03.) Unzip the TWRP backup.
#04.) Load the downloaded restore into your TWRP Backup Directory.
#05.) Boot into TWRP Recovery.
#06.) Restore the ROM copied into your TWRP Backup Directory.
#07.) Reboot.
Note: No personal data has been configured.
References:
Update Log:
https://goo.gl/CEGCx9|
Required System Apps for Samsung Phones:
https://goo.gl/emTvgX
Things I Could Use Help On:
- A very good way to figure out what Init.d files are doing what without reading through them.
- A good way to change the PIT so we can move 2 gig from the System Rom into the User Rom space.
- Easy methods for changing key button presses.
- A shutdown menu setup.
- A way to make this into an installer.
Note that all those things I'm working on ALREADY, but suggestions would be helpful.
Thanks in advance for any help anyone offers.
Donations Welcomed:
Dev elopement of this ROM is timely, I appreciate any contributions you wish to provide.
https://goo.gl/esVVqA
DOWNLOAD LINKS:
[2019-03-11] Android (v6.0.1) Build #13 [RC] - Google
https://www.androidfilehost.com/?fid=1395089523397913770
- Note, due to Google Now being installed on this one, I can't configure the home long press as the restart menu.
[2019-03-11] Android (v6.0.1) Build #13 [RC] - Diagnostics
https://www.androidfilehost.com/?fid=1395089523397913771
[2019-03-02] Android [v6.0.0] Build #10F [RC]
https://www.androidfilehost.com/?fid=1395089523397908668
i would love to test this rom
Its been taking a little longer then I expected to get it working correctly --- I've been having trouble tracking down some bugs, but with a little luck, I'll post the Google variant tomorrow.
Here is a "working" version to look at:
https://www.androidfilehost.com/?fid=1395089523397901430
It's a restore for TWRP (not an install).
It has all the aforementioned bugs, but is pretty clean only with a few basic utilities installed on it.
I'm trying to track down a number of things:
How to change the Power Button function:
In my most current build, I have made the power button simply put the device to sleep with a long hold of the home button bringing up the power menu. I can't for the life of me figure out where the power button menu lives at or how to define it.
Normally, you'd go edit /system/usr/keylayout/Generic.kl, however, editing it button 116 (the power button) for "Power" only makes it turn off. I can remap it easily as sleep. I compared several other ROMs who use the exact same parameter.
My current version, I just use an app to remap several of those functions; but I don't feel like that's a "release worthy" fix.
Factory Mode:
I can't figure out how to get this version of the ROM to get out of factory mode. The only real problem this causes is, on bootup, it will display a message saying as such and then disable WIFI and turn off the sound. Both, of which, can be immediately be turned back on. It also disables power saver modes.
At first, I thought this was an Init.d file, but after doing some digging I determined this has to the /efs/factoryapp/factorymode file. I may need to swap elements from another EFS to get this fixed.
Contacts Storage:
This is another one I can't seem to track down, but I have a working idea how to fix it. At current, anything that uses Contact Storage won't work. I wonder if the contact storage I have on the system is simply incompatible for some reason. I'm going to try to pull over those system apps from another working rom.
Storage
I've mapped out all the partitions but am having trouble figuring out how to actually change the partitions. There is a whole 2 GB being wasted on the system partition. I'm actually very surprised that no one has ever released a rom with this fixed.
I've tried using parted, but my ADB Install is messed up something major and I cant track down that problem. Reinstalled ADB hasn't fixed it. Its largely a PC problem on my end; a problem I'm dragging my feat going and trying to fix. This is an issue I REALLY wish I could use PC tools for :-\. I've done these changes a thousand times on Windows based machines, but never on a Linux based OS.
Now that I think about it, maybe I should try doing this from the terminal prompt in TWRP. I just wish the keyboard in TWRP didn't suck :-\.
Other Thoughts:
Beyond those very vexing bugs, I have to honestly say that I feel like this experience on this rom is vastly superior to that of the stock Samsung Experience. Sure, these issues are vexing, but I'm also seeing much less system overhead (CPU usage, RAM usage) with this Rom then anything else outside of Lineage.
Update
Here's an update for everyone who might be interested:
The last couple of week's I spent an ENORMOUS amount of time trying to track down as much as I can to get this ROM to work as intended.
For those interested, I've developed a completely new spreadsheet describing everything that's bloatware versus needed items:
https://goo.gl/emTvgX
This spreadsheet will probably be handy for EVERYONE working on Samsung related devices. When its a little more clean, I'll throw it some place better; but since this is specific towards this device, I'll keep it here for now.
It describes everything in /system/app/ and /system/priv-app/ in Samsung's default install and which of those items are actually needed for a 100% clean Android Experience.
I've also rolled through the architecture and have cleaned a lot of "junk" out of the system. Overall, I've pulled it the system from around 1.3 gb installed all the way down to about 800 mb and still feel confident I can trim more out of it.
I've also made it a point to install as much updated system apps as possible. Its been a game of juggling Google, Samsung and other ROM apps to find what works. In general, there are only one major programs left that are Samsung based in any way and that's the Samsung Phone Service app; which seems like its required to interface with the specific hardware on the phone. I've tracked down a number of native Google teleservice.apk-s and none have worked to date.
I am, sadly, still having the aforementioned problems:
- Contacts won't sync despite being able to connect to the contact services and seeing what backups are available. Manual restores work and updating contacts TO the server works now.
- The Power Button turns off the device immediately. The problem resides in a configuration somewhere that's telling the "Power" function to not bring up the power menu. The power menu is in the system, but appears to be renamed or something. I'm having trouble tracking this down. For documentation sake, in theory you should be able to just go to /system/usr/keylayout/General.kl and edit button 116, but that doesn't work.
- The phone is still locked into "Factory Mode". Various documentation says that if you go to /efs/FactoryData/factorymode and edit the contents to "ON", it should resolve this issue, but it doesn't. I feel that the problem resides in the CSC folder and EFS folder, but I haven't gotten around to testing yet. I suspect if you swap the CSC and EFS folders out and set all the correct permissions it might fix that. As it stands now, however, its only a minor inconvenience.
Overall, there's a lot more junk to sift through on the last two problems. The first problem I am kind of stumped on.
If you want to download the ROM and look at it or run it, you can follow the below link. It's currently setup with my "trouble shooting environment" making key places to tinker with easily accessible.
DOWNLOAD HERE:
https://goo.gl/MuPqE3
@LighthammerX
Im very grateful for this site where we can come and learn from one another. I just wanted to say thanks for taking time to work on this device and then sharing your findings. I've been using my on5 for 2 months now after other device died. I'm in the process of moving now but once I'm done with that I'm going to scope out this bad boy and see if I can figure out a few things. Appreciate you sharing your information with us all. Cheers.
Sent from my on5ltemtr using XDA Labs
Thanks. I'm glad to see there's some interest here. IMHO, with the right setup, this little phone is actually a very nice device today.
I actually took a lot of what I learned from hack this ROM apart and applied it to Super Starz to get it running a lot cleaning as my daily runner until/if I get these few bugs figured out.
Personally, I think the most valuable thing I've been learning is just how bloated Samsung Devices truly are out of the box.
I'm going to go ahead and dump my progress log here too so you guys can see what I've been toiling with in hopes someone has some specific feedback on issues and if I am in the right place or not:
https://goo.gl/CEGCx9
As of the writing of this post, I'm virtually confident any problems I am experiencing has nothing to do with /efs/ or /system/csc/.
I've found some inconsistencies in /etc/ and in a few other directories in /system/.
I still wonder if there isn't a init.d file I haven't tracked down yet, but personally I find folder compares faster and easier to try to normalize then I do init.d files.
When it comes to folder compares, I can do a fast reboot and see if things break. When it comes to lines of code, I have to do a bulk of edits, reboot and hope for the best.
Just as an FYI, I plan on completely rewriting the OP when things are at a place where things work.
For anyone following the thread, the Downloads Section has been updated.
This seems really interesting ? I've been trying to find a good ROM for a while with little success, so hopefully this might be the one. I just have one question: what are the differences between the Google and Diagnostics versions of this ROM?