What is Rooting a Android OS?
Rooting is the process of allowing users of smartphones, tablets and other devices running the Android mobile operating system to attain privileged control (known as "root access") within Android's sub-system.
Rooting is often performed with the goal of overcoming
limitations that carriers and hardware manufacturers put on some
devices. Thus, rooting gives the ability (or permission) to alter or replace
system applications and settings, run specialized apps that require
administrator-level permissions, or perform other operations that are otherwise
inaccessible to a normal Android user. On Android, rooting can also facilitate
the complete removal and replacement of the device's operating system, usually
with a more recent release of its current operating system.
As Android derives from the Linux kernel, rooting an
Android device gives similar access administrative permissions as on Linux or
any other Unix-like operating system such as FreeBSD or OS X.
Root access is sometimes compared to jailbreaking devices
running the Apple iOS operating system. However, these are different
concepts. Jailbreaking describes the bypass of several types of Apple
prohibitions for the end user: modifying the operating system (enforced by a
"locked bootloader"), installing non-officially approved apps via sideloading,
and granting the user elevated administration-level privileges. Only a minority
of Android devices lock their bootloaders—and many vendors such as HTC, Sony, Asus and Google
explicitly provide the ability to unlock devices, and even replace the
operating system entirely. Similarly, the ability to sideload apps is
typically permissible on Android devices without root permissions. Thus, it is
primarily the third aspect of iOS jailbreaking relating to giving users
superuser administrative privileges that most directly correlates to Android
rooting.
Overview
Rooting lets all user-installed applications run privileged
commands typically unavailable to the devices in the stock configuration.
Rooting is required for more advanced and potentially dangerous operations
including modifying or deleting system files, removing carrier- or
manufacturer-installed applications, and low-level access to the hardware
itself (rebooting, controlling status lights, or recalibrating touch inputs.) A
typical rooting installation also installs the Superuser application, which
supervises applications that are granted root or superuser rights by requesting
approval from the user before granting said permissions. A secondary operation,
unlocking the device's bootloader verification, is required to remove
or replace the installed operating system.
In contrast to iOS jailbreaking, rooting is not needed
to run applications distributed outside of the Google Play Store, sometimes
called sideloading. The Android OS supports this feature natively in two
ways: through the "Unknown sources" option in the Settings menu and
through the Android Debug Bridge. However some US carriers, like AT&T,
prevented the installation of applications not on the Play Store in firmware, although
several devices (including the Samsung Infuse 4G) are not subject to this
rule, and AT&T lifted the restriction on most devices by the middle of
2011.
As of 2011, the Amazon Kindle Fire defaults to the Amazon
Appstore instead of Google Play, though like most other Android
devices, Kindle Fire allows sideloading of applications from unknown sources, and
the "easy installer" application on the Amazon Appstore makes this
easy. Other vendors of Android devices may look to other sources in the future.
Access to alternate apps may require rooting but rooting is not always
necessary.
Rooting an Android phone lets the owner modify or delete the
system files, which in turn lets them perform various tweaks and use apps that
require root access.
Advantages
Advantages of rooting include the possibility for complete
control over the look and feel of the device. As a superuser has access to the
device's system files, all aspects of the operating system can be customized
with the only real limitation being the level of coding expertise. Immediately
expectable advantages of rooted devices include the following:
Full theming capabilities, meaning that everything can be
changed and themed from the color of the battery indicator, to the look of the
dialer or contact list, to the video that plays while the device boots up.
Full control of the CPU and kernel, which should only be
adjusted by knowledgeable users.
Full application control including the ability to backup,
restore, or batch edit applications, or to remove bloatware that
comes pre-loaded on many phones. These features become available with the use
of root applications such as Rom Toolbox or Titanium Backup which are among the
most popular root applications.
Processes can be automated on the device through the use of
applications such as Tasker. Tasker allows the user to set triggers based on
time, date, manual switches like widgets or buttons, GPS coordinates, voice
commands, cell tower connectivity, plugins, applications, and many more. These
triggers can be used to automate everything from volume and connectivity, to
power settings on a device and can even be used to automatically interact with
other smart devices, including a TV set, console, or smart home lighting.
Custom versions of Android, known as custom ROMs, allow
additional levels of control on a rooted device. As Android is open source,
anyone with the proper skills can create their own customized version. These
versions are often more feature-rich, more efficient, and better looking that
standard OEM versions, which can be restrictive.
Rooting varieties
The process of rooting varies widely by device, but usually
includes exploiting one or more security bugs in the firmware of
(i.e., in the version of the Android OS installed on) the device. Once an
exploit is discovered, a custom recovery image can be flashed which will skip
the digital signature check of firmware updates. Then a modified
firmware update can be installed which typically includes the utilities needed
to run apps as root. For example, the su binary can be copied to
a location in the current process' PATH (e.g.,/system/xbin/) and
granted executable permissions with the chmod command. A supervisor
application, like SuperUser or SuperSU, can then regulate and log elevated
permission requests from other applications. Many guides, tutorials, and
automatic processes exist for popular Android devices facilitating a fast and
easy rooting process.
The process of rooting a device may be simple or complex,
and it even may depend upon serendipity. For example, shortly after the release
of the HTC Dream (HTC G1), it was discovered that anything typed
using the keyboard was being interpreted as a command in a privileged (root)
shell. Although Google quickly released a patch to fix this, a signed image of
the old firmware leaked, which gave users the ability to downgrade and use the
original exploit to gain root access. By contrast, the Google-branded Android
phones, the Nexus One, Nexus S, Galaxy Nexus, Nexus 4 and Nexus
5, as well as their tablet counterparts, the Nexus 7 and Nexus
10, can be boot-loader unlocked by simply connecting the device to a computer
while in boot-loader mode and running the Fastboot program with the
command fastboot oem unlock. After accepting a warning, the
boot-loader is unlocked, so a new system image can be written directly to flash
without the need for an exploit.
Difficulties
In the past, many manufacturers have tried to make
"unrootable" phones with harsher protections (like the Droid X),
but they are usually still rootable in some way. There may be no root exploit
available for new or recently updated phones, but one is usually available
within a few months.
Some root methods involve using a command prompt and an
interface called Android Debug Bridge (ADB) while other methods can
be as simple as clicking one button. Devices, or sometimes even different
variants of the same device, can have different hardware configurations. Thus,
if the guide, ROM, or root method used is for a device variant with a different
hardware setup, there is a risk of bricking the device.
Comments
Post a Comment