ventoy-hook.sh 3.63 KB
Newer Older
longpanda's avatar
longpanda committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/ventoy/busybox/sh
#************************************************************************************
# Copyright (c) 2020, longpanda <admin@ventoy.net>
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of the
# License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
# 
#************************************************************************************

. $VTOY_PATH/hook/ventoy-os-lib.sh

longpanda's avatar
longpanda committed
22
23
24
25
26
27
28
ventoy_get_debian_distro() {
    if [ -d /KNOPPIX ]; then
        echo 'knoppix'; return
    elif [ -e /etc/initrd-release ]; then
        if $EGREP -q "ID=.*antix|ID=.*mx" /etc/initrd-release; then
            echo 'antix'; return
        fi
29
30
31
32
    elif [ -e /etc/initrd_release ]; then
        if $EGREP -q "ID=.*antix|ID=.*mx" /etc/initrd_release; then
            echo 'antix'; return
        fi
longpanda's avatar
longpanda committed
33
34
    fi
    
longpanda's avatar
longpanda committed
35
36
37
38
39
40
    if [ -e /DISTRO_SPECS ]; then
        if $GREP -q veket /DISTRO_SPECS; then
            echo 'veket'; return
        fi
    fi
    
longpanda's avatar
longpanda committed
41
    if [ -e /init ]; then
longpanda's avatar
longpanda committed
42
        if $EGREP -q 'PUPPYSFS|PUPPYFILE' /init; then
longpanda's avatar
longpanda committed
43
44
45
46
47
            if $GREP -q VEKETSFS /init; then
                echo 'veket'; return
            else
                echo 'puppy'; return
            fi
longpanda's avatar
longpanda committed
48
49
        elif $GREP -m1 -q 'Minimal.*Linux.*Live' /init; then
            echo 'mll'; return
50
51
        elif $GREP -m1 -q 'stratodesk.com' /init; then
            echo 'stratodesk'; return
52
53
        elif $GREP -q "\bPVE\b" /init; then
            echo 'pve'; return
longpanda's avatar
longpanda committed
54
55
56
        fi
    fi

longpanda's avatar
longpanda committed
57
58
59
60
    if [ -e /etc/os-release ]; then
        if $GREP -q 'Tails' /etc/os-release; then
            echo 'tails'; return
        fi
longpanda's avatar
longpanda committed
61
62
63
    fi

    if $GREP -q 'slax/' /proc/cmdline; then
longpanda's avatar
longpanda committed
64
65
66
        echo 'slax'; return
    fi
    
crim50n's avatar
crim50n committed
67
68
69
70
    if $GREP -q 'minios/' /proc/cmdline; then
        echo 'minios'; return
    fi
    
longpanda's avatar
longpanda committed
71
72
73
74
75
76
77
78
79
80
81
82
    if $GREP -q 'PVE ' /proc/version; then
        echo 'pve'; return
    fi
    
    if [ -d /porteus ]; then
        echo 'porteus'; return
    fi
    
    if $GREP -q 'porteus' /proc/version; then
        echo 'porteus'; return
    fi
    
longpanda's avatar
longpanda committed
83
84
85
86
    if $GREP -q 'linuxconsole' /proc/version; then
        echo 'linuxconsole'; return
    fi
    
longpanda's avatar
update  
longpanda committed
87
88
89
90
    if $GREP -q 'vyos' /proc/version; then
        echo 'vyos'; return
    fi
    
longpanda's avatar
longpanda committed
91
92
93
94
    if $GREP -q 'kylin' /proc/version; then
        echo 'kylin'; return
    fi
    
longpanda's avatar
longpanda committed
95
96
97
98
99
100
    if [ -f /scripts/00-ver ]; then
        if $GREP -q 'Bliss-OS' /scripts/00-ver; then
            echo 'bliss'; return
        fi
    fi
    
longpanda's avatar
longpanda committed
101
102
103
    if [ -e /opt/kerio ]; then
        echo 'kerio'; return
    fi
longpanda's avatar
longpanda committed
104
    
longpanda's avatar
longpanda committed
105
106
107
    if $GREP -q 'mocaccino' /proc/version; then
        echo 'mocaccino'; return
    fi
longpanda's avatar
longpanda committed
108
    
longpanda's avatar
longpanda committed
109
110
111
112
    if $GREP -q '/pyabr/' /proc/cmdline; then
        echo 'pyabr'; return
    fi
    
113
114
115
116
    if [ -e /devuan-logo.txt ]; then
        echo 'devuan'; return
    fi
    
117
118
119
120
    if $GREP -q 'truenas' /proc/version; then
        echo 'truenas'; return
    fi
    
longpanda's avatar
longpanda committed
121
122
    echo 'default'
}
longpanda's avatar
longpanda committed
123

longpanda's avatar
longpanda committed
124
DISTRO=$(ventoy_get_debian_distro)
longpanda's avatar
longpanda committed
125

longpanda's avatar
longpanda committed
126
127
echo "##### distribution = $DISTRO ######" >> $VTLOG
. $VTOY_PATH/hook/debian/${DISTRO}-hook.sh
longpanda's avatar
longpanda committed
128

longpanda's avatar
longpanda committed
129
130
131
132
if [ -f /bin/env2debconf ]; then
    $SED "1a /bin/sh $VTOY_PATH/hook/debian/ventoy_env2debconf.sh" -i /bin/env2debconf
    $SED "s#in *\$(set)#in \$(cat /ventoy/envset)#" -i /bin/env2debconf
fi
longpanda's avatar
longpanda committed
133
134
135
136
137