Skip to content

Commit 3358796

Browse files
committed
Optimize startup time. Avoid double beep
1 parent 8506045 commit 3358796

File tree

2 files changed

+24
-13
lines changed

2 files changed

+24
-13
lines changed

files/4-rinkhals/chroot-start.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ function log() {
33
echo "`date`: ${*}" >> /rinkhals.log
44
}
55
function kill_by_name() {
6+
# ls -1 /proc | grep -E '^[0-9]+$' | grep -v $$ | sort -nr | xargs -I {} sh -c "echo {}: \`cat /proc/{}/cmdline 2> /dev/null\`" | grep moonraker.py | grep -v grep | head -n 1
7+
68
for i in `ls /proc/*/cmdline 2> /dev/null`; do
7-
PID=`echo $i | awk -F'/' '{print $3}'`
89
CMDLINE=`cat $i` 2>/dev/null
910

1011
if echo "$CMDLINE" | grep -q "${*}"; then
12+
PID=`echo $i | awk -F'/' '{print $3}'`
1113
log "Killing $PID ($CMDLINE)"
1214
kill -9 $PID
1315
fi

files/4-rinkhals/start.sh

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ function log() {
44
}
55
function kill_by_name() {
66
for i in `ls /proc/*/cmdline 2> /dev/null`; do
7-
PID=`echo $i | awk -F'/' '{print $3}'`
87
CMDLINE=`cat $i` 2>/dev/null
98

109
if echo "$CMDLINE" | grep -q "${*}"; then
10+
PID=`echo $i | awk -F'/' '{print $3}'`
1111
log "Killing $PID ($CMDLINE)"
1212
kill -9 $PID
1313
fi
@@ -34,6 +34,11 @@ function check_by_name() {
3434
done
3535

3636
log "/!\ ${*} should be running but it's not"
37+
quit
38+
}
39+
function quit() {
40+
cd /userdata/app/gk
41+
LD_LIBRARY_PATH=/userdata/app/gk:$LD_LIBRARY_PATH ./K3SysUi &
3742
exit 1
3843
}
3944

@@ -86,7 +91,10 @@ export INTERPRETER=$RINKHALS_ROOT/lib/ld-linux-armhf.so.3
8691

8792

8893
################
89-
log "> Creating .disable-rinkhals..."
94+
log "> Preparing startup..."
95+
96+
killall K3SysUi
97+
kill_by_name K3SysUi
9098

9199
touch /useremain/rinkhals/.disable-rinkhals
92100

@@ -115,11 +123,13 @@ mount --bind $RINKHALS_ROOT/usr/share/scripts /usr/libexec
115123
LD_LIBRARY_PATH=$RINKHALS_ROOT/lib:$RINKHALS_ROOT/usr/lib \
116124
$INTERPRETER ./usr/sbin/dropbear -F -E -a -p 2222 -P /tmp/dropbear_debug.pid -r ./etc/dropbear/dropbear_rsa_host_key \
117125
1>> ./dropbear_debug.log 2>> ./dropbear_debug.log &
126+
127+
DROPBEAR_DEBUG_PID=$!
118128
sleep 1
119129

120130
if [[ "$(cat /proc/net/tcp | grep 00000000:08AE)" == "" ]]; then # 2222 = x8AE
121131
log "/!\ SSH backup did not start properly"
122-
exit 1
132+
quit
123133
fi
124134

125135
if [[ "$(cat /proc/net/tcp | grep 00000000:0016)" != "" ]]; then # 22 = x16
@@ -132,7 +142,7 @@ else
132142
sleep 1
133143
if [[ "$(cat /proc/net/tcp | grep 00000000:0016)" == "" ]]; then # 22 = x16
134144
log "/!\ SSH did not start properly"
135-
exit 1
145+
quit
136146
fi
137147
fi
138148

@@ -148,18 +158,17 @@ else
148158

149159
if [[ "$(cat /proc/net/tcp | grep 00000000:08AE)" == "" ]]; then # 5555 = x15B3
150160
log "/!\ ADB did not start properly"
151-
exit 1
161+
quit
152162
fi
153163
fi
154164

155165

156166
################
157167
log "> Stopping Klipper..."
158168

159-
kill_by_name K3SysUi
160-
kill_by_name gkcam
161-
kill_by_name gkapi
162-
kill_by_name gklib
169+
killall gkcam
170+
killall gkapi
171+
killall gklib
163172

164173

165174
################
@@ -210,7 +219,7 @@ LD_LIBRARY_PATH=/userdata/app/gk:$LD_LIBRARY_PATH \
210219
/userdata/app/gk/gklib -a /tmp/unix_uds1 /userdata/app/gk/printer_data/config/printer.cfg \
211220
&> $RINKHALS_ROOT/gklib.log &
212221

213-
sleep 4
222+
sleep 2
214223

215224
LD_LIBRARY_PATH=/userdata/app/gk:$LD_LIBRARY_PATH \
216225
/userdata/app/gk/gkapi \
@@ -222,7 +231,7 @@ LD_LIBRARY_PATH=/userdata/app/gk:$LD_LIBRARY_PATH \
222231

223232
cd $RINKHALS_ROOT
224233

225-
sleep 2
234+
sleep 1
226235

227236
check_by_name gklib
228237
check_by_name gkapi
@@ -232,7 +241,7 @@ check_by_name gkapi
232241
log "> Cleaning up..."
233242

234243
rm /useremain/rinkhals/.disable-rinkhals
235-
kill_by_port 2222
244+
kill -9 $DROPBEAR_DEBUG_PID
236245

237246
echo
238247
log "Rinkhals started"

0 commit comments

Comments
 (0)