]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - INSTALL/tool/VentoyWorker.sh
fix integer overflow issue for i386-pc
[Ventoy.git] / INSTALL / tool / VentoyWorker.sh
index d353c45e75a63967115ce0072432cc605040d7ca..11191cbf271a797ab0d28eec09a3331fdf951698 100644 (file)
@@ -15,12 +15,12 @@ print_usage() {
     echo '   -r SIZE_MB  preserve some space at the bottom of the disk (only for install)'
     echo '   -s/-S       enable/disable secure boot support (default is disabled)'
     echo '   -g          use GPT partition style, default is MBR (only for install)'
-    echo '   -L          Label of the 1st exfat partition (default is ventoy)'
+    echo '   -L          Label of the 1st exfat partition (default is Ventoy)'
     echo ''
 }
 
 
-VTNEW_LABEL='ventoy'
+VTNEW_LABEL='Ventoy'
 RESERVE_SIZE_MB=0
 while [ -n "$1" ]; do
     if [ "$1" = "-i" ]; then
@@ -121,17 +121,11 @@ if [ "$MODE" = "list" ]; then
             echo "Disk Partition Style  : MBR"
         fi
         
-        vtPART2=$(get_disk_part_name $DISK 2)        
-        rm -rf ./tmpmntp2 && mkdir ./tmpmntp2
-        mount $vtPART2 ./tmpmntp2 > /dev/null 2>&1
-
-        if [ -e ./tmpmntp2/EFI/BOOT/MokManager.efi ]; then
+        if check_disk_secure_boot $DISK; then
             echo "Secure Boot Support   : YES"
         else
             echo "Secure Boot Support   : NO"
         fi        
-        umount ./tmpmntp2 > /dev/null 2>&1
-        rm -rf ./tmpmntp2
     else
         echo "Ventoy Version: NA"
     fi
@@ -331,8 +325,8 @@ if [ "$MODE" = "install" ]; then
         mkdir ./tmp_mnt
         
         vtdebug "mounting part2 ...."
-        for tt in 1 2 3; do
-            if mount ${PART2} ./tmp_mnt; then
+        for tt in 1 2 3 4 5; do            
+            if mount ${PART2} ./tmp_mnt > /dev/null 2>&1; then
                 vtdebug "mounting part2 success"
                 break
             fi
@@ -340,7 +334,7 @@ if [ "$MODE" = "install" ]; then
             mtpnt=$(grep "^${PART2}" /proc/mounts | awk '{print $2}')
             if [ -n "$mtpnt" ]; then
                 umount $mtpnt >/dev/null 2>&1
-            fi
+            fi    
             sleep 2
         done
         
@@ -422,7 +416,8 @@ else
     dd status=none conv=fsync if=${DISK} skip=2040 bs=512 count=8 of=./rsvdata.bin
 
     if [ "$PART1_TYPE" = "EE" ]; then
-        vtdebug "This is GPT partition style ..."        
+        vtdebug "This is GPT partition style ..."    
+        echo -en '\x22' | dd status=none of=$DISK conv=fsync bs=1 count=1 seek=92
         xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2014 seek=34
         echo -en '\x23' | dd of=$DISK conv=fsync bs=1 count=1 seek=17908 status=none
     else
@@ -450,13 +445,15 @@ else
     if [ "$SECUREBOOT" != "YES" ]; then
         mkdir ./tmp_mnt
         
-        vtdebug "mounting part2 ...."
-        for tt in 1 2 3; do
-            if mount ${PART2} ./tmp_mnt; then
+        vtdebug "mounting part2 ...."        
+        for tt in 1 2 3 4 5; do            
+            if mount ${PART2} ./tmp_mnt > /dev/null 2>&1; then
                 vtdebug "mounting part2 success"
                 break
+            else
+                vtdebug "mounting part2 failed, now wait and retry..."
             fi
-            sleep 2
+            sleep 2            
         done
         
         rm -f ./tmp_mnt/EFI/BOOT/BOOTX64.EFI
@@ -471,7 +468,7 @@ else
         
         
         for tt in 1 2 3; do
-            if umount ./tmp_mnt; then
+            if umount ./tmp_mnt > /dev/null 2>&1; then
                 vtdebug "umount part2 success"
                 rm -rf ./tmp_mnt
                 break