Skip to content

Commit 5b8f2df

Browse files
committed
kickstart: Fix partition name in clearpart
NVME and MMC have partition names that consist of more than just the partition number (/dev/nvme0n1 -> /dev/nvme0n1p1, /dev/nvme0n1p2). Signed-off-by: Alexey Gladkov <[email protected]>
1 parent ee92d7f commit 5b8f2df

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

features/kickstart/data/bin/kickstart-sh-storage

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ ignoredisk()
116116
ks_requires_clearpart=("findmnt" "wipefs" "sfdisk" "umount")
117117
clearpart()
118118
{
119-
local PROG TEMP dev skipped
119+
local PROG TEMP dev devname num skipped
120120
local all='' disks='' list='' initlabel=''
121121

122122
PROG="kickstart"
@@ -182,24 +182,27 @@ clearpart()
182182

183183
for dev in $disks; do
184184
skipped=0
185-
for num in $(sfdisk -d "/dev/$dev" | sed -n -e 's,^/dev/[^[:space:]]\+\([0-9]\+\) : .*,\1,p'); do
186-
if [ "$list" != ',,' ] && [ -n "${list##,$dev$num,}" ]; then
185+
num=0
186+
for devname in $(sfdisk -d "/dev/$dev" | sed -n -e 's,^/dev/\([^[:space:]]\+[0-9]\+\) : .*,\1,p'); do
187+
num=$(( $num + 1 ))
188+
189+
if [ "$list" != ',,' ] && [ -n "${list##*,$devname,*}" ]; then
187190
skipped=$(( $skipped + 1 ))
188191
continue
189192
fi
190193

191-
[ -b "/dev/$dev$num" ] ||
194+
[ -b "/dev/$devname" ] ||
192195
continue
193196

194-
findmnt -no TARGET "/dev/$dev$num" |
197+
findmnt -no TARGET "/dev/$devname" |
195198
while read -r mntpoint; do
196199
verbose "umounting $mntpoint"
197200
umount -fR "$mntpoint"
198201
done
199202

200-
verbose "dropping /dev/$dev$num"
203+
verbose "dropping /dev/$devname"
201204

202-
wipefs -qfa "/dev/$dev$num" ||:
205+
wipefs -qfa "/dev/$devname" ||:
203206
sfdisk -q --delete "/dev/$dev" "$num" ||
204207
return 1
205208
dropped=1

0 commit comments

Comments
 (0)