From b2d7c978f6211e08fedb0e19afccae56959c7e0e Mon Sep 17 00:00:00 2001 From: j1nx Date: Thu, 9 Apr 2020 10:51:08 +0200 Subject: [PATCH] MycroftOS: Change mycroft-splash to use psplash instead. --- buildroot-external/configs/rpi3_defconfig | 1 - .../package/mycroft-splash/Config.in | 32 ++++++++++- .../base-images/psplash-bar.png | Bin 0 -> 544 bytes .../base-images/psplash-hand.png | Bin 0 -> 3572 bytes .../base-images/psplash-poky.png | Bin 0 -> 10085 bytes .../mycroft-splash/boot-splashscreen.service | 8 --- .../mycroft-splash/halt-splashscreen.service | 11 ---- .../mycroft-splash-quit.service | 11 ++++ .../mycroft-splash-start.service | 11 ++++ .../package/mycroft-splash/mycroft-splash.mk | 50 +++++++++--------- .../mycroft-splash/off-splashscreen.service | 12 ----- .../package/mycroft-splash/psplash-colors.h | 26 +++++++++ 12 files changed, 102 insertions(+), 60 deletions(-) create mode 100644 buildroot-external/package/mycroft-splash/base-images/psplash-bar.png create mode 100644 buildroot-external/package/mycroft-splash/base-images/psplash-hand.png create mode 100644 buildroot-external/package/mycroft-splash/base-images/psplash-poky.png delete mode 100644 buildroot-external/package/mycroft-splash/boot-splashscreen.service delete mode 100644 buildroot-external/package/mycroft-splash/halt-splashscreen.service create mode 100644 buildroot-external/package/mycroft-splash/mycroft-splash-quit.service create mode 100644 buildroot-external/package/mycroft-splash/mycroft-splash-start.service delete mode 100644 buildroot-external/package/mycroft-splash/off-splashscreen.service create mode 100644 buildroot-external/package/mycroft-splash/psplash-colors.h diff --git a/buildroot-external/configs/rpi3_defconfig b/buildroot-external/configs/rpi3_defconfig index 34aeb4d6..01516930 100644 --- a/buildroot-external/configs/rpi3_defconfig +++ b/buildroot-external/configs/rpi3_defconfig @@ -123,7 +123,6 @@ BR2_PACKAGE_FBGRAB=y BR2_PACKAGE_FBSET=y BR2_PACKAGE_FBV=y BR2_PACKAGE_FREERDP=y -BR2_PACKAGE_PSPLASH=y BR2_PACKAGE_SDL2_DIRECTFB=y BR2_PACKAGE_SDL2_OPENGLES=y BR2_PACKAGE_SDL2_GFX=y diff --git a/buildroot-external/package/mycroft-splash/Config.in b/buildroot-external/package/mycroft-splash/Config.in index 7817135b..468d1ef8 100644 --- a/buildroot-external/package/mycroft-splash/Config.in +++ b/buildroot-external/package/mycroft-splash/Config.in @@ -1,6 +1,34 @@ config BR2_PACKAGE_MYCROFT_SPLASH bool "mycroft-splash" + depends on BR2_USE_WCHAR help - Show Mycroft A.I. branded splash screens on boot/halt. + Show Mycroft A.I. branded splash screens during + boot/halt process based on psplash. - https://mycroft.ai/ https://www.j1nx.nl + PSplash is a userspace graphical boot splash screen for + mainly embedded Linux devices supporting a 16bpp or 32bpp + framebuffer. It has few dependencies (just libc), supports + basic images and text and handles rotation. Its visual look + is configurable by basic source changes. + + Also included is a 'client' command utility for sending + information to psplash such as boot progress information. + + Start the drawing process with 'psplash -n&' as early as + possible. Note: psplash creates a FIFO in /tmp for + communication with psplash-write. + + Usage: + * Set progress bar to 50 percent: + psplash-write "PROGRESS 50" + + * Display message "foobar" above progress bar: + psplash-write "MSG foobar" + + * Terminate psplash: + psplash-write "QUIT" + + http://git.yoctoproject.org/cgit/cgit.cgi/psplash/ + +comment "mycroft-splash needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/buildroot-external/package/mycroft-splash/base-images/psplash-bar.png b/buildroot-external/package/mycroft-splash/base-images/psplash-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..56e1d86c1778bea7ddc5da103c1fa2a6e9e1554d GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^&wyBlgAGWQCLcb+z`*$2)5S5QV$R#U8?$Z)NF4o` z?CE_nX-bq|*U1?NlbMf}GAY(|JG@Ncc+$wk=)ZKr@(s=kWxa~3u{IUi2EIDhhrC}r z(k}Oy{4MCkl_>Eq|8u|ZmO587LEyzIgW0vQua;ZPTY3Ngn%T4Sy(aCPcKW$4!~ckd z0Ra+XTep7o+IlP7_2TLHYX75q_Q<^W^JnrUle0P+6T;^`fBE3S+Hc?P*{oAtd3|@# z?z>B;IJjLh3Eh1+bbYz1=ch?2>-?6_F4SR|bme8qRFz`Z=7U>%46i*q=H}_{{@$pI z?aA?%FWv9n^__qHm;^7|^-sqhN54L#5f#3uJ02R+l-?OlsXv(4o0pPKEn?AnH? zyVKtPUVVn`36NS9wtel*6r-uzBX0C>%+A&io5_7*@87?(w#Mn4c^n?S;Gvm&yS#ve}-mi^Zx@qO1j4!E`MV}gXt2|)1|Gl*4 zPh6aY*wu_TX>-{dmbfK{Cq{%Qcz*rWcj-#O1LFx3mov|Q{Z-a;|J);bAG=u+rvCfZ b-6FsH=pr`ey>E5^W1hj&)z4*}Q$iB}R^|_Z literal 0 HcmV?d00001 diff --git a/buildroot-external/package/mycroft-splash/base-images/psplash-hand.png b/buildroot-external/package/mycroft-splash/base-images/psplash-hand.png new file mode 100644 index 0000000000000000000000000000000000000000..35498d3b09b53becf72e77e680607bb4ce030006 GIT binary patch literal 3572 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 sK!f-(1UPa}3RvF!U*T!j%LjC-l@ij;%69 /dev/null 2>&1 - -[Install] -WantedBy=basic.target diff --git a/buildroot-external/package/mycroft-splash/halt-splashscreen.service b/buildroot-external/package/mycroft-splash/halt-splashscreen.service deleted file mode 100644 index c4af7fd3..00000000 --- a/buildroot-external/package/mycroft-splash/halt-splashscreen.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Mycroft AI halt splash screen -DefaultDependencies=no -Before=halt.target - -[Service] -ExecStart=fbv -f -d 1 /opt/mycroft/splash/down.png > /dev/null 2>&1 -Type=oneshot - -[Install] -WantedBy=halt.target poweroff.target diff --git a/buildroot-external/package/mycroft-splash/mycroft-splash-quit.service b/buildroot-external/package/mycroft-splash/mycroft-splash-quit.service new file mode 100644 index 00000000..572ce4ec --- /dev/null +++ b/buildroot-external/package/mycroft-splash/mycroft-splash-quit.service @@ -0,0 +1,11 @@ +[Unit] +Description=Terminate Mycroft splash boot Screen +After=psplash-start.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/psplash-write QUIT +TimeoutSec=20 + +[Install] +WantedBy=multi-user.target diff --git a/buildroot-external/package/mycroft-splash/mycroft-splash-start.service b/buildroot-external/package/mycroft-splash/mycroft-splash-start.service new file mode 100644 index 00000000..c2a4c9c9 --- /dev/null +++ b/buildroot-external/package/mycroft-splash/mycroft-splash-start.service @@ -0,0 +1,11 @@ +[Unit] +Description=Starts Mycroft splash boot screen +Wants=systemd-vconsole-setup.service +After=systemd-vconsole-setup.service systemd-udev-trigger.service systemd-udevd.service +DefaultDependencies=no + +[Service] +ExecStart=/usr/bin/psplash -n + +[Install] +WantedBy=sysinit.target diff --git a/buildroot-external/package/mycroft-splash/mycroft-splash.mk b/buildroot-external/package/mycroft-splash/mycroft-splash.mk index b4b41397..d2aa88d7 100644 --- a/buildroot-external/package/mycroft-splash/mycroft-splash.mk +++ b/buildroot-external/package/mycroft-splash/mycroft-splash.mk @@ -4,33 +4,31 @@ # ################################################################################ -MYCROFT_SPLASH_VERSION = 0.1.0 -MYCROFT_SPLASH_SITE = $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/mycroft-splash -MYCROFT_SPLASH_SITE_METHOD = local -MYCROFT_SPLASH_LICENSE = Apache License 2.0 -MYCROFT_SPLASH_LICENSE_FILES = LICENSE +MYCROFT_SPLASH_SOURCE = psplash-0a902f7cd875ccf018456451be369f05fa55f962.tar.gz +MYCROFT_SPLASH_SITE = http://git.yoctoproject.org/cgit/cgit.cgi/psplash/snapshot +MYCROFT_SPLASH_LICENSE = GPL-2.0+ +MYCROFT_SPLASH_LICENSE_FILES = COPYING +MYCROFT_SPLASH_AUTORECONF = YES -define MYCROFT_SPLASH_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 644 $(@D)/boot-splashscreen.service \ - $(TARGET_DIR)/usr/lib/systemd/system/boot-splashscreen.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/basic.target.wants - ln -fs ../../../../usr/lib/systemd/system/boot-splashscreen.service \ - $(TARGET_DIR)/etc/systemd/system/basic.target.wants/boot-splashscreen.service +define MYCROFT_SPLASH_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/mycroft-splash/mycroft-splash-start.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mycroft-splash-start.service + $(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants + ln -sf ../../../../usr/lib/systemd/system/mycroft-splash-start.service \ + $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/ - $(INSTALL) -D -m 644 $(@D)/halt-splashscreen.service \ - $(TARGET_DIR)/usr/lib/systemd/system/halt-splashscreen.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/halt.target.wants - ln -fs ../../../../usr/lib/systemd/system/halt-splashscreen.service \ - $(TARGET_DIR)/etc/systemd/system/halt.target.wants/halt-splashscreen.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/poweroff.target.wants - ln -fs ../../../../usr/lib/systemd/system/halt-splashscreen.service \ - $(TARGET_DIR)/etc/systemd/system/poweroff.target.wants/halt-splashscreen.service - - $(INSTALL) -D -m 644 $(@D)/off-splashscreen.service \ - $(TARGET_DIR)/usr/lib/systemd/system/off-splashscreen.service - mkdir -p $(TARGET_DIR)/etc/systemd/system/shutdown.target.wants - ln -fs ../../../../usr/lib/systemd/system/off-splashscreen.service \ - $(TARGET_DIR)/etc/systemd/system/shutdown.target.wants/off-splashscreen.service + $(INSTALL) -D -m 644 $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/mycroft-splash/mycroft-splash-quit.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mycroft-splash-quit.service + $(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/mycroft-splash-quit.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ endef -$(eval $(generic-package)) +define MYCROFT_SPLASH_CHANGE_IMAGE + cp $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/mycroft-splash/psplash-colors.h $(@D) + cp $(BR2_EXTERNAL_MYCROFTOS_PATH)/package/mycroft-splash/base-images/* $(@D)/base-images/ +endef + +MYCROFT_SPLASH_PRE_CONFIGURE_HOOKS += MYCROFT_SPLASH_CHANGE_IMAGE + +$(eval $(autotools-package)) diff --git a/buildroot-external/package/mycroft-splash/off-splashscreen.service b/buildroot-external/package/mycroft-splash/off-splashscreen.service deleted file mode 100644 index 63b3cb88..00000000 --- a/buildroot-external/package/mycroft-splash/off-splashscreen.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Mycroft AI safe power off splash screen -DefaultDependencies=no -After=umount.target -Before=final.target - -[Service] -ExecStart=fbv -f -d 1 /opt/mycroft/splash/off.png > /dev/null 2>&1 -Type=oneshot - -[Install] -WantedBy=shutdown.target diff --git a/buildroot-external/package/mycroft-splash/psplash-colors.h b/buildroot-external/package/mycroft-splash/psplash-colors.h new file mode 100644 index 00000000..98006ecb --- /dev/null +++ b/buildroot-external/package/mycroft-splash/psplash-colors.h @@ -0,0 +1,26 @@ +/* + * pslash - a lightweight framebuffer splashscreen for embedded devices. + * + * Copyright (c) 2012 sleep(5) ltd + * Author: Tomas Frydrych + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + */ + +#ifndef _HAVE_PSPLASH_COLORS_H +#define _HAVE_PSPLASH_COLORS_H + +/* This is the overall background color */ +#define PSPLASH_BACKGROUND_COLOR 0x22,0xa7,0xf0 + +/* This is the color of any text output */ +#define PSPLASH_TEXT_COLOR 0xff,0xff,0xff + +/* This is the color of the progress bar indicator */ +#define PSPLASH_BAR_COLOR 0x2c,0x3e,0x50 + +/* This is the color of the progress bar background */ +#define PSPLASH_BAR_BACKGROUND_COLOR 0x22,0xa7,0xf0 + +#endif