Android, in common with other operating systems, has two basic modes of working: a user mode and a superuser mode. In normal use, android devices run in user mode, only invoking superuser mode to run restricted actions such as updating important parts of the system. In most cases the system works fine and helps keep people safe from doing things which may harm their device but for certain tasks, access to superuser mode is required.
Certain software, such as Titanium Backup need superuser access in order to function correctly. Other software, such as AdAway, work directly with some of Android’s protected system files (specifically, the hosts file). Unlike PCs and laptops, the Android operating system isn’t installed via a generic disc that can be used in any compatible machine – it is supplied as a firmware image which is tailored to particular device and is not interchangeable. It will normally come unrooted, i.e. it won’t allow the user to run commands as the superuser.
When I bought an Android tablet (a Mapan MX88T) recently it came unrooted, though the manufacturer had firmware available for download which, it claimed, was pre-rooted. After flashing the firmware, however, I found that the tablet was still lacked root access. I emailed the manufacturer but after a few days had still received no reply. Thus began numerous days of scouring forums and websites looking for information on rooting the tablet.
I discovered the chipset was the snappily titled WM8850 and after some searching found a few tools which claimed to be able to get root access on standard firmware. One by one, however, they all came back with the same message: “Unable to get root access. Try another method.” I found some similar tablets under different brandnames and flashed their firmwares which also proved both unrooted and unrootable. Finally, after days of obsessing over this tablet I found a custom firmware which promised root. It worked but with provisos: the marketplace didn’t work properly, the wireless was a bit flaky and there were a few more niggles which made it unusable.
This, though, was a lead. Root was possible on this device and I had a plan of attack. Decipher how the custom firmware obtained root and transfer the process to the manufacturer’s firmware. Simple. I asked about it on the forum that I got the rooted custom firmware from but received no helpful input. I was on my own. I started by extracting and examining the differences between the contents of each firmware. I found a posting in German that pointed to certain files which needed to be changed/moved/removed and I went through the firmware and copied and transferred things and merged folders and numerous other tweaks. After each modification I would have to repack the compressed folders, flash the modified firmware, setup the tablet and check for root. Each time it would come back negative.
I combed through config files, xml manifests and shell scripts, checking for any minor variation which would hold the key to getting root access. I became sure that the problem lay in one particular compressed folder and would extract, adjust, compress and flash it again and again but nothing worked. I knew that it was possible though, so I kept working. Eventually – accidentally – I found the key to the problem. In both firmwares there were two compresses folders: android4.1.tgz and androidroot4.1.tgz. I had focused on the former but it was only when I tried to extract the latter that I got an error message. In the official firmware, the androidroot4.1.tgz folder which provided root access was corrupt. The tablet wasn’t rooted because the files for gaining root were unreadable. After transferring a good copy, from the Universal Uberoid ROM, into the manufacturer’s firmware the root checker came back positive. If you’re curious about why root access is so important take a look over here.
If you’re having trouble with your android device get in touch via Facebook, our contact form or via the telephone numbers listed above