@@ -1359,6 +1359,8 @@ mkfs() {
13591359 # will fail to detect the uuid in the chroot
13601360 if [ -n " $VIRTUAL " ] ; then
13611361 einfo " Virtual environment doesn't require blockdev --rereadpt, skipping therefore"
1362+ elif [ -n " $RPI " ] ; then
1363+ einfo " Raspberry Pi image build doesn't require blockdev --rereadpt, skipping therefore"
13621364 elif echo " $TARGET " | grep -q " /dev/md" ; then
13631365 blockdev --rereadpt " ${TARGET} "
13641366 else
@@ -1547,19 +1549,29 @@ prepare_image() {
15471549
15481550 # hopefully this always works as expected
15491551 LOOP_PART=" ${DEVINFO## add map } " # 'loop0p1 (254:5): 0 20477 linear 7:0 3'
1552+
1553+ case " ${LOOP_PART} " in
1554+ sd* |vd* |xvd* ) part_prefix=" " ;;
1555+ * ) part_prefix=" p" ;;
1556+ esac
1557+
15501558 LOOP_PART=" ${LOOP_PART// */ } " # 'loop0p1'
15511559 if [ -n " $VMEFI " ]; then
15521560 EFI_TARGET=" /dev/mapper/$LOOP_PART " # '/dev/mapper/loop0p1'
15531561 if [ " $ARCH " = ' arm64' ]; then
1554- LOOP_PART=" ${LOOP_PART% p1} p2 "
1562+ LOOP_PART=" ${LOOP_PART% ${part_prefix} 1}${part_prefix} 2 "
15551563 else
1556- LOOP_PART=" ${LOOP_PART% p1} p3 "
1564+ LOOP_PART=" ${LOOP_PART% ${part_prefix} 1}${part_prefix} 3 "
15571565 fi
15581566 elif [ -n " $RPI " ]; then
15591567 RPIFIRM_TARGET=" /dev/mapper/$LOOP_PART " # '/dev/mapper/loop0p1'
1560- LOOP_PART=" ${LOOP_PART% p1} p2"
1568+ LOOP_PART=" ${LOOP_PART% ${part_prefix} 1}${part_prefix} 2"
1569+ fi
1570+ if [ -n " ${part_prefix} " ]; then
1571+ LOOP_DISK=" ${LOOP_PART% ${part_prefix} * } " # 'loop0'
1572+ else
1573+ LOOP_DISK=" ${LOOP_PART%% [0-9]* } " # 'sda'
15611574 fi
1562- LOOP_DISK=" ${LOOP_PART% p* } " # 'loop0'
15631575 export TARGET=" /dev/mapper/$LOOP_PART " # '/dev/mapper/loop0p1'
15641576
15651577 if [ -z " $TARGET " ] ; then
@@ -1568,7 +1580,7 @@ prepare_image() {
15681580 fi
15691581
15701582 if [ -z " $GRUB " ]; then
1571- GRUB=" /dev/$LOOP_DISK " # '/dev/mapper/ loop0'
1583+ GRUB=" /dev/$LOOP_DISK " # '/dev/loop0' or '/dev/sda '
15721584 fi
15731585 if [ -z " $EFI " ] && [ " $VMEFI " = ' 1' ]; then
15741586 EFI=" ${EFI_TARGET} "
0 commit comments