我正在编写一些软件,以关闭一些连接到控制板上的外部硬件。问题是我需要等待poweroff操作的非常结束才能发送信号(通过gpio输出)。我现在正在权衡一些选项,但是我很好奇在关机前我在哪里可以看到内核的实际作用。
我可以查看某个地方的文件吗?
答案 0 :(得分:3)
从kernel_power_off
中的函数kernel/reboot.c
开始并遵循代码。最终的关闭电源操作是特定于平台的,因此,如果您想了解最糟糕的情况,则需要确切地了解正在使用的特定于Arch的代码的哪些位。
发送信号的一种更简单的可能性是注册一个kmsg_dump
处理程序。 kernel_power_off
在调用特定于平台的关闭电源代码之前要做的最后一件事是执行kmsg_dump(KMSG_DUMP_POWEROFF);
。 (只需忽略除那个以外的任何kmsg_dump
调用。)