Linux:如何定义在启动时安装外部硬盘?

Linux:如何定义在启动时安装外部硬盘?

我目前正在树莓派上使用 LibreElec,并使用有源 USB 集线器将外部硬盘连接到它。

现在的情况是,只有在 LibreElec 和 Kodi 完全启动后(例如启动后 30-60 秒)才会安装外部硬盘。这会导致几个不良副作用,例如 Kodi 中缺少媒体,因为它们位于外部硬盘上并且无法找到,或者 docker 容器无法启动,因为它们依赖于存储在外部硬盘上的文件。

LibreElec 使用 udev 自动挂载外部硬盘。这是挂载规则:

# check for blockdevices, /dev/sd*, /dev/sr* and /dev/mmc*
SUBSYSTEM!="block", KERNEL!="sd*|sr*|mmc*", GOTO="exit"

# check for special partitions we dont want mount
IMPORT{builtin}="blkid"
ENV{ID_FS_LABEL}=="EFI|BOOT|Recovery|RECOVERY|SETTINGS|boot|root0|share0", GOTO="exit"

# /dev/sd* and /dev/mmc* ith partitions/disk and filesystems only and /dev/sr* disks only
KERNEL=="sd*|mmc*", ENV{DEVTYPE}=="partition|disk", ENV{ID_FS_USAGE}=="filesystem", GOTO="harddisk"
KERNEL=="sr*", ENV{DEVTYPE}=="disk", GOTO="optical"
GOTO="exit"

# mount or umount for hdds
LABEL="harddisk"
ACTION=="add", PROGRAM="/usr/bin/sh -c '/usr/bin/grep -E ^/dev/%k\  /proc/mounts || true'", RESULT=="", RUN+="/usr/bin/systemctl restart udevil-mount@/dev/%k.service"
ACTION=="remove", RUN+="/usr/bin/systemctl stop udevil-mount@/dev/%k.service"
GOTO="exit"

# mount or umount for opticals
LABEL="optical"
ACTION=="add|change", RUN+="/usr/bin/systemctl restart udevil-mount@/dev/%k.service"
GOTO="exit"

# Exit
LABEL="exit"

有没有办法让 udev 或 systemd 在启动过程中更早地挂载外部硬盘?最好是在 Kodi 启动之前。

非常感谢您的帮助。

相关内容