Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
系统重启过程可参考 [RK3399][Android6.0] 系统重启调用过程小结
而重启时android系统是支持带参数重启的.
rk平台上定义的boot mode如下:
enum {
BOOT_NORMAL = 0, /* normal boot */
BOOT_LOADER, /* enter loader rockusb mode */
BOOT_MASKROM, /* enter maskrom rockusb mode (not support now) */
BOOT_RECOVER, /* enter recover */
BOOT_NORECOVER, /* do not enter recover */
BOOT_SECONDOS, /* boot second OS (not support now)*/
BOOT_WIPEDATA, /* enter recover and wipe data. */
BOOT_WIPEALL, /* enter recover and wipe all data. */
BOOT_CHECKIMG, /* check firmware img with backup part(in loader mode)*/
BOOT_FASTBOOT, /* enter fast boot mode */
BOOT_SECUREBOOT_DISABLE,
BOOT_CHARGING, /* enter charge mode */
BOOT_MAX /* MAX VALID BOOT TYPE.*/
};
而真正实现的只有几个常用的功能,通过rockchip_restart_get_boot_mode()来判断是否支持.
void rockchip_restart_get_boot_mode(const char *cmd, u32