"megatron/inference/text_generation/generation.py" did not exist on "ee53612329e1fa7e0f55110735a6af24a9beb61a"
init 6.2 KB
Newer Older
longpanda's avatar
update  
longpanda committed
1
#!/ventoy/busybox/ash
longpanda's avatar
longpanda committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#************************************************************************************
# 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/>.
# 
#************************************************************************************

####################################################################
#                                                                  #
longpanda's avatar
longpanda committed
22
# Step 1 : extract busybox & set busybox environment               #
longpanda's avatar
longpanda committed
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#                                                                  #
####################################################################

export VTOY_ORG_PATH=$PATH
export VTOY_PATH=/ventoy
export BUSYBOX_PATH=$VTOY_PATH/busybox
export VTLOG=$VTOY_PATH/log
export FIND=$BUSYBOX_PATH/find
export GREP=$BUSYBOX_PATH/grep
export EGREP=$BUSYBOX_PATH/egrep
export CAT=$BUSYBOX_PATH/cat
export AWK=$BUSYBOX_PATH/awk
export SED=$BUSYBOX_PATH/sed
export SLEEP=$BUSYBOX_PATH/sleep
export HEAD=$BUSYBOX_PATH/head

39
40
41
42
43
44
45
46
47
48
49
50
if [ -e $BUSYBOX_PATH/busyboxaa64.xz ]; then
    export VTOY_ARCH=aarch64
elif [ -e $BUSYBOX_PATH/busyboxm64e.xz ]; then
    export VTOY_ARCH=mips64el
else
    if [ -e $BUSYBOX_PATH/32h ]; then
        export VTOY_ARCH=x86_64
    else
        export VTOY_ARCH=i386
    fi
fi

longpanda's avatar
longpanda committed
51
52
53
54
55
56
if [ "$VTOY_ARCH" = "i386" ]; then
    if $BUSYBOX_PATH/vtchmod32 -6; then
        export VTOY_ARCH=x86_64
    fi
fi

57
58
59
60
61
62
63
64
65
66
67
68
69
echo $VTOY_ARCH > $VTOY_PATH/ventoy_arch


if [ "$VTOY_ARCH" = "aarch64" ]; then
    $BUSYBOX_PATH/xzminidecaa64 < $BUSYBOX_PATH/busyboxaa64.xz > $BUSYBOX_PATH/busybox
    $BUSYBOX_PATH/vtchmodaa64 $BUSYBOX_PATH/busybox
elif [ "$VTOY_ARCH" = "mips64el" ]; then
    $BUSYBOX_PATH/xzminidecm64e < $BUSYBOX_PATH/busyboxm64e.xz > $BUSYBOX_PATH/busybox
    $BUSYBOX_PATH/vtchmodm64e $BUSYBOX_PATH/busybox
elif [ "$VTOY_ARCH" = "x86_64" ]; then
    $BUSYBOX_PATH/xzminidec64 < $BUSYBOX_PATH/busybox64.xz > $BUSYBOX_PATH/busybox
    if [ -s $BUSYBOX_PATH/busybox ]; then
        $BUSYBOX_PATH/vtchmod64 $BUSYBOX_PATH/busybox
longpanda's avatar
longpanda committed
70
    else
71
72
        $BUSYBOX_PATH/xzminidec64_musl < $BUSYBOX_PATH/busybox64.xz > $BUSYBOX_PATH/busybox 
        $BUSYBOX_PATH/vtchmod64_musl $BUSYBOX_PATH/busybox
longpanda's avatar
longpanda committed
73
    fi
longpanda's avatar
longpanda committed
74
75
76
else
    $BUSYBOX_PATH/xzminidec32 < $BUSYBOX_PATH/busybox32.xz > $BUSYBOX_PATH/busybox
    $BUSYBOX_PATH/vtchmod32 $BUSYBOX_PATH/busybox
longpanda's avatar
update  
longpanda committed
77
78
fi

longpanda's avatar
longpanda committed
79
80
81
82
83
84
if [ -e $BUSYBOX_PATH/busybox ]; then
    $BUSYBOX_PATH/busybox --install $BUSYBOX_PATH
else
    $BUSYBOX_PATH/tmpxz -d $BUSYBOX_PATH/busybox32.xz
    $BUSYBOX_PATH/busybox32 --install $BUSYBOX_PATH
fi
longpanda's avatar
longpanda committed
85
86
87

export PATH=$BUSYBOX_PATH/:$VTOY_PATH/tool

longpanda's avatar
bug fix  
longpanda committed
88
89
export VTOY_BREAK_LEVEL=$(hexdump -n 1 -s 449 -e '1/1 "%02x"' $VTOY_PATH/ventoy_os_param)
export VTOY_DEBUG_LEVEL=$(hexdump -n 1 -s 450 -e '1/1 "%02x"' $VTOY_PATH/ventoy_os_param)
longpanda's avatar
longpanda committed
90
export VTOY_LINUX_REMOUNT=$(hexdump -n 1 -s 454 -e '1/1 "%02x"' $VTOY_PATH/ventoy_os_param)
longpanda's avatar
longpanda committed
91
92
93
94
95
96
97
98
99
100
101

#Fixme: busybox shell output redirect seems to have some bug in rhel5
if uname -a | grep -q el5; then
    VTOY_REDT_BUG=YES
fi

if [ -z "$VTOY_REDT_BUG" ]; then
    echo "============== VENTOY =================" >>$VTLOG
fi

cd $VTOY_PATH
longpanda's avatar
longpanda committed
102
103
xz -d ventoy_chain.sh.xz
xz -d ventoy_loop.sh.xz
longpanda's avatar
longpanda committed
104
105
106
107

if [ -n "$VTOY_REDT_BUG" ]; then
    xz -d -c hook.cpio.xz | cpio -idm
    xz -d -c tool.cpio.xz | cpio -idm
longpanda's avatar
update  
longpanda committed
108
    xz -d -c loop.cpio.xz | cpio -idm
longpanda's avatar
longpanda committed
109
110
111
else
    xz -d -c hook.cpio.xz | cpio -idm 2>>$VTLOG
    xz -d -c tool.cpio.xz | cpio -idm 2>>$VTLOG
longpanda's avatar
update  
longpanda committed
112
113
114
    xz -d -c loop.cpio.xz | cpio -idm 2>>$VTLOG
fi

115
116
117
118
119
120
121
122
123
124
125

if [ "$VTOY_ARCH" = "x86_64" ]; then
    echo "Use x86_64 busybox toolkit ..." >>$VTLOG
    ln -s $BUSYBOX_PATH/xzminidec64 $BUSYBOX_PATH/xzminidec
    ln -s $VTOY_PATH/tool/dmsetup64 $VTOY_PATH/tool/dmsetup
    ln -s $VTOY_PATH/tool/lunzip64 $VTOY_PATH/tool/lunzip
    
    rm -f $VTOY_PATH/tool/lz4cat $VTOY_PATH/tool/zstdcat
    ln -s $VTOY_PATH/tool/lz4cat64 $VTOY_PATH/tool/lz4cat
    ln -s $VTOY_PATH/tool/zstdcat64 $VTOY_PATH/tool/zstdcat
elif [ "$VTOY_ARCH" = "i386" ]; then
longpanda's avatar
longpanda committed
126
    echo "Use i386 busybox toolkit ..." >>$VTLOG
longpanda's avatar
update  
longpanda committed
127
128
    ln -s $BUSYBOX_PATH/xzminidec32 $BUSYBOX_PATH/xzminidec
    ln -s $VTOY_PATH/tool/dmsetup32 $VTOY_PATH/tool/dmsetup
longpanda's avatar
longpanda committed
129
    ln -s $VTOY_PATH/tool/lunzip32 $VTOY_PATH/tool/lunzip
130

longpanda's avatar
longpanda committed
131
132
133
134
135
    if uname -a | egrep -q 'x86_64|amd64'; then
        echo "zstdcat use 64bit ..." >>$VTLOG
        rm -f $VTOY_PATH/tool/zstdcat
        ln -s $VTOY_PATH/tool/zstdcat64 $VTOY_PATH/tool/zstdcat
    fi
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
elif [ "$VTOY_ARCH" = "mips64el" ]; then
    echo "Use MIPS64 busybox toolkit ..." >>$VTLOG
    ln -s $BUSYBOX_PATH/xzminidecm64e $BUSYBOX_PATH/xzminidec
    ln -s $VTOY_PATH/tool/dmsetupm64e $VTOY_PATH/tool/dmsetup
    
    # TBD
    #ln -s $VTOY_PATH/tool/lunzipm64e $VTOY_PATH/tool/lunzip
    
    rm -f $VTOY_PATH/tool/lz4cat $VTOY_PATH/tool/zstdcat
    ln -s $VTOY_PATH/tool/lz4catm64e $VTOY_PATH/tool/lz4cat
    
    # TBD
    #ln -s $VTOY_PATH/tool/zstdcataa64 $VTOY_PATH/tool/zstdcat

elif [ "$VTOY_ARCH" = "aarch64" ]; then
    echo "Use ARM64 busybox toolkit ..." >>$VTLOG
    ln -s $BUSYBOX_PATH/xzminidecaa64 $BUSYBOX_PATH/xzminidec
    ln -s $VTOY_PATH/tool/dmsetupaa64 $VTOY_PATH/tool/dmsetup
    ln -s $VTOY_PATH/tool/lunzipaa64 $VTOY_PATH/tool/lunzip
    
    rm -f $VTOY_PATH/tool/lz4cat $VTOY_PATH/tool/zstdcat
    ln -s $VTOY_PATH/tool/lz4cataa64 $VTOY_PATH/tool/lz4cat
    ln -s $VTOY_PATH/tool/zstdcataa64 $VTOY_PATH/tool/zstdcat
else
    echo "Unknown busybox toolkit ..." >>$VTLOG
longpanda's avatar
longpanda committed
161
162
163
164
165
166
167
168
169
170
171
fi

rm -f *.xz
cd /

####################################################################
#                                                                  #
# Step 2 : Hand over to ventoy init                                #
#                                                                  #
####################################################################
exec $BUSYBOX_PATH/sh $VTOY_PATH/init