]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IMG/cpio/ventoy/ventoy_chain.sh
Fix the boot issue for Parted Magic (#3304)
[Ventoy.git] / IMG / cpio / ventoy / ventoy_chain.sh
index 409089fb896750efe9aa0e9b6db1859eda5b38d1..d63a132239ee76e53975d4151b264abc5f974f31 100644 (file)
@@ -52,6 +52,11 @@ ventoy_get_os_type() {
         fi
     fi
 
+    # Parted Magic
+    if [ -d /pmagic ]; then
+        echo 'pmagic'; return
+    fi
+
     # PrimeOS :
     if $GREP -q 'PrimeOS' /proc/version; then
         echo 'primeos'; return
@@ -64,9 +69,9 @@ ventoy_get_os_type() {
     elif $GREP -q '[Uu]buntu' /proc/version; then
         echo 'debian'; return
         
-    # Deepin : do the same process with debian
+    # Deepin :
     elif $GREP -q '[Dd]eepin' /proc/version; then
-        echo 'debian'; return
+        echo 'deepin'; return
 
     # rhel5/CentOS5 and all other distributions based on them
     elif $GREP -q 'el5' /proc/version; then
@@ -93,7 +98,10 @@ ventoy_get_os_type() {
     # Fedora : do the same process with rhel7
     elif $GREP -q '\.fc[0-9][0-9]\.' /proc/version; then
         echo 'rhel7'; return
-        
+
+    elif $GREP -q 'euleros' /proc/version; then
+        echo 'rhel7'; return
+
     # SUSE
     elif $GREP -q 'SUSE' /proc/version; then
         echo 'suse'; return
@@ -166,9 +174,9 @@ ventoy_get_os_type() {
         elif $GREP -q 'fuyu' /etc/os-release; then
             echo 'openEuler'; return
         elif $GREP -q 'deepin' /etc/os-release; then
-            echo 'debian'; return
+            echo 'deepin'; return
         elif $GREP -q 'chinauos' /etc/os-release; then
-            echo 'debian'; return
+            echo 'deepin'; return
         fi
     fi
     
@@ -226,12 +234,12 @@ ventoy_get_os_type() {
         echo 'android'; return
     fi 
     
-    if $GREP -q 'adelielinux' /proc/version; then
-        echo 'adelie'; return
+    if $GREP -q 'android.google' /proc/version; then
+        echo 'android'; return
     fi
     
-    if $GREP -q 'pmagic' /proc/version; then
-        echo 'pmagic'; return
+    if $GREP -q 'adelielinux' /proc/version; then
+        echo 'adelie'; return
     fi
     
     if $GREP -q 'CDlinux' /proc/cmdline; then
@@ -342,9 +350,47 @@ ventoy_get_os_type() {
         echo "openEuler"; return
     fi
     
-    if $GREP -q 'venom' /proc/version; then
-        echo "arch"; return
+    
+    #special arch based iso file check
+    if [ -f /init ]; then
+        if $GREP -q 'mount_handler' /init; then
+            if [ -d /hooks ]; then
+                if $BUSYBOX_PATH/ls -1 /hooks/ | $GREP -q '.*iso$'; then
+                    echo "arch"; return
+                fi
+            elif [ -d /hook ]; then
+                if $BUSYBOX_PATH/ls -1 /hook/ | $GREP -q '.*iso$'; then
+                    echo "arch"; return
+                fi
+            fi
+        fi
+    fi
+    
+    
+    #Kylin V10 Server
+    if [ -f /usr/sbin/dhclient ]; then
+        if $BUSYBOX_PATH/strings /usr/sbin/dhclient | $GREP -i -q -m1 openeuler; then
+            echo 'openEuler'; return
+        fi
+    fi
+    
+    if $GREP -q 'chimera' /proc/version; then
+        echo 'chimera'; return
     fi
+
+    
+    if $GREP -q '4.19.' /proc/version; then
+        if [ -d /lib/dracut/hooks ]; then
+            echo 'openEuler'; return
+        fi
+    fi
+    
+    if [ -f /etc/tinyramfs/config ]; then
+        if $GREP -q 'EWE_ISO' /etc/tinyramfs/config; then
+            echo "ewe"; return
+        fi
+    fi
+    
     
     echo "default"
 }