Initial commit
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Boot Status LED Manager
|
||||
After=xyz.openbmc_project.LED.GroupManager.service
|
||||
Wants=xyz.openbmc_project.LED.GroupManager.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/boot-status-led.sh
|
||||
Type=simple
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
BOOT_SERVICE_NAME="xyz.openbmc_project.State.Host"
|
||||
BOOT_STATUS_OBJPATH="/xyz/openbmc_project/state/host0"
|
||||
BOOT_INTERFACE_NAME="xyz.openbmc_project.State.OperatingSystem.Status"
|
||||
BOOT_Property="OperatingSystemState"
|
||||
|
||||
LED_SERVICE_NAME="xyz.openbmc_project.LED.GroupManager"
|
||||
LED_INACTIVE_OBJPATH="/xyz/openbmc_project/led/groups/boot_status_inactive"
|
||||
LED_STANDBY_OBJPATH="/xyz/openbmc_project/led/groups/boot_status_standby"
|
||||
LED_INTERFACE_NAME="xyz.openbmc_project.Led.Group"
|
||||
LED_Property="Asserted"
|
||||
|
||||
boot_status=""
|
||||
led_status=""
|
||||
|
||||
while true; do
|
||||
boot_status="$(busctl get-property $BOOT_SERVICE_NAME $BOOT_STATUS_OBJPATH $BOOT_INTERFACE_NAME $BOOT_Property | awk '{print $2}')"
|
||||
|
||||
if [[ $boot_status != "\"xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Standby\"" ]] && [[ $led_status != "BLINKING" ]];then
|
||||
busctl set-property $LED_SERVICE_NAME $LED_INACTIVE_OBJPATH $LED_INTERFACE_NAME $LED_Property b true
|
||||
busctl set-property $LED_SERVICE_NAME $LED_STANDBY_OBJPATH $LED_INTERFACE_NAME $LED_Property b false
|
||||
led_status="BLINKING"
|
||||
elif [[ $boot_status == "\"xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Standby\"" ]] && [[ $led_status != "ON" ]];then
|
||||
busctl set-property $LED_SERVICE_NAME $LED_INACTIVE_OBJPATH $LED_INTERFACE_NAME $LED_Property b false
|
||||
busctl set-property $LED_SERVICE_NAME $LED_STANDBY_OBJPATH $LED_INTERFACE_NAME $LED_Property b true
|
||||
led_status="ON"
|
||||
fi
|
||||
|
||||
sleep 10
|
||||
|
||||
done
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,25 @@
|
||||
SUMMARY = "OpenBMC Mori Boot Status LED Service"
|
||||
DESCRIPTION = "OpenBMC Mori Boot Status LED Daemon."
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
|
||||
DEPENDS:append = " systemd"
|
||||
PR = "r1"
|
||||
|
||||
SRC_URI = " \
|
||||
file://boot-status-led.sh \
|
||||
file://boot-status-led.service \
|
||||
"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "boot-status-led.service"
|
||||
|
||||
inherit systemd
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${WORKDIR}/boot-status-led.sh ${D}${bindir}/
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${WORKDIR}/boot-status-led.service \
|
||||
${D}${systemd_system_unitdir}
|
||||
}
|
||||
|
||||
RDEPENDS:${PN}:append = " bash"
|
||||
Reference in New Issue
Block a user