安卓Linux内核关机序列
我正在使用Android的Linux内核,我遇到了一个问题。我正在尝试制作一个Android手机内核断电代码序列的流程图 如果我按下手机上的电源按钮并选择“关机”关闭设备。我想知道系统内部发生了什么。哪个内核模块将是断电序列的初始模块?在整个断电过程中,哪些内核模块调用哪些系统调用 我得到了我的设备的日志文件,如下所示安卓Linux内核关机序列,linux,sequence,power-off,Linux,Sequence,Power Off,我正在使用Android的Linux内核,我遇到了一个问题。我正在尝试制作一个Android手机内核断电代码序列的流程图 如果我按下手机上的电源按钮并选择“关机”关闭设备。我想知道系统内部发生了什么。哪个内核模块将是断电序列的初始模块?在整个断电过程中,哪些内核模块调用哪些系统调用 我得到了我的设备的日志文件,如下所示 ... ghost[362]: [Ghost] Now, 50th boot. [ 119.307156] msm_hsl_power: Unknown PM state 1
...
ghost[362]: [Ghost] Now, 50th boot.
[ 119.307156] msm_hsl_power: Unknown PM state 1
[ 129.966017] pil-q6v5-mss fc880000.qcom,mss: PBL returned unexpected status -284491765
[ 129.972866] pil-q6v5-mss fc880000.qcom,mss: mba: Failed to bring out of reset
[ 129.992102] modem_notifier_cb: sysmon_send_event error -19
[ 129.996628] M-Notify: General: 5
[ 129.999825] msm_ipc_load_default_node: Failed to load modem
[ 131.336799] pil-q6v5-mss fc880000.qcom,mss: PBL returned unexpected status -284491765
[ 131.343844] pil-q6v5-mss fc880000.qcom,mss: mba: Failed to bring out of reset
[ 131.351708] modem_notifier_cb: sysmon_send_event error -19
[ 131.356216] M-Notify: General: 5
[ 131.359430] smd_pkt_open failed on smd_pkt_dev id:0 - subsystem_get failed for modem
[ 132.385289] param_sec_operation FAIL LLSEEK
[ 132.388448] sec_open_param PARAM OPEN FAIL
[ 132.392715] set_dload_mode <0> ( c01882a0 )
[ 132.397069] (sec_debug_set_upload_magic) 0
[ 132.496318] Power down.
[ 132.497733] Powering off the SoC
[ 132.500972] set_dload_mode <0> ( c0188348 )
[ 132.505717] Calling SCM to disable SPMI PMIC
。。。
鬼[362]:[鬼]现在,第50次开机。
[119.307156]msm\U hsl\U电源:未知PM状态1
[129.966017]pil-q6v5-mss fc880000.qcom,mss:PBL返回意外状态-284491765
[129.972866]pil-q6v5-mss fc880000.qcom,mss:mba:未能带出重置
[129.992102]调制解调器通知程序\u cb:sysmon\u发送\u事件错误-19
[129.996628]M-通知:一般:5
[129.999825]msm_ipc_加载_默认_节点:加载调制解调器失败
[131.336799]pil-q6v5-mss fc880000.qcom,mss:PBL返回意外状态-284491765
[131.343844]pil-q6v5-mss fc880000.qcom,mss:mba:未能带出重置
[131.351708]调制解调器通知程序\u cb:sysmon\u发送\u事件错误-19
[131.356216]M-通知:一般:5
[131.359430]smd_pkt_在smd_pkt_开发id:0上打开失败-调制解调器的子系统_获取失败
[132.385289]参数安全操作失败
[132.388448]安全打开参数打开失败
[132.392715]设置加载模式(c01882a0)
[132.397069](第二节调试设置上传魔法)0
[132.496318]关闭电源。
[132.497733]关闭SoC电源
[132.500972]设置加载模式(c0188348)
[132.505717]调用SCM以禁用SPMI PMIC
我想知道“arch\arm\mach msm”中的restart.c是否是我按下“power off”软按钮后启动断电序列的第一个模块
我是Linux的新手。我将非常感谢你的帮助 我假设这是安卓手机 Linux和Android的关机顺序是不同的,尽管Android是基于Linux内核的。Linux关闭序列所做的是通过将运行级别设置为0来启动;这将导致任何服务在完全停止和断电之前关闭 但是Android没有运行级别,因为它们不是Linux内核的特性,而是initd的特性 希望这将为您提供一些Linux关机序列的开始。您应该从学习运行级别开始
内核关闭序列的详细信息如下。我假设这是一部Android手机 Linux和Android的关机顺序是不同的,尽管Android是基于Linux内核的。Linux关闭序列所做的是通过将运行级别设置为0来启动;这将导致任何服务在完全停止和断电之前关闭 但是Android没有运行级别,因为它们不是Linux内核的特性,而是initd的特性 希望这将为您提供一些Linux关机序列的开始。您应该从学习运行级别开始
内核关闭序列的详细信息如下。我假设这是一部Android手机 Linux和Android的关机顺序是不同的,尽管Android是基于Linux内核的。Linux关闭序列所做的是通过将运行级别设置为0来启动;这将导致任何服务在完全停止和断电之前关闭 但是Android没有运行级别,因为它们不是Linux内核的特性,而是initd的特性 希望这将为您提供一些Linux关机序列的开始。您应该从学习运行级别开始
内核关闭序列的详细信息如下。我假设这是一部Android手机 Linux和Android的关机顺序是不同的,尽管Android是基于Linux内核的。Linux关闭序列所做的是通过将运行级别设置为0来启动;这将导致任何服务在完全停止和断电之前关闭 但是Android没有运行级别,因为它们不是Linux内核的特性,而是initd的特性 希望这将为您提供一些Linux关机序列的开始。您应该从学习运行级别开始
内核关闭序列的详细信息如下。当您在linux系统上按下电源按钮时,将调用一个shell脚本,该脚本通常位于
/etc/acpi/actions/power.sh
。此脚本在内部查找第一个活动X11会话的ID。然后检查是否有电源管理器,否则调用shutdown命令。我建议您查看该命令的源代码,并亲自查看它在内部调用的所有函数/系统调用。希望有帮助。在linux系统上按电源按钮时,会调用一个shell脚本,该脚本通常位于/etc/acpi/actions/power.sh
。此脚本在内部查找第一个活动X11会话的ID。然后检查是否有电源管理器,否则调用shutdown命令。我建议您查看该命令的源代码,并亲自查看它在内部调用的所有函数/系统调用。希望有帮助。在linux系统上按电源按钮时,会调用一个shell脚本,该脚本通常位于/etc/acpi/actions/power.sh
。此脚本在内部查找第一个活动X11会话的ID。然后检查是否有电源管理器,否则调用shutdown命令。我建议您查看该命令的源代码,并亲自查看它在内部调用的所有函数/系统调用。希望有帮助。在linux系统上按电源按钮时,会调用一个shell脚本,该脚本通常位于/etc/acpi/actions/power.sh
。此脚本在内部查找ID