如何解决udev 标记 systemd 未在启动时为计算模块 3 eMMC
已发现该问题的 systemd 版本 系统 246
使用的分布 嵌入式 linux,使用 buildroot 构建
使用的 Linux 内核版本 (uname -a
)
Linux 5.9.16-v7 #28 SMP Wed Jul 14 17:26:47 CEST 2021 armv7l GNU/Linux
CPU 架构问题出现在 树莓派计算模块3
您没有看到的预期行为 启动后通过挂载单元自动挂载计算模块3的eMMC分区。
您看到的意外行为
块设备的 systemd 标签仅在执行后设置
udevadm test -a change /devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p[1,2]
没有其他命令或 udev 规则,我们可以设置标签。
systemd-udevd.service
正在运行,但由于某种原因没有选择块设备。
目前我唯一的想法是 eMMC 存储由于某种原因在启动时没有被选为块设备,因此默认的 systemd udev 规则不适用。
/usr/lib/udev/rules.d/99-systemd.rules:
SUBSYSTEM=="block",TAG+="systemd"
执行 udevadm test -a change
前的 udevadm 信息:
P: /devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0
N: mmcblk0
L: 0
E: DEVPATH=/devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0
E: DEVNAME=/dev/mmcblk0
E: DEVTYPE=disk
E: MAJOR=179
E: MINOR=0
E: SUBSYSTEM=block
#udevadm info /dev/mmcblk0p1
P: /devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p1
N: mmcblk0p1
L: 0
E: DEVPATH=/devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p1
E: DEVNAME=/dev/mmcblk0p1
E: DEVTYPE=partition
E: PARTN=1
E: MAJOR=179
E: MINORudevadm test -a change /devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p2=1
E: SUBSYSTEM=block
#udevadm info /dev/mmcblk0p2
P: /devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p2
N: mmcblk0p2
L: 0
E: DEVPATH=/devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p2
E: DEVNAME=/dev/mmcblk0p2
E: DEVTYPE=partition
E: PARTN=2
E: MAJOR=179
E: MINOR=2
E: SUBSYSTEM=block
执行udevadm test -a change
后的udevadm信息:
P: /devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0
N: mmcblk0
L: 0
S: disk/by-path/platform-3f202000.mmc
S: disk/by-id/mmc-4FTE4R_0xbe81f48a
E: DEVPATH=/devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0
E: DEVNAME=/dev/mmcblk0
E: DEVTYPE=disk
E: MAJOR=179
E: MINOR=0
E: SUBSYSTEM=block
E: USEC_INITIALIZED=5807576958
E: ID_SERIAL=0xbe81f48a
E: ID_NAME=4FTE4R
E: ID_PATH=platform-3f202000.mmc
E: ID_PATH_TAG=platform-3f202000_mmc
E: ID_PART_TABLE_UUID=bcb63fb5
E: ID_PART_TABLE_TYPE=dos
E: DEVLINKS=/dev/disk/by-path/platform-3f202000.mmc /dev/disk/by-id/mmc-4FTE4R_0xbe81f48a
E: TAGS=:systemd:
# udevadm info /dev/mmcblk0p1
P: /devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p1
N: mmcblk0p1
L: 0
S: disk/by-partuuid/bcb63fb5-01
S: disk/by-uuid/29B5-FCDC
E: DEVPATH=/devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p1
E: DEVNAME=/dev/mmcblk0p1
E: DEVTYPE=partition
E: PARTN=1
E: MAJOR=179
E: MINOR=1
E: SUBSYSTEM=block
E: USEC_INITIALIZED=5797473791
E: ID_FS_UUID=29B5-FCDC
E: ID_FS_UUID_ENC=29B5-FCDC
E: ID_FS_VERSION=FAT16
E: ID_FS_TYPE=vfat
E: ID_FS_USAGE=filesystem
E: ID_PART_ENTRY_SCHEME=dos
E: ID_PART_ENTRY_UUID=bcb63fb5-01
E: ID_PART_ENTRY_TYPE=0xc
E: ID_PART_ENTRY_FLAGS=0x80
E: ID_PART_ENTRY_NUMBER=1
E: ID_PART_ENTRY_OFFSET=2048
E: ID_PART_ENTRY_SIZE=819200
E: ID_PART_ENTRY_DISK=179:0
E: DEVLINKS=/dev/disk/by-partuuid/bcb63fb5-01 /dev/disk/by-uuid/29B5-FCDC
E: TAGS=:systemd:
# udevadm info /dev/mmcblk0p2
P: /devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p2
N: mmcblk0p2
L: 0
S: disk/by-uuid/0c4261bf-59d5-4d14-b474-e936a0a55e59
S: disk/by-partuuid/bcb63fb5-02
E: DEVPATH=/devices/platform/soc/3f202000.mmc/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p2
E: DEVNAME=/dev/mmcblk0p2
E: DEVTYPE=partition
E: PARTN=2
E: MAJOR=179
E: MINOR=2
E: SUBSYSTEM=block
E: USEC_INITIALIZED=5799911394
E: ID_FS_UUID=0c4261bf-59d5-4d14-b474-e936a0a55e59
E: ID_FS_UUID_ENC=0c4261bf-59d5-4d14-b474-e936a0a55e59
E: ID_FS_VERSION=1.0
E: ID_FS_TYPE=ext4
E: ID_FS_USAGE=filesystem
E: ID_PART_ENTRY_SCHEME=dos
E: ID_PART_ENTRY_UUID=bcb63fb5-02
E: ID_PART_ENTRY_TYPE=0x83
E: ID_PART_ENTRY_NUMBER=2
E: ID_PART_ENTRY_OFFSET=821248
E: ID_PART_ENTRY_SIZE=6813696
E: ID_PART_ENTRY_DISK=179:0
E: DEVLINKS=/dev/disk/by-uuid/0c4261bf-59d5-4d14-b474-e936a0a55e59 /dev/disk/by-partuuid/bcb63fb5-02
E: TAGS=:systemd:
重现问题的步骤 直到现在找不到在不同系统上重现问题的方法。
显示问题的终端或日志子系统的附加程序输出
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。