]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IMG/cpio/ventoy/ventoy_chain.sh
Support Lenovo EasyStartup
[Ventoy.git] / IMG / cpio / ventoy / ventoy_chain.sh
index 2c52e60e4626a93f82e74dec80049a94b3070319..3b12922b33d71b2d9f8eb2ad4dc69ce484226dcd 100644 (file)
@@ -37,7 +37,6 @@ for i in $vtcmdline; do
     fi
 done
 
-
 ####################################################################
 #                                                                  #
 # Step 2 : Do OS specific hook                                     #
@@ -47,12 +46,24 @@ ventoy_get_os_type() {
     echo "kernel version" >> $VTLOG
     $CAT /proc/version >> $VTLOG
 
+    if [ -d /twres ]; then
+        if $GREP -q 'Phoenix' /init; then
+            echo 'phoenixos'; return
+        fi
+    fi
+
     # rhel5/CentOS5 and all other distributions based on them
     if $GREP -q 'el5' /proc/version; then
         echo 'rhel5'; return
 
     # rhel6/CentOS6 and all other distributions based on them
     elif $GREP -q 'el6' /proc/version; then
+        if [ -f /sbin/detectcd ]; then
+            if $GREP -q -i 'LENOVO-EasyStartup' /sbin/detectcd; then
+                echo 'easystartup'; return
+            fi
+        fi
+
         echo 'rhel6'; return
 
     # rhel7/CentOS7/rhel8/CentOS8 and all other distributions based on them
@@ -93,6 +104,10 @@ ventoy_get_os_type() {
     
     # gentoo
     elif $EGREP -q '[Gg]entoo' /proc/version; then
+        if $GREP -q 'daphile' /proc/version; then
+            echo 'daphile'; return
+        fi
+    
         echo 'gentoo'; return
         
     # TinyCore
@@ -119,10 +134,14 @@ ventoy_get_os_type() {
     elif $GREP -q 'Alpine' /proc/version; then
         echo 'alpine'; return
 
+    elif $GREP -i -q 'PhoenixOS' /proc/version; then
+        echo 'phoenixos'; return
+    
     # NixOS
     elif $GREP -i -q 'NixOS' /proc/version; then
         echo 'nixos'; return
     
+    
     fi
 
     if [ -e /lib/debian-installer ]; then
@@ -138,6 +157,10 @@ ventoy_get_os_type() {
             echo 'debian'; return
         elif $GREP -q 'Solus' /etc/os-release; then
             echo 'rhel7'; return
+        elif $GREP -q 'openEuler' /etc/os-release; then
+            echo 'openEuler'; return
+        elif $GREP -q 'fuyu' /etc/os-release; then
+            echo 'openEuler'; return   
         fi
     fi
     
@@ -227,6 +250,90 @@ ventoy_get_os_type() {
         echo 'vine'; return
     fi
     
+    if $GREP -q 'hyperbola' /proc/cmdline; then
+        echo 'hyperbola'; return
+    fi
+    
+    if $GREP -q 'CRUX' /proc/version; then
+        echo 'crux'; return
+    fi
+    
+    if [ -f /init ]; then
+        if $GREP -q 'AryaLinux' /init; then
+            echo 'aryalinux'; return
+        elif $GREP -q 'Dragora' /init; then
+            echo 'dragora'; return
+            
+        fi
+    fi
+    
+    if $GREP -q 'slackware' /proc/version; then
+        echo 'slackware'; return
+    fi
+    
+    if $BUSYBOX_PATH/hostname | $GREP -q 'smoothwall'; then
+        echo 'smoothwall'; return
+    fi 
+    
+    if $GREP -q 'photon' /proc/version; then
+        echo 'photon'; return
+    fi
+    
+    if $GREP -q 'ploplinux' /proc/version; then
+        echo 'ploplinux'; return
+    fi
+    
+    if $GREP -q 'lunar' /proc/version; then
+        echo 'lunar'; return
+    fi
+    
+    if $GREP -q 'SMGL-' /proc/version; then
+        echo 'smgl'; return
+    fi
+    
+    if $GREP -q 'rancher' /proc/version; then
+        echo 'rancher'; return
+    fi
+    
+    
+    if [ -e /init ]; then
+        if $GREP -q -m1 'T2 SDE' /init; then
+            echo 't2'; return
+        fi
+    fi
+    
+    if $GREP -q 'wifislax' /proc/version; then
+        echo 'wifislax'; return
+    fi
+    
+    if $GREP -q 'pisilinux' /proc/version; then
+        echo 'pisilinux'; return
+    fi
+    
+    if $GREP -q 'blackPanther' /proc/version; then
+        echo 'blackPanther'; return
+    fi
+    
+    if $GREP -q 'primeos' /proc/version; then
+        echo 'primeos'; return
+    fi
+    
+    if $GREP -q 'austrumi' /proc/version; then
+        echo 'austrumi'; return
+    fi
+    
+    if [ -f /DISTRO_SPECS ]; then
+        if $GREP -q '[Pp]uppy' /DISTRO_SPECS; then
+            echo 'debian'; return
+        elif $GREP -q 'veket' /DISTRO_SPECS; then
+            echo 'debian'; return
+        fi
+    fi
+    
+    if [ -f /etc/openEuler-release ]; then
+        echo "openEuler"; return
+    fi
+    
     echo "default"
 }
 
@@ -271,7 +378,7 @@ fi
 
 cd /
 
-unset VTLOG FIND GREP EGREP CAT AWK SED SLEEP HEAD
+unset VTLOG FIND GREP EGREP CAT AWK SED SLEEP HEAD vtcmdline
 
 for vtinit in $user_rdinit /init /sbin/init /linuxrc; do
     if [ -d /ventoy_rdroot ]; then