recoverymisc分区

recoverymisc分区
keywords:init、recovery服务、bootloader、bootloader_message、BCB(bootloader control block)
2009年7月1日
0:备注
重启进⼊recovery模式⽅式 1,misc分区BCB结构 2,PMIC寄存器 3, 组合键
在init⾥⾃定义命令,然后在rc⽂件⾥使⽤。(builtins.cpp builtin_functions变量⾥⾃定义命令),属性触发⾃定义命令的执⾏。
recovery服务执⾏的命令即可以在misc分区BCB结构存储也可以存储在/cache/recovery/command⽂件,这两个地⽅对recovery服务都起作⽤。
1:misc分区BCB结构进⼊recovery模式
广西教育学院学报write_bootloader_message-->update_bootloader_message_in_struct进⼊recovery mode
2:misc分区进⼊FFBM模式
rc⽂件修改:
misc_link=$(ls -l /dev/block/bootdevice/by-name/misc)
real_path=${misc_link##*>}
setprop i.misc_dev_path $real_path
on property:vendor.sys.boot_mode=ffbm
write ${i.misc_dev_path} "ffbm-01"
楼钟3:reboot bootloader使⽤misc分区进⼊bootloader(fastboot)
sys.powerctl 属性触发 HandlePowerctlMessage
-->write_reboot_bootloader
-->write_bootloader_message
-->write_misc_partition 写BCB结构到misc分区
4:应⽤设置重启到recovery/reboot recovery/reboot edl 流程
⼊⼝都是触发sys.powerctl属性。
init模块
HandlePowerctlMessage-->晋平公浮西河
DoReboot-->
RebootSystem-->
syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_RESTART2, rebootTarget.c_str());
内核空间,系统调⽤reboot-->
kernel_restart(kernel/reboot.c)-->
machine_restart(arch/arm64/kernel/process.c)-->
arm_pm_restart函数指针指向 do_msm_restart(msm-poweroff.c)-->
do_msm_restart-->
msm_restart_prepare
从msm_restart_prepare函数代码可知:把restart_reason写⼊到PMIC的寄存器中,bootloader读⼊寄存器值就获取boot mode。
if (cmd != NULL) {
他者
if (!strncmp(cmd, "bootloader", 10)) {
qpnp_pon_set_restart_reason(
PON_RESTART_REASON_BOOTLOADER);
__raw_writel(0x77665500, restart_reason);
} else if (!strncmp(cmd, "recovery", 8)) {
qpnp_pon_set_restart_reason(
PON_RESTART_REASON_RECOVERY);
__raw_writel(0x77665502, restart_reason);
} else if (!strcmp(cmd, "rtc")) {
qpnp_pon_set_restart_reason(
PON_RESTART_REASON_RTC);
__raw_writel(0x77665503, restart_reason);
} else if (!strcmp(cmd, "dm-verity device corrupted")) {
qpnp_pon_set_restart_reason(
PON_RESTART_REASON_DMVERITY_CORRUPTED);
__raw_writel(0x77665508, restart_reason);
>pxe

本文发布于:2024-09-22 09:43:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/371114.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   结构   分区   定义   属性   触发   教育   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议