]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
Update ventoy_lib.sh
authorlongpanda <59477474+ventoy@users.noreply.github.com>
Sun, 24 May 2020 12:25:47 +0000 (20:25 +0800)
committerGitHub <noreply@github.com>
Sun, 24 May 2020 12:25:47 +0000 (20:25 +0800)
INSTALL/tool/ventoy_lib.sh

index 7ae8fe3afe84c339e1d56285f64c72491dd426ba..69d3e1eea373576231b68a2f671774f104b48043 100644 (file)
@@ -22,40 +22,17 @@ ventoy_is_linux64() {
     ventoy_false
 }
 
-ventoy_is_dash() {
-    if [ -L /bin/sh ]; then
-        vtdst=$(readlink /bin/sh)
-        if [ "$vtdst" = "dash" ]; then
-            ventoy_true
-            return
-        fi
-    fi 
-    ventoy_false
-}
-
 vtinfo() {
-    if ventoy_is_dash; then
-        echo "\033[32m$*\033[0m"
-    else
-        echo -e "\033[32m$*\033[0m"
-    fi
+    echo -e "\033[32m$*\033[0m"
 }
 
 vtwarn() {
-    if ventoy_is_dash; then
-        echo "\033[33m$*\033[0m"
-    else
-        echo -e "\033[33m$*\033[0m"
-    fi
+    echo -e "\033[33m$*\033[0m"
 }
 
 
 vterr() {
-    if ventoy_is_dash; then
-        echo "\033[31m$*\033[0m"
-    else
-        echo -e "\033[31m$*\033[0m"
-    fi
+    echo -e "\033[31m$*\033[0m"
 }
 
 vtdebug() {
@@ -207,7 +184,6 @@ get_disk_ventoy_version() {
     ventoy_false
 }
 
-
 format_ventoy_disk() {
     DISK=$1
     PART1=$(get_disk_part_name $DISK 1)
@@ -220,15 +196,30 @@ format_ventoy_disk() {
     export part2_start_sector=$(expr $part1_end_sector + 1)
     part2_end_sector=$(expr $sector_num - 1)
 
+    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 $PART2 ]; then
         echo "delete $PART2"
         rm -f $PART2
     fi
 
     echo ""
-    echo "Create partitions on $DISK ..."
+    echo "Create partitions on $DISK by $2 ..."
+    
+    if [ "$2" = "parted" ]; then
+        vtdebug "format disk by parted ..."
+        parted -a none --script $DISK \
+            mklabel msdos \
+            unit s \
+            mkpart primary ntfs $part1_start_sector $part1_end_sector \
+            mkpart primary fat16 $part2_start_sector $part2_end_sector \
+            set 2 boot on \
+            quit
+    else
+    vtdebug "format disk by fdisk ..."
     
-fdisk $DISK >/dev/null 2>&1 <<EOF
+fdisk $DISK >>./log.txt 2>&1 <<EOF
 o
 n
 p
@@ -250,7 +241,8 @@ a
 2
 w
 EOF
-    
+    fi
+   
     echo "Done"
     udevadm trigger >/dev/null 2>&1
     partprobe >/dev/null 2>&1
@@ -265,7 +257,11 @@ EOF
             sleep 1
         fi
     done
-    
+
+    if [ "$2" = "parted" ]; then
+        echo -en '\xEF' | dd of=$DISK conv=fsync bs=1 count=1 seek=466
+    fi
+
     if ! [ -b $PART2 ]; then
         MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART2#/dev/}/dev)        
         echo "mknod -m 0660 $PART2 b $MajorMinor ..."