From af79834cc7fe3c3c822494bc9731550ea6f10c82 Mon Sep 17 00:00:00 2001 From: mofeng-git Date: Sat, 7 Sep 2024 20:38:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20OTG=20=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/Dockerfile | 6 ++--- build/v2-hdmiusb-rpi4.override.yaml | 4 +-- configs/kvmd/init.sh | 31 ++++++++++++++++++++++++ {build => configs/kvmd}/supervisord.conf | 0 4 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 configs/kvmd/init.sh rename {build => configs/kvmd}/supervisord.conf (100%) diff --git a/build/Dockerfile b/build/Dockerfile index e2e69607..22aec048 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -73,18 +73,16 @@ RUN mkdir -p \ COPY testenv/fakes/vcgencmd /usr/bin/ COPY extras/ /usr/share/kvmd/extras/ COPY web/ /usr/share/kvmd/web/ -COPY testenv/web.css /etc/kvmd/ COPY build/platform scripts/kvmd-gencert /usr/share/kvmd/ COPY contrib/keymaps /usr/share/kvmd/keymaps 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/hw_info/* /etc/kvmd/hw_info/ COPY build/v2-hdmiusb-rpi4.override.yaml /etc/kvmd/override.yaml COPY configs/kvmd/main/v2-hdmiusb-rpi4.yaml /etc/kvmd/main.yaml 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 --vnc \ && 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 EXPOSE 4430 -CMD ["supervisord", "-c", "/etc/kvmd/supervisord.conf"] \ No newline at end of file +CMD ["/bin/bash", "/etc/kvmd/init.sh", "&&", "supervisord", "-c", "/etc/kvmd/supervisord.conf"] \ No newline at end of file diff --git a/build/v2-hdmiusb-rpi4.override.yaml b/build/v2-hdmiusb-rpi4.override.yaml index fe4a31a9..dc80928b 100644 --- a/build/v2-hdmiusb-rpi4.override.yaml +++ b/build/v2-hdmiusb-rpi4.override.yaml @@ -7,7 +7,7 @@ kvmd: hid: type: ch9329 - device: /dev/kvmd-hid + device: /dev/ttyUSB0 msd: type: disabled @@ -15,7 +15,7 @@ kvmd: streamer: cmd: - "/usr/local/bin/ustreamer" - - "--device=/dev/kvmd-video" + - "--device=/dev/video0" - "--persistent" - "--format=mjpeg" - "--resolution={resolution}" diff --git a/configs/kvmd/init.sh b/configs/kvmd/init.sh new file mode 100644 index 00000000..99b93162 --- /dev/null +++ b/configs/kvmd/init.sh @@ -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 \ No newline at end of file diff --git a/build/supervisord.conf b/configs/kvmd/supervisord.conf similarity index 100% rename from build/supervisord.conf rename to configs/kvmd/supervisord.conf