Hi Andrei, Udevd is running. The problem is that disk has no partitions before initqueue/online starts and has a full OS installed when initqueue/finished is called. The partitions in /dev are correctly created when initialized and installed by me.(systemimager) The /dev/disk/by-uuid and /dev/disk/by-path are correctly created but /dev/disk/by-label isn't. The udev rule 60-persistent-storage.rules to create this entry exists and seems correct. Blkid sees the label I tried udevadm control restart I tried systemctl daemon-reload But none did trigger the rule. It behave just like udev is not aware of the partition label. If I reboot with the same partitions, udev sees the label and the entry is correctly created. So it's a matter of informing kernel? Udev? System? That /dev/sda4 has a label. Mount LABEL=root /sysroot works fine (/dracut-state.sh is up to date and /etc/cmdline.d/root contains block:LABEL=root so getarg root= returns block:LABEL=root (and this works fine) Udev sees every partition I create as it creates the device entries, but it seems, unaware of a label set with mkfs -t xfs -L root /dev/sda4 Udevadm trigger hangs (is it normal behavior in emergency shell? Some lock?) If I mount /sysroot and if I remove the initqueue/finished script, the system loads normally (when I quit rd.break shell) and the links are created in /dev/disk. So I'm sure that a solution exists to inform udev/systemd/... that a new label is set on /dev/sda4. Olivier. Le 04/02/2019 19:02, « Andrei Borzenkov » <arvidjaar@xxxxxxxxx> a écrit : 04.02.2019 19:15, LAHAYE Olivier пишет: > Progressing in diagnostic, still need more help. > A temporary script named devexists-\x2fdev\x2fdisk\x2fby-label\x2froot.sh has been created in /lib/dracut/hook/initqueue/finished by rootfs-generator.sh. > It tests the existence of /dev/disk/by-label/root (normal behavior) > > PROBLEM: /dev/disk/by-label doesn't exists (thus the script always return 1, thus the finish hook loops forever) > > blkid lists all partitions including the LABEL=root one (after reporting an error on fd0) > /dev/sda4: LABEL="root" UUID="xydfkjhzkfghzv" TYPE="xfs" PARTLABEL="primary" PARTUUID="ssdfighuskdjfhb" > > I can mount LABEL=root /sysroot with success. > > In the dmesg I have blk_update_request: I/O error, dev fd0, sector 0 > > I tried udevadm trigger, but this didn't help. /dev/disk/by-label still missing... > Is udevd running? Do you have any other link for other devices? Do you have udev rules in initrd? > (I'm using CentOS-7, kernel 3.10.0-957.1.3.el7.x86_64) > > Am I facing a kernel bug or is there something I'm doing wrong? (I'm creating the partition table and I format them in the initqueue). Is there something I need to do to inform the kernel that it has to update /dev/disk ? >