]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - INSTALL/Ventoy2Disk.sh
1.0.37 release
[Ventoy.git] / INSTALL / Ventoy2Disk.sh
index 79473600572732ccdde9a544ee072d88751540a5..5b1d6f4cba4968bbae23538647d2bab41524c266 100644 (file)
@@ -1,24 +1,37 @@
 #!/bin/sh
 
+OLDDIR=$(pwd)
+
+if ! [ -f ./tool/ventoy_lib.sh ]; then
+    if [ -f ${0%Ventoy2Disk.sh}/tool/ventoy_lib.sh ]; then
+        cd ${0%Ventoy2Disk.sh}    
+    fi
+fi
+
 if [ -f ./ventoy/version ]; then
     curver=$(cat ./ventoy/version) 
 fi
 
+if uname -m | egrep -q 'aarch64|arm64'; then
+    export TOOLDIR=aarch64
+elif uname -m | egrep -q 'x86_64|amd64'; then
+    export TOOLDIR=x86_64
+elif uname -m | egrep -q 'mips64'; then
+    export TOOLDIR=mips64el
+else
+    export TOOLDIR=i386
+fi
+export PATH=./tool/$TOOLDIR:$PATH
+
+
 echo ''
 echo '**********************************************'
-echo "      Ventoy: $curver"
+echo "      Ventoy: $curver  $TOOLDIR"
 echo "      longpanda admin@ventoy.net"
 echo "      https://www.ventoy.net"
 echo '**********************************************'
 echo ''
 
-OLDDIR=$PWD
-
-if ! [ -f ./tool/xzcat ]; then
-    if [ -f ${0%Ventoy2Disk.sh}/tool/xzcat ]; then
-        cd ${0%Ventoy2Disk.sh}    
-    fi
-fi
 
 if ! [ -f ./boot/boot.img ]; then
     if [ -d ./grub ]; then
@@ -29,31 +42,36 @@ if ! [ -f ./boot/boot.img ]; then
     exit 1
 fi
 
-echo "############# Ventoy2Disk $* ################" >> ./log.txt
+echo "############# Ventoy2Disk $* [$TOOLDIR] ################" >> ./log.txt
+date >> ./log.txt
 
 #decompress tool
-if ! [ -f ./tool/ash ]; then
-    cd tool
-    chmod +x ./xzcat
+if [ -f ./tool/$TOOLDIR/ash ]; then
+    echo "no need to decompress tools" >> ./log.txt
+else
+    cd ./tool/$TOOLDIR
+    
+    [ -f ./xzcat ] && chmod +x ./xzcat
+    
     for file in $(ls *.xz); do
-        ./xzcat $file > ${file%.xz}
-        chmod +x ${file%.xz}
+        xzcat $file > ${file%.xz}
+        [ -f ./${file%.xz} ] && chmod +x ./${file%.xz}
+        [ -f ./$file ] && rm -f ./$file
     done
-    cd ../
-
-    if ! [ -f ./tool/ash ]; then
-        echo 'Failed to decompress tools ...'
-        if [ -n "$OLDDIR" ]; then 
-            cd $OLDDIR
-        fi
-        exit 1
-    fi
+    cd ../../
+    
+    chmod +x -R ./tool/$TOOLDIR
 fi
 
-./tool/ash ./tool/VentoyWorker.sh $*
+if [ -f /bin/bash ]; then
+    /bin/bash ./tool/VentoyWorker.sh $*
+else
+    ash ./tool/VentoyWorker.sh $*
+fi
 
 if [ -n "$OLDDIR" ]; then 
-    cd $OLDDIR
+    CURDIR=$(pwd)
+    if [ "$CURDIR" != "$OLDDIR" ]; then
+        cd "$OLDDIR"
+    fi
 fi
-
-