mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 01:00:29 +08:00
libgpiod initials
This commit is contained in:
parent
1dad3ee3ad
commit
6f75496550
19
Makefile
19
Makefile
@ -3,8 +3,11 @@
|
|||||||
TESTENV_IMAGE ?= kvmd-testenv
|
TESTENV_IMAGE ?= kvmd-testenv
|
||||||
TESTENV_HID ?= /dev/ttyS10
|
TESTENV_HID ?= /dev/ttyS10
|
||||||
TESTENV_VIDEO ?= /dev/video0
|
TESTENV_VIDEO ?= /dev/video0
|
||||||
|
TESTENV_GPIO ?= /dev/gpiochip0
|
||||||
TESTENV_RELAY ?= $(if $(shell ls /dev/hidraw0 2>/dev/null || true),/dev/hidraw0,)
|
TESTENV_RELAY ?= $(if $(shell ls /dev/hidraw0 2>/dev/null || true),/dev/hidraw0,)
|
||||||
|
|
||||||
|
LIBGPIOD_VERSION ?= 1.5.2
|
||||||
|
|
||||||
USTREAMER_MIN_VERSION ?= $(shell grep -o 'ustreamer>=[^"]\+' PKGBUILD | sed 's/ustreamer>=//g')
|
USTREAMER_MIN_VERSION ?= $(shell grep -o 'ustreamer>=[^"]\+' PKGBUILD | sed 's/ustreamer>=//g')
|
||||||
|
|
||||||
DEFAULT_PLATFORM ?= v2-hdmi-rpi4
|
DEFAULT_PLATFORM ?= v2-hdmi-rpi4
|
||||||
@ -23,6 +26,7 @@ all:
|
|||||||
@ echo " make textenv # Build test environment"
|
@ echo " make textenv # Build test environment"
|
||||||
@ echo " make tox # Run tests and linters"
|
@ echo " make tox # Run tests and linters"
|
||||||
@ echo " make tox E=pytest # Run selected test environment"
|
@ echo " make tox E=pytest # Run selected test environment"
|
||||||
|
@ echo " make gpio # Create gpio mockup"
|
||||||
@ echo " make run # Run kvmd"
|
@ echo " make run # Run kvmd"
|
||||||
@ echo " make run CMD=... # Run specified command inside kvmd environment"
|
@ echo " make run CMD=... # Run specified command inside kvmd environment"
|
||||||
@ echo " make run-ipmi # Run kvmd-ipmi"
|
@ echo " make run-ipmi # Run kvmd-ipmi"
|
||||||
@ -44,6 +48,7 @@ testenv:
|
|||||||
$(if $(call optbool,$(NC)),--no-cache,) \
|
$(if $(call optbool,$(NC)),--no-cache,) \
|
||||||
--rm \
|
--rm \
|
||||||
--tag $(TESTENV_IMAGE) \
|
--tag $(TESTENV_IMAGE) \
|
||||||
|
--build-arg LIBGPIOD_VERSION=$(LIBGPIOD_VERSION) \
|
||||||
--build-arg USTREAMER_MIN_VERSION=$(USTREAMER_MIN_VERSION) \
|
--build-arg USTREAMER_MIN_VERSION=$(USTREAMER_MIN_VERSION) \
|
||||||
-f testenv/Dockerfile .
|
-f testenv/Dockerfile .
|
||||||
|
|
||||||
@ -66,8 +71,15 @@ tox: testenv
|
|||||||
"
|
"
|
||||||
|
|
||||||
|
|
||||||
run: testenv
|
$(TESTENV_GPIO):
|
||||||
|
test ! -e $(TESTENV_GPIO)
|
||||||
|
sudo modprobe gpio-mockup gpio_mockup_ranges=0,40
|
||||||
|
test -c $(TESTENV_GPIO)
|
||||||
|
|
||||||
|
|
||||||
|
run: testenv $(TESTENV_GPIO)
|
||||||
- docker run --rm --name kvmd \
|
- docker run --rm --name kvmd \
|
||||||
|
--cap-add SYS_ADMIN \
|
||||||
--volume `pwd`/testenv/run:/run/kvmd:rw \
|
--volume `pwd`/testenv/run:/run/kvmd:rw \
|
||||||
--volume `pwd`/testenv:/testenv:ro \
|
--volume `pwd`/testenv:/testenv:ro \
|
||||||
--volume `pwd`/kvmd:/kvmd:ro \
|
--volume `pwd`/kvmd:/kvmd:ro \
|
||||||
@ -76,10 +88,13 @@ run: testenv
|
|||||||
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
|
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
|
||||||
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
|
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
|
||||||
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
|
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
|
||||||
|
--device $(TESTENV_GPIO):$(TESTENV_GPIO) \
|
||||||
$(if $(TESTENV_RELAY),--device $(TESTENV_RELAY):$(TESTENV_RELAY),) \
|
$(if $(TESTENV_RELAY),--device $(TESTENV_RELAY):$(TESTENV_RELAY),) \
|
||||||
--publish 8080:80/tcp \
|
--publish 8080:80/tcp \
|
||||||
-it $(TESTENV_IMAGE) /bin/bash -c " \
|
-it $(TESTENV_IMAGE) /bin/bash -c " \
|
||||||
(socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
|
mount -t debugfs none /sys/kernel/debug \
|
||||||
|
&& test -d /sys/kernel/debug/gpio-mockup/`basename $(TESTENV_GPIO)`/ \
|
||||||
|
&& (socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
|
||||||
&& cp -r /usr/share/kvmd/configs.default/nginx/* /etc/kvmd/nginx \
|
&& cp -r /usr/share/kvmd/configs.default/nginx/* /etc/kvmd/nginx \
|
||||||
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
|
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
|
||||||
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
|
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
|
||||||
|
|||||||
1
PKGBUILD
1
PKGBUILD
@ -51,6 +51,7 @@ depends=(
|
|||||||
python-pillow
|
python-pillow
|
||||||
python-xlib
|
python-xlib
|
||||||
python-hidapi
|
python-hidapi
|
||||||
|
libgpiod
|
||||||
freetype2
|
freetype2
|
||||||
v4l-utils
|
v4l-utils
|
||||||
nginx-mainline
|
nginx-mainline
|
||||||
|
|||||||
@ -6,6 +6,9 @@ RUN pacman -Syu --noconfirm \
|
|||||||
&& pacman -S --needed --noconfirm \
|
&& pacman -S --needed --noconfirm \
|
||||||
base \
|
base \
|
||||||
base-devel \
|
base-devel \
|
||||||
|
autoconf-archive \
|
||||||
|
help2man \
|
||||||
|
m4 \
|
||||||
vim \
|
vim \
|
||||||
git \
|
git \
|
||||||
libjpeg \
|
libjpeg \
|
||||||
@ -30,6 +33,18 @@ RUN npm install htmlhint -g \
|
|||||||
&& npm install pug \
|
&& npm install pug \
|
||||||
&& npm install pug-cli -g
|
&& npm install pug-cli -g
|
||||||
|
|
||||||
|
ARG LIBGPIOD_VERSION
|
||||||
|
ENV LIBGPIOD_PKG libgpiod-$LIBGPIOD_VERSION
|
||||||
|
RUN curl \
|
||||||
|
-o $LIBGPIOD_PKG.tar.gz \
|
||||||
|
https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/$LIBGPIOD_PKG.tar.gz \
|
||||||
|
&& tar -xzvf $LIBGPIOD_PKG.tar.gz \
|
||||||
|
&& cd $LIBGPIOD_PKG \
|
||||||
|
&& ./autogen.sh --prefix=/usr --enable-tools=yes --enable-bindings-python \
|
||||||
|
&& make PREFIX=/usr install \
|
||||||
|
&& cd - \
|
||||||
|
&& rm -rf $LIBGPIOD_PKG{,.tar.gz}
|
||||||
|
|
||||||
ARG USTREAMER_MIN_VERSION
|
ARG USTREAMER_MIN_VERSION
|
||||||
ENV USTREAMER_MIN_VERSION $USTREAMER_MIN_VERSION
|
ENV USTREAMER_MIN_VERSION $USTREAMER_MIN_VERSION
|
||||||
RUN echo $USTREAMER_MIN_VERSION
|
RUN echo $USTREAMER_MIN_VERSION
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user