我在笔记本电脑上使用运行内核 5.4.12 和 systemd 234 的 Linux 系统,该笔记本电脑通过 Thunderbolt 3 连接到提供外部键盘、鼠标和显示器的扩展坞。根分区未加密,但交换分区和主分区通过 LUKS 加密。交换分区也被指定为resume
内核参数。
我目前正在使用以下 udev 规则来调用一个脚本,该脚本在内核发现对接站时对其进行授权:
SUBSYSTEM=="thunderbolt" ENV{DEVTYPE}=="thunderbolt_device" ACTION=="add" ATTR{authorized}=="0" RUN+="/sbin/authorize-dock.sh"
这很有效,但显然规则仅在启动的后期才会被调用(因此设备也仅在启动后才会被发现),即在提供解密交换分区和主分区所需的密码之后。这意味着我需要先直接使用笔记本电脑,然后才能在启动期间使用外部外围设备。
有什么方法可以确保在启动期间 cryptsetup 运行之前至少进行一次 Thunderbolt 设备发现?