@@ -31,6 +31,13 @@ config BR2_PACKAGE_PROVIDES_LIBOPENVG
config BR2_PACKAGE_PROVIDES_LIBOPENMAX
default "rpi-userland"
+config BR2_PACKAGE_RPI_USERLAND_START_VCFILED
+ bool "Start vcfiled"
+ depends on BR2_INIT_SYSV || BR2_INIT_BUSYBOX
+ help
+ vcfiled is a daemon serving files to VideoCore from the host filing
+ system.
+
endif
comment "rpi-userland needs a toolchain w/ C++, largefile, threads"
new file mode 100755
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+NAME=vcfiled
+DESC="VideoCore file server daemon $NAME"
+DAEMON="/usr/sbin/$NAME"
+DAEMON_ARGS=""
+CFGFILE="/etc/default/$NAME"
+PIDFILE="/var/run/$NAME/$NAME"
+
+# Read configuration variable file if it is present
+[ -r "$CFGFILE" ] && . "$CFGFILE"
+
+do_start()
+{
+ echo -n "Starting $DESC: "
+ start-stop-daemon -S -q -p "$PIDFILE" -x "$DAEMON" -- $DAEMON_ARGS &&
+ echo "done" || echo "failed"
+}
+
+do_stop()
+{
+ echo -n "Stopping $DESC: "
+ if start-stop-daemon -K -q -R TERM/30/KILL/5 -p "$PIDFILE" -n "$NAME"; then
+ # This daemon does not remove its PID file when it exits.
+ rm -f "$PIDFILE"
+ echo "done"
+ else
+ echo "failed"
+ fi
+}
+
+case "$1" in
+ start)
+ do_start
+ ;;
+ stop)
+ do_stop
+ ;;
+ restart|reload)
+ do_stop
+ do_start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}" >&2
+ exit 1
+ ;;
+esac
@@ -13,7 +13,17 @@ RPI_USERLAND_CONF_OPT = -DVMCS_INSTALL_PREFIX=/usr
RPI_USERLAND_PROVIDES = libegl libgles libopenmax libopenvg
+ifeq ($(BR2_PACKAGE_RPI_USERLAND_START_VCFILED),y)
+define RPI_USERLAND_INSTALL_INIT_SYSV
+ $(INSTALL) -m 0755 -D package/rpi-userland/S94vcfiled \
+ $(TARGET_DIR)/etc/init.d/S94vcfiled
+endef
+endif
+
define RPI_USERLAND_POST_TARGET_CLEANUP
+ rm -f $(TARGET_DIR)/etc/init.d/vcfiled
+ rm -f $(TARGET_DIR)/usr/share/install/vcfiled
+ rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share/install
rm -Rf $(TARGET_DIR)/usr/src
endef
RPI_USERLAND_POST_INSTALL_TARGET_HOOKS += RPI_USERLAND_POST_TARGET_CLEANUP
The VideoCore file server daemon startup script installed from this package is not compatible with BuildRoot (because of its naming and other Debian dependencies), which prevented vcfiled from starting. Hence, prevent this package from installing its vcfiled startup script, and add a configuration option to install a vcfiled SysV init script suitable for BuildRoot. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> --- Changes in v3: - Add a config option to start this daemon. Changes in v2: - Indent .mk rules with tabs. - Simplify the new vcfiled startup script. - Rename S97vcfiled to S94vcfiled for a better integration with existing init scripts. --- package/rpi-userland/Config.in | 7 ++++++ package/rpi-userland/S94vcfiled | 47 ++++++++++++++++++++++++++++++++++++ package/rpi-userland/rpi-userland.mk | 10 ++++++++ 3 files changed, 64 insertions(+) create mode 100755 package/rpi-userland/S94vcfiled