33 lines
1.0 KiB
Bash
33 lines
1.0 KiB
Bash
#!/bin/bash
|
|
|
|
# Enable USB gadget mode
|
|
# Fix or add dwc2 overlay
|
|
if grep -q "^dtoverlay=dwc2" /boot/config.txt; then
|
|
sudo sed -i 's/^dtoverlay=dwc2.*/dtoverlay=dwc2,dr_mode=peripheral/' /boot/config.txt
|
|
else
|
|
echo "dtoverlay=dwc2,dr_mode=peripheral" | sudo tee -a /boot/config.txt
|
|
fi
|
|
|
|
# Load required kernel modules
|
|
echo dwc2 | sudo tee /etc/modules-load.d/dwc2.conf
|
|
echo libcomposite | sudo tee /etc/modules-load.d/libcomposite.conf
|
|
|
|
# Install HID gadget script and service
|
|
sudo cp ~/rpikvm/hid-setup.sh /usr/local/bin/hid-setup.sh
|
|
sudo cp ~/rpikvm/hidg.service /etc/systemd/system/hidg.service
|
|
sudo chmod +x /usr/local/bin/hid-setup.sh
|
|
|
|
# Enable systemd service
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable hidg.service
|
|
|
|
# Install Python + venv
|
|
sudo apt install python3 python3-pip python3-venv git -y
|
|
|
|
# Create virtual environment and install web UI dependencies
|
|
python3 -m venv ~/rpikvm
|
|
~/rpikvm/bin/pip install flask evdev
|
|
|
|
# Create the control webUI
|
|
mkdir -p ~/rpikvm/templates
|
|
sudo chmod +x ~/rpikvm/startApp.sh |