我在 raspberry pi 4 上使用 kali linux,在 argon 上使用
我使用以下命令安装了 argon one 风扇和电源按钮脚本:
sudo curl https://raw.githubusercontent.com/meuter/argon-one-case-ubuntu-20.04/master/argon1.sh |bash
启用模块后,风扇工作正常,但当我尝试使用按钮时,下次启动系统将在每次启动时扫描磁盘 1,我尝试删除脏位,但没有任何反应。
我重新安装了 kali linux,并尝试将关机脚本从 python 修改为
#!/bin/bash
wall test
重新启动守护进程并按下按钮后,它并没有关闭,并在终端中进行测试,但重启后发生了同样的事情
答案1
通过 Argon 安装程序的代码,你可以看到它将其代码放在“关机事件”(/lib/systemd/system-shutdown/)中,根据 systemd文档将要
关机前...卸载所有剩余的文件系统...分离所有剩余的存储
然后
在执行实际系统 halt/poweroff/reboot/kexec 之前,systemd-shutdown 将运行 /usr/lib/systemd/system-shutdown/ 中的所有可执行文件
(通过从以只读形式重新连接的文件系统读取它们)
但是,在您的情况下,当电源关闭时(使用bus.write_byte(0x1a,0xFF)
),文件系统似乎仍然是可读写的,而不是只读的。我猜想这是由 Linux 发行版/配置之间的差异引起的。
您应该能够通过在 Raspberian 上测试来确认您的 Argon 设备及其脚本是否正常工作(它似乎已在其上进行测试)。或者您可以尝试修改 poweroff 脚本来检查文件系统是否真的是只读的。但是,仔细检查您的 SD 卡是否真的处于工作状态也是明智的,因为这些设备本身就有一系列潜在问题。