summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PKGBUILD3
-rw-r--r--configs/kvmd/main/v0-hdmi-zero2w.yaml81
-rw-r--r--configs/kvmd/main/v0-hdmiusb-zero2w.yaml85
-rw-r--r--configs/kvmd/main/v2-hdmi-zero2w.yaml83
-rw-r--r--configs/os/boot-config/v0-hdmi-zero2w.txt8
-rw-r--r--configs/os/boot-config/v0-hdmiusb-zero2w.txt7
-rw-r--r--configs/os/boot-config/v2-hdmi-zero2w.txt9
-rw-r--r--configs/os/cmdline/v0-hdmi-zero2w.sed5
-rw-r--r--configs/os/cmdline/v0-hdmiusb-zero2w.sed4
-rw-r--r--configs/os/cmdline/v2-hdmi-zero2w.sed1
-rw-r--r--configs/os/udev/v0-hdmi-zero2w.rules4
-rw-r--r--configs/os/udev/v0-hdmiusb-zero2w.rules4
-rw-r--r--configs/os/udev/v2-hdmi-zero2w.rules6
13 files changed, 300 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 795548d9..78fe9437 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,16 +4,19 @@
_variants=(
v0-hdmi:zerow
+ v0-hdmi:zero2w
v0-hdmi:rpi
v0-hdmi:rpi2
v0-hdmi:rpi3
v0-hdmiusb:zerow
+ v0-hdmiusb:zero2w
v0-hdmiusb:rpi
v0-hdmiusb:rpi2
v0-hdmiusb:rpi3
v2-hdmi:zerow
+ v2-hdmi:zero2w
v2-hdmi:rpi3
v2-hdmi:rpi4
diff --git a/configs/kvmd/main/v0-hdmi-zero2w.yaml b/configs/kvmd/main/v0-hdmi-zero2w.yaml
new file mode 100644
index 00000000..ddca06c3
--- /dev/null
+++ b/configs/kvmd/main/v0-hdmi-zero2w.yaml
@@ -0,0 +1,81 @@
+# Don't touch this file otherwise your device may stop working.
+# Use override.yaml to modify required settings.
+# You can find a working configuration in /usr/share/kvmd/configs.default/kvmd.
+
+override: !include [override.d, override.yaml]
+
+logging: !include logging.yaml
+
+kvmd:
+ server:
+ unix: /run/kvmd/kvmd.sock
+
+ auth: !include auth.yaml
+
+ hid:
+ type: serial
+ reset_pin: 4
+ device: /dev/kvmd-hid
+
+ atx:
+ type: gpio
+ power_led_pin: 24
+ hdd_led_pin: 22
+ power_switch_pin: 23
+ reset_switch_pin: 27
+
+ msd:
+ type: disabled
+
+ streamer:
+ unix: /run/kvmd/ustreamer.sock
+ h264_bitrate:
+ default: 5000
+ cmd:
+ - "/usr/bin/ustreamer"
+ - "--device=/dev/kvmd-video"
+ - "--persistent"
+ - "--dv-timings"
+ - "--format=uyvy"
+ - "--encoder=omx"
+ - "--workers=3"
+ - "--quality={quality}"
+ - "--desired-fps={desired_fps}"
+ - "--drop-same-frames=30"
+ - "--last-as-blank=0"
+ - "--unix={unix}"
+ - "--unix-rm"
+ - "--unix-mode=0660"
+ - "--exit-on-parent-death"
+ - "--process-name-prefix={process_name_prefix}"
+ - "--notify-parent"
+ - "--no-log-colors"
+ - "--sink=kvmd::ustreamer::jpeg"
+ - "--sink-mode=0660"
+ - "--h264-sink=kvmd::ustreamer::h264"
+ - "--h264-sink-mode=0660"
+ - "--h264-bitrate={h264_bitrate}"
+ - "--h264-gop={h264_gop}"
+
+ipmi:
+ kvmd:
+ unix: /run/kvmd/kvmd.sock
+
+vnc:
+ kvmd:
+ unix: /run/kvmd/kvmd.sock
+
+ streamer:
+ unix: /run/kvmd/ustreamer.sock
+
+ memsink:
+ jpeg:
+ sink: "kvmd::ustreamer::jpeg"
+ h264:
+ sink: "kvmd::ustreamer::h264"
+
+ server:
+ tls:
+ x509:
+ cert: /etc/kvmd/vnc/ssl/server.crt
+ key: /etc/kvmd/vnc/ssl/server.key
diff --git a/configs/kvmd/main/v0-hdmiusb-zero2w.yaml b/configs/kvmd/main/v0-hdmiusb-zero2w.yaml
new file mode 100644
index 00000000..3182efb7
--- /dev/null
+++ b/configs/kvmd/main/v0-hdmiusb-zero2w.yaml
@@ -0,0 +1,85 @@
+# Don't touch this file otherwise your device may stop working.
+# Use override.yaml to modify required settings.
+# You can find a working configuration in /usr/share/kvmd/configs.default/kvmd.
+
+override: !include [override.d, override.yaml]
+
+logging: !include logging.yaml
+
+kvmd:
+ server:
+ unix: /run/kvmd/kvmd.sock
+
+ auth: !include auth.yaml
+
+ hid:
+ type: serial
+ reset_pin: 4
+ device: /dev/kvmd-hid
+
+ atx:
+ type: gpio
+ power_led_pin: 24
+ hdd_led_pin: 22
+ power_switch_pin: 23
+ reset_switch_pin: 27
+
+ msd:
+ type: disabled
+
+ streamer:
+ quality: 0
+ resolution:
+ default: 1920x1080
+ available:
+ - 1920x1080
+ - 1600x1200
+ - 1360x768
+ - 1280x1024
+ - 1280x960
+ - 1280x720
+ - 1024x768
+ - 800x600
+ - 720x576
+ - 720x480
+ - 640x480
+ unix: /run/kvmd/ustreamer.sock
+ cmd:
+ - "/usr/bin/ustreamer"
+ - "--device=/dev/kvmd-video"
+ - "--persistent"
+ - "--format=mjpeg"
+ - "--resolution={resolution}"
+ - "--desired-fps={desired_fps}"
+ - "--drop-same-frames=30"
+ - "--last-as-blank=0"
+ - "--unix={unix}"
+ - "--unix-rm"
+ - "--unix-mode=0660"
+ - "--exit-on-parent-death"
+ - "--process-name-prefix={process_name_prefix}"
+ - "--notify-parent"
+ - "--no-log-colors"
+ - "--sink=kvmd::ustreamer::jpeg"
+ - "--sink-mode=0660"
+
+ipmi:
+ kvmd:
+ unix: /run/kvmd/kvmd.sock
+
+vnc:
+ kvmd:
+ unix: /run/kvmd/kvmd.sock
+
+ streamer:
+ unix: /run/kvmd/ustreamer.sock
+
+ memsink:
+ jpeg:
+ sink: "kvmd::ustreamer::jpeg"
+
+ server:
+ tls:
+ x509:
+ cert: /etc/kvmd/vnc/ssl/server.crt
+ key: /etc/kvmd/vnc/ssl/server.key
diff --git a/configs/kvmd/main/v2-hdmi-zero2w.yaml b/configs/kvmd/main/v2-hdmi-zero2w.yaml
new file mode 100644
index 00000000..1ab8dda9
--- /dev/null
+++ b/configs/kvmd/main/v2-hdmi-zero2w.yaml
@@ -0,0 +1,83 @@
+# Don't touch this file otherwise your device may stop working.
+# Use override.yaml to modify required settings.
+# You can find a working configuration in /usr/share/kvmd/configs.default/kvmd.
+
+override: !include [override.d, override.yaml]
+
+logging: !include logging.yaml
+
+kvmd:
+ server:
+ unix: /run/kvmd/kvmd.sock
+
+ auth: !include auth.yaml
+
+ hid:
+ type: otg
+ keyboard:
+ device: /dev/kvmd-hid-keyboard
+ mouse:
+ device: /dev/kvmd-hid-mouse
+
+ atx:
+ type: gpio
+ power_led_pin: 24
+ hdd_led_pin: 22
+ power_switch_pin: 23
+ reset_switch_pin: 27
+
+ msd:
+ type: otg
+
+ streamer:
+ unix: /run/kvmd/ustreamer.sock
+ h264_bitrate:
+ default: 5000
+ cmd:
+ - "/usr/bin/ustreamer"
+ - "--device=/dev/kvmd-video"
+ - "--persistent"
+ - "--dv-timings"
+ - "--format=uyvy"
+ - "--encoder=omx"
+ - "--workers=3"
+ - "--quality={quality}"
+ - "--desired-fps={desired_fps}"
+ - "--drop-same-frames=30"
+ - "--last-as-blank=0"
+ - "--unix={unix}"
+ - "--unix-rm"
+ - "--unix-mode=0660"
+ - "--exit-on-parent-death"
+ - "--process-name-prefix={process_name_prefix}"
+ - "--notify-parent"
+ - "--no-log-colors"
+ - "--sink=kvmd::ustreamer::jpeg"
+ - "--sink-mode=0660"
+ - "--h264-sink=kvmd::ustreamer::h264"
+ - "--h264-sink-mode=0660"
+ - "--h264-bitrate={h264_bitrate}"
+ - "--h264-gop={h264_gop}"
+
+ipmi:
+ kvmd:
+ unix: /run/kvmd/kvmd.sock
+
+vnc:
+ kvmd:
+ unix: /run/kvmd/kvmd.sock
+
+ streamer:
+ unix: /run/kvmd/ustreamer.sock
+
+ memsink:
+ jpeg:
+ sink: "kvmd::ustreamer::jpeg"
+ h264:
+ sink: "kvmd::ustreamer::h264"
+
+ server:
+ tls:
+ x509:
+ cert: /etc/kvmd/vnc/ssl/server.crt
+ key: /etc/kvmd/vnc/ssl/server.key
diff --git a/configs/os/boot-config/v0-hdmi-zero2w.txt b/configs/os/boot-config/v0-hdmi-zero2w.txt
new file mode 100644
index 00000000..54459566
--- /dev/null
+++ b/configs/os/boot-config/v0-hdmi-zero2w.txt
@@ -0,0 +1,8 @@
+# See /boot/overlays/README for all available options
+initramfs initramfs-linux.img followkernel
+
+hdmi_force_hotplug=1
+gpu_mem=96
+enable_uart=1
+dtoverlay=tc358743,i2c_pins_28_29=1
+dtoverlay=disable-bt
diff --git a/configs/os/boot-config/v0-hdmiusb-zero2w.txt b/configs/os/boot-config/v0-hdmiusb-zero2w.txt
new file mode 100644
index 00000000..5d41ab3c
--- /dev/null
+++ b/configs/os/boot-config/v0-hdmiusb-zero2w.txt
@@ -0,0 +1,7 @@
+# See /boot/overlays/README for all available options
+initramfs initramfs-linux.img followkernel
+
+hdmi_force_hotplug=1
+gpu_mem=16
+enable_uart=1
+dtoverlay=disable-bt
diff --git a/configs/os/boot-config/v2-hdmi-zero2w.txt b/configs/os/boot-config/v2-hdmi-zero2w.txt
new file mode 100644
index 00000000..6ec3dc54
--- /dev/null
+++ b/configs/os/boot-config/v2-hdmi-zero2w.txt
@@ -0,0 +1,9 @@
+# See /boot/overlays/README for all available options
+initramfs initramfs-linux.img followkernel
+
+hdmi_force_hotplug=1
+gpu_mem=96
+enable_uart=1
+dtoverlay=tc358743,i2c_pins_28_29=1
+dtoverlay=disable-bt
+dtoverlay=dwc2,dr_mode=peripheral
diff --git a/configs/os/cmdline/v0-hdmi-zero2w.sed b/configs/os/cmdline/v0-hdmi-zero2w.sed
new file mode 100644
index 00000000..7ed427ec
--- /dev/null
+++ b/configs/os/cmdline/v0-hdmi-zero2w.sed
@@ -0,0 +1,5 @@
+s/console=ttyAMA0\,115200//g
+s/kgdboc=ttyAMA0\,115200//g
+s/console=serial0\,115200//g
+s/kgdboc=serial0\,115200//g
+s/rootwait/cma=96M rootwait/g
diff --git a/configs/os/cmdline/v0-hdmiusb-zero2w.sed b/configs/os/cmdline/v0-hdmiusb-zero2w.sed
new file mode 100644
index 00000000..d2ac8b1e
--- /dev/null
+++ b/configs/os/cmdline/v0-hdmiusb-zero2w.sed
@@ -0,0 +1,4 @@
+s/console=ttyAMA0\,115200//g
+s/kgdboc=ttyAMA0\,115200//g
+s/console=serial0\,115200//g
+s/kgdboc=serial0\,115200//g
diff --git a/configs/os/cmdline/v2-hdmi-zero2w.sed b/configs/os/cmdline/v2-hdmi-zero2w.sed
new file mode 100644
index 00000000..f350c89c
--- /dev/null
+++ b/configs/os/cmdline/v2-hdmi-zero2w.sed
@@ -0,0 +1 @@
+s/rootwait/cma=96M rootwait/g
diff --git a/configs/os/udev/v0-hdmi-zero2w.rules b/configs/os/udev/v0-hdmi-zero2w.rules
new file mode 100644
index 00000000..e60aa798
--- /dev/null
+++ b/configs/os/udev/v0-hdmi-zero2w.rules
@@ -0,0 +1,4 @@
+# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
+# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
+KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
+KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
diff --git a/configs/os/udev/v0-hdmiusb-zero2w.rules b/configs/os/udev/v0-hdmiusb-zero2w.rules
new file mode 100644
index 00000000..933f7337
--- /dev/null
+++ b/configs/os/udev/v0-hdmiusb-zero2w.rules
@@ -0,0 +1,4 @@
+# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
+# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
+KERNEL=="video0", SUBSYSTEM=="video4linux", GROUP="kvmd", SYMLINK+="kvmd-video"
+KERNEL=="ttyAMA0", SYMLINK+="kvmd-hid"
diff --git a/configs/os/udev/v2-hdmi-zero2w.rules b/configs/os/udev/v2-hdmi-zero2w.rules
new file mode 100644
index 00000000..6c6a6d3e
--- /dev/null
+++ b/configs/os/udev/v2-hdmi-zero2w.rules
@@ -0,0 +1,6 @@
+# https://unix.stackexchange.com/questions/66901/how-to-bind-usb-device-under-a-static-name
+# https://wiki.archlinux.org/index.php/Udev#Setting_static_device_names
+KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", KERNELS=="3f801000.csi|3f801000.csi1", ATTR{name}=="unicam-image", GROUP="kvmd", SYMLINK+="kvmd-video", TAG+="systemd"
+KERNEL=="hidg0", GROUP="kvmd", SYMLINK+="kvmd-hid-keyboard"
+KERNEL=="hidg1", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse"
+KERNEL=="hidg2", GROUP="kvmd", SYMLINK+="kvmd-hid-mouse-alt"