busybox中有reboot和poweroff命令,但是输入后并不和pc机一样,会重启和关机,为什么会这样,可以在网上查询到原因,总结如下 inux Kernel 的 reboot / poweroff 基本原理: reboot 和 poweroff 命令是在init.c中实现的,执行时,busybox 就向 init 发了一个 signal。reboot 命令对应的信号是SIGTERM,poweroff 对应的信号是SIGUSR2。在init.c里会关闭网络连接,之后会发送SIGTERM和SIGKILL信号给所有进程,然后执行reboot系统调用,reboot()系统调用到达 kernel 之后,kernel 首先判断这是一个什么指令,然后执行相应的回调函数。reboot / poweroff 回调函数是 kernel 启动后,芯片初始化代码中分配的。 如果需要定制reboot和poweroff,需要您查询cpu手册,是否有相关寄存器配置,然后在内核源码里找到相关宏,进行修改 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-12-22 23:40
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.