How Reboot Works on Android¶
Understanding how reboot works on Android involves different commands and concepts such as hot and warm reboots. This page provides an overview of the reboot process and its variations.
Reboot Commands¶
Reboot to Bootloader¶
To reboot your device into bootloader mode, use the following ADB command:
Reboot to Fastboot¶
To enter fastboot mode, the command is slightly different:
Reboot to Recovery¶
For rebooting into the recovery mode:
Reboot to System¶
And to simply reboot your device:
What is Hot and Warm Reboot?¶
The terms hot (or warm) reboot and cold (or hard) reboot have their origins in PC terminology but can also apply to Android devices, albeit with some differences.
Cold Reboot¶
A cold reboot typically involves cutting power to the CPU, RAM, and sometimes the entire motherboard. This process ensures that all components are fully reset before starting up again.
Warm Reboot¶
A warm reboot, on the other hand, only restarts the processes without cutting power to the hardware components. This method is quicker but may not resolve issues that a cold reboot would.
How Reboot Really Works on Android¶
On Android, rebooting the device initiates a sequence where the SoC firmware loads bootloaders into memory. These bootloaders then load the executable binaries and start the operating system processes. The Android OS, based on the Linux kernel, initializes the hardware and sets up a basic environment for the init
process, the first userspace process, to take over.
Civilized vs. Brutal Reboot¶
- Civilized Reboot: A more refined way to reboot or shutdown, allowing processes to terminate gracefully, saving work, and unmounting filesystems before reversing the boot process.
- Brutal Reboot: Involves a long press of the power button, cutting power to the CPUs and RAM without waiting for a graceful shutdown, potentially causing data loss.
Does Android Perform a Cold Reboot?¶
A standard reboot on Android doesn't completely cut power to all components, especially RAM, as it's used to store kernel panic logs and other critical information for troubleshooting.
How to Do a Hot Reboot¶
A hot reboot involves using the kexec
mechanism, allowing the kernel to reboot itself into a new kernel without a hardware reset. This method is theoretically possible on Android but requires device-specific modifications.
Stock Android and Soft Reboot¶
Stock Android doesn't natively support soft reboot functionality. However, some custom ROMs offer this feature by restarting key processes without rebooting the entire device.