添加 OTG 支持

This commit is contained in:
mofeng-git 2024-09-07 20:38:51 +08:00
parent 39f84fbb4c
commit af79834cc7
4 changed files with 35 additions and 6 deletions

View File

@ -73,18 +73,16 @@ RUN mkdir -p \
COPY testenv/fakes/vcgencmd /usr/bin/ COPY testenv/fakes/vcgencmd /usr/bin/
COPY extras/ /usr/share/kvmd/extras/ COPY extras/ /usr/share/kvmd/extras/
COPY web/ /usr/share/kvmd/web/ COPY web/ /usr/share/kvmd/web/
COPY testenv/web.css /etc/kvmd/
COPY build/platform scripts/kvmd-gencert /usr/share/kvmd/ COPY build/platform scripts/kvmd-gencert /usr/share/kvmd/
COPY contrib/keymaps /usr/share/kvmd/keymaps COPY contrib/keymaps /usr/share/kvmd/keymaps
COPY kvmd/ /kvmd COPY kvmd/ /kvmd
COPY configs/kvmd/*.yaml configs/kvmd/*passwd build/supervisord.conf /etc/kvmd/ COPY configs/kvmd/* /etc/kvmd/
COPY configs/nginx/* /etc/kvmd/nginx/ COPY configs/nginx/* /etc/kvmd/nginx/
COPY configs/hw_info/* /etc/kvmd/hw_info/ COPY configs/hw_info/* /etc/kvmd/hw_info/
COPY build/v2-hdmiusb-rpi4.override.yaml /etc/kvmd/override.yaml COPY build/v2-hdmiusb-rpi4.override.yaml /etc/kvmd/override.yaml
COPY configs/kvmd/main/v2-hdmiusb-rpi4.yaml /etc/kvmd/main.yaml COPY configs/kvmd/main/v2-hdmiusb-rpi4.yaml /etc/kvmd/main.yaml
RUN touch /run/kvmd/ustreamer.sock /etc/kvmd/.docker_flag \ RUN touch /run/kvmd/ustreamer.sock /etc/kvmd/.docker_flag \
&& touch /etc/kvmd/totp.secret \
&& /usr/share/kvmd/kvmd-gencert --do-the-thing \ && /usr/share/kvmd/kvmd-gencert --do-the-thing \
&& /usr/share/kvmd/kvmd-gencert --do-the-thing --vnc \ && /usr/share/kvmd/kvmd-gencert --do-the-thing --vnc \
&& ln -sf /usr/share/tesseract-ocr/*/tessdata /usr/share/tessdata \ && ln -sf /usr/share/tesseract-ocr/*/tessdata /usr/share/tessdata \
@ -93,4 +91,4 @@ RUN touch /run/kvmd/ustreamer.sock /etc/kvmd/.docker_flag \
#RUN supervisord -c /etc/kvmd/supervisord.conf #RUN supervisord -c /etc/kvmd/supervisord.conf
EXPOSE 4430 EXPOSE 4430
CMD ["supervisord", "-c", "/etc/kvmd/supervisord.conf"] CMD ["/bin/bash", "/etc/kvmd/init.sh", "&&", "supervisord", "-c", "/etc/kvmd/supervisord.conf"]

View File

@ -7,7 +7,7 @@ kvmd:
hid: hid:
type: ch9329 type: ch9329
device: /dev/kvmd-hid device: /dev/ttyUSB0
msd: msd:
type: disabled type: disabled
@ -15,7 +15,7 @@ kvmd:
streamer: streamer:
cmd: cmd:
- "/usr/local/bin/ustreamer" - "/usr/local/bin/ustreamer"
- "--device=/dev/kvmd-video" - "--device=/dev/video0"
- "--persistent" - "--persistent"
- "--format=mjpeg" - "--format=mjpeg"
- "--resolution={resolution}" - "--resolution={resolution}"

31
configs/kvmd/init.sh Normal file
View File

@ -0,0 +1,31 @@
#!/bin/bash
echo "One-KVM pre-starting..."
if [ "$OTG" == "1" ]; then
echo "OTG is enabled."
if [ ! -f /etc/kvmd/.otg_flag ]; then
echo "Enable One-KVM otg config."
touch /etc/kvmd/.otg_flag
sed -i "s/ch9329/otg/g" /etc/kvmd/override.yaml
sed -i "s/device: \/dev\/ttyUSB0//g" /etc/kvmd/override.yaml
cat >> /etc/kvmd/supervisord.conf << EOF
[program:kvmd-otg]
command=python -m kvmd.apps.otg start
directory=/
autostart=true
autorestart=unexpected
priority=9
stopasgroup=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes = 0
redirect_stderr=true
EOF
fi
if [ -d /sys/kernel/config/usb_gadget/kvmd ]; then
echo "Usb_gadget kvmd exists,delete it."
python -m kvmd.apps.otg stop
fi
fi