X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/44b38dce74f3b28bab2ae6d48d04aa17117e0695..b9892660b5b5467d17fe6a690b16ea1194fd9f27:/IMG/cpio/ventoy/ventoy_chain.sh diff --git a/IMG/cpio/ventoy/ventoy_chain.sh b/IMG/cpio/ventoy/ventoy_chain.sh index 409089f..d63a132 100644 --- a/IMG/cpio/ventoy/ventoy_chain.sh +++ b/IMG/cpio/ventoy/ventoy_chain.sh @@ -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" }