]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(base): do not change the provided UUID
authorjoshuacov1 <joshuacov@gmail.com>
Fri, 26 Nov 2021 10:40:51 +0000 (05:40 -0500)
committerJóhann B. Guðmundsson <johannbg@gmail.com>
Sun, 9 Jan 2022 18:23:11 +0000 (18:23 +0000)
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

index 2a5b536d8b10addb3b8ee60075ed20d2f0af5db4..591b97c6dc8ddb99702fdeaa4d77045134878344 100755 (executable)
@@ -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"