use blkid to resolve a tag name to a block device.

Signed-off-by: Dave Reisner <[email protected]>
---
 init_functions |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/init_functions b/init_functions
index be3599e..f9f1742 100644
--- a/init_functions
+++ b/init_functions
@@ -73,6 +73,15 @@ parse_cmdline() {
 }
 
 default_mount_handler() {
+    # resolve tag name to block device
+    if [ "${root:0:9}" = 'PARTUUID=' ] || [ "${root:0:5}" = 'UUID=' ] || [ 
"${root:0:6}" = 'LABEL=' ]; then
+        device=$(blkid -t "${root#PART}")
+        if [ -n "$device" ]; then
+            root=$device
+        fi
+        unset device
+    fi
+
     if [ ${root:0:5} != "/dev/" ] || ! poll_device "${root}" ${rootdelay}; then
         msg "Root device '${root}' doesn't exist. Attempting to create it."
         major=""
-- 
1.7.5.4

Reply via email to