From 4e858741087a5cfea891bd2c1fd51ea9b830aeaf Mon Sep 17 00:00:00 2001 From: joshuacov1 Date: Fri, 26 Nov 2021 05:40:51 -0500 Subject: [PATCH] fix(base): do not change the provided UUID During boot dracut parses the provided UUID to lower case and thus starts an endless loop wating for the devise to appear. The device is actually mapped correctly by the kernel (which doesn't tweak the UUID) but because we are waiting for a name with lower charachters the expeted device never appers which drops us at the emergency shell leaving the system unbootable. This happens especially on nfts/fat filesystems because technically those don't have a UUID but searial numbers which are used by the linux tools as UUID. --- modules.d/99base/dracut-lib.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh index 2a5b536d8b..591b97c6dc 100755 --- a/modules.d/99base/dracut-lib.sh +++ b/modules.d/99base/dracut-lib.sh @@ -594,10 +594,10 @@ label_uuid_to_dev() { echo "/dev/disk/by-partlabel/$(echo "${_dev#PARTLABEL=}" | sed 's,/,\\x2f,g;s, ,\\x20,g')" ;; UUID=*) - echo "/dev/disk/by-uuid/$(echo "${_dev#UUID=}" | tr "[:upper:]" "[:lower:]")" + echo "/dev/disk/by-uuid/${_dev#UUID=}" ;; PARTUUID=*) - echo "/dev/disk/by-partuuid/$(echo "${_dev#PARTUUID=}" | tr "[:upper:]" "[:lower:]")" + echo "/dev/disk/by-partuuid/${_dev#PARTUUID=}" ;; *) echo "$_dev"