diff options
Diffstat (limited to 'scripts/contrib/mkefidisk.sh')
-rwxr-xr-x | scripts/contrib/mkefidisk.sh | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/scripts/contrib/mkefidisk.sh b/scripts/contrib/mkefidisk.sh index 741c3ab967..0c15104bb3 100755 --- a/scripts/contrib/mkefidisk.sh +++ b/scripts/contrib/mkefidisk.sh | |||
@@ -71,6 +71,20 @@ function device_details() { | |||
71 | echo "" | 71 | echo "" |
72 | } | 72 | } |
73 | 73 | ||
74 | function unmount_device() { | ||
75 | grep -q $DEVICE /proc/mounts | ||
76 | if [ $? -eq 0 ]; then | ||
77 | echo -n "$DEVICE listed in /proc/mounts, attempting to unmount..." | ||
78 | umount $DEVICE* 2>/dev/null | ||
79 | grep -q $DEVICE /proc/mounts | ||
80 | if [ $? -eq 0 ]; then | ||
81 | echo "FAILED" | ||
82 | exit 1 | ||
83 | fi | ||
84 | echo "OK" | ||
85 | fi | ||
86 | } | ||
87 | |||
74 | 88 | ||
75 | # | 89 | # |
76 | # Parse and validate arguments | 90 | # Parse and validate arguments |
@@ -100,17 +114,7 @@ fi | |||
100 | # | 114 | # |
101 | # Check if any $DEVICE partitions are mounted | 115 | # Check if any $DEVICE partitions are mounted |
102 | # | 116 | # |
103 | grep -q $DEVICE /proc/mounts | 117 | unmount_device |
104 | if [ $? -eq 0 ]; then | ||
105 | echo -n "$DEVICE listed in /proc/mounts, attempting to unmount..." | ||
106 | umount $DEVICE* 2>/dev/null | ||
107 | grep -q $DEVICE /proc/mounts | ||
108 | if [ $? -eq 0 ]; then | ||
109 | echo "FAILED" | ||
110 | exit 1 | ||
111 | fi | ||
112 | echo "OK" | ||
113 | fi | ||
114 | 118 | ||
115 | 119 | ||
116 | # | 120 | # |
@@ -183,6 +187,12 @@ parted $DEVICE print | |||
183 | 187 | ||
184 | 188 | ||
185 | # | 189 | # |
190 | # Check if any $DEVICE partitions are mounted after partitioning | ||
191 | # | ||
192 | unmount_device | ||
193 | |||
194 | |||
195 | # | ||
186 | # Format $DEVICE partitions | 196 | # Format $DEVICE partitions |
187 | # | 197 | # |
188 | echo "" | 198 | echo "" |