我在哪里可以连接到 linux 以添加自定义软关机?
这就是问题所在。这就是我需要知道的原因:
我正在尝试使树莓派软断电。更准确地说,我希望 pi 在进入运行级别 0(又名)时关闭(电源断开sudo poweroff
)。
我知道 Pi 没有执行此操作的硬件,因此我将构建一些自定义电子设备来切换 Pi 的电源。我将使用一个 GPIO 引脚,它允许 pi 上的软件向我的电子设备发出信号并切换(关闭)并有一个按钮将其重新打开。
到目前为止,一切都很好。
我的问题是我在哪里放置代码以通过 GPIO 发送信号?
有两件事浮现在脑海:
- 也许我应该编写一个程序并将其包装在一个脚本中
/etc/init
以供systemd
使用。 - 也许我需要编写一个内核模块。但如果是这样,我在哪里/如何连接到关机序列?
我不能只是猜测。如果我弄错了,PI 会过早关闭并且无法完成关闭 linux。但是我在谷歌上花了几个小时并没有找到这方面的文档。
我知道这是可能的,因为这正是ACPI发生的事情。当 PC / 笔记本电脑关闭时,主板将向电源发出信号以切断 [大部分] 电源。操作系统(linux)中的某些东西必须触发这个。 那么 ACPI 软脱钩到 linux 上的关机序列在哪里呢?