diff --git a/INSTALL/tool/ventoy_lib.sh b/INSTALL/tool/ventoy_lib.sh index ef047f35..04eea642 100644 --- a/INSTALL/tool/ventoy_lib.sh +++ b/INSTALL/tool/ventoy_lib.sh @@ -241,6 +241,11 @@ format_ventoy_disk_mbr() { vtdebug "part1_start_sector=$part1_start_sector part1_end_sector=$part1_end_sector" vtdebug "part2_start_sector=$part2_start_sector part2_end_sector=$part2_end_sector" + if [ -e $PART1 ]; then + echo "delete $PART1" + rm -f $PART1 + fi + if [ -e $PART2 ]; then echo "delete $PART2" rm -f $PART2 @@ -293,27 +298,34 @@ EOF sleep 3 echo "Done" - echo 'mkfs on disk partitions ...' - for i in 1 2 3 4 5 6 7; do - if [ -b $PART2 ]; then + + echo 'Wait for partitions ...' + for i in 0 1 2 3 4 5 6 7 8 9; do + if [ -b $PART1 -a -b $PART2 ]; then break else - echo "wait $PART2 ..." + echo "Wait for $PART1/$PART2 ..." sleep 1 fi done - + if ! [ -b $PART1 ]; then + MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART1#/dev/}/dev) + echo "mknod -m 0660 $PART1 b $MajorMinor ..." + mknod -m 0660 $PART1 b $MajorMinor + fi + if ! [ -b $PART2 ]; then MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART2#/dev/}/dev) echo "mknod -m 0660 $PART2 b $MajorMinor ..." - mknod -m 0660 $PART2 b $MajorMinor - - if ! [ -b $PART1 ]; then - MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART1#/dev/}/dev) - echo "mknod -m 0660 $PART1 b $MajorMinor ..." - mknod -m 0660 $PART1 b $MajorMinor - fi + mknod -m 0660 $PART2 b $MajorMinor + fi + + if [ -b $PART1 -a -b $PART2 ]; then + echo "partition exist OK" + else + echo "[FAIL] $PART1/$PART2 does not exist" + exit 1 fi echo "create efi fat fs $PART2 ..." @@ -366,6 +378,11 @@ format_ventoy_disk_gpt() { vtdebug "part1_start_sector=$part1_start_sector part1_end_sector=$part1_end_sector" vtdebug "part2_start_sector=$part2_start_sector part2_end_sector=$part2_end_sector" + if [ -e $PART1 ]; then + echo "delete $PART1" + rm -f $PART1 + fi + if [ -e $PART2 ]; then echo "delete $PART2" rm -f $PART2 @@ -399,27 +416,33 @@ format_ventoy_disk_gpt() { sleep 3 echo "Done" - echo 'mkfs on disk partitions ...' - for i in 1 2 3 4 5 6 7; do - if [ -b $PART2 ]; then + echo 'Wait for partitions ...' + for i in 0 1 2 3 4 5 6 7 8 9; do + if [ -b $PART1 -a -b $PART2 ]; then break else - echo "wait $PART2 ..." + echo "Wait for $PART1/$PART2 ..." sleep 1 fi done - + if ! [ -b $PART1 ]; then + MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART1#/dev/}/dev) + echo "mknod -m 0660 $PART1 b $MajorMinor ..." + mknod -m 0660 $PART1 b $MajorMinor + fi + if ! [ -b $PART2 ]; then MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART2#/dev/}/dev) echo "mknod -m 0660 $PART2 b $MajorMinor ..." - mknod -m 0660 $PART2 b $MajorMinor - - if ! [ -b $PART1 ]; then - MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART1#/dev/}/dev) - echo "mknod -m 0660 $PART1 b $MajorMinor ..." - mknod -m 0660 $PART1 b $MajorMinor - fi + mknod -m 0660 $PART2 b $MajorMinor + fi + + if [ -b $PART1 -a -b $PART2 ]; then + echo "partition exist OK" + else + echo "[FAIL] $PART1/$PART2 does not exist" + exit 1 fi echo "create efi fat fs $PART2 ..."