如何通过硬件中断启动系统关闭或断电

如何通过硬件中断启动系统关闭或断电

我有一个小型无头嵌入式 Linux 盒子(NXP i.MX6,具有基于 Debian 的用户空间,但我对更通用的解决方案感兴趣)。

它没有 HID 输入,没有桌面设备,只有一个串行控制台和一个 GPIO 中断(一个按钮),我想用它来启动断电。就像有 ACPI 按钮的机器上一样。

linux/drivers/power/reset 中所有看似有希望的东西(POWER_RESET_GPIO、POWER_RESET_IMX...)实际上没有帮助 - 所有这些都是低级驱动程序,它们执行物理关闭或重新启动。

缺少的环节是如何处理 GPIO 中断,使其导致系统关闭,类似于“poweroff”命令。

谷歌搜索,但令人惊讶的是,找不到任何准备好的东西。

假设我可以通过类似的方式将中断进入用户空间uio驱动程序并执行“断电”?这是唯一的选择吗?我认为这是一个共同的需求,应该有一个共同的解决方案?

相关内容