blob: 2bea97982304ca563047bbef9c2d2478990bd041 [file] [log] [blame]
SUMMARY = "Bare Metal Readyness Setup"
DESCRIPTION = "Bare Metal Readyness Setup"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
inherit systemd
RDEPENDS:${PN}:append = " \
bash \
libgpiod \
"
SRC_URI:append = " \
file://bare-metal-setup.service \
file://bare-metal-setup.sh.in \
"
S = "${WORKDIR}"
SYSTEMD_SERVICE:${PN}:append = " \
bare-metal-setup.service \
"
BM_MODE ?= "0"
GPIO_CHIP ?= ""
GPIO_LINE ?= ""
# the command to hide the boot drive
HIDE_BOOT_DRIVE ?= ""
# the command to show (un-hide) the boot drive
SHOW_BOOT_DRIVE ?= ""
ENABLE_BM_FILE ?= "/var/google/config-package/enable-bm.flag"
ENABLE_CONSOLE_FILE ?= "/var/google/config-package/enable-bm-console.flag"
BMREADY_FILE ?= "/run/bm-ready.flag"
do_install:append() {
if [ -z "${GPIO_CHIP}" -o -z "${GPIO_LINE}" ] && \
[ -z "${HIDE_BOOT_DRIVE}" -o -z "${SHOW_BOOT_DRIVE}" ]; then
echo "Invalid configuration: "
echo "either (GPIO_CHIP & GPIO_LINE) or (HIDE_BOOT_DRIVE & SHOW_BOOT_DRIVE) must be defined"
exit 1
fi
sed bare-metal-setup.sh.in \
-e "s#@BM_MODE@#${BM_MODE}#" \
-e "s#@GPIO_CHIP@#${GPIO_CHIP}#" \
-e "s#@GPIO_LINE@#${GPIO_LINE}#" \
-e "s#@HIDE_BOOT_DRIVE@#${HIDE_BOOT_DRIVE}#" \
-e "s#@SHOW_BOOT_DRIVE@#${SHOW_BOOT_DRIVE}#" \
-e "s#@ENABLE_BM_FILE@#${ENABLE_BM_FILE}#" \
-e "s#@ENABLE_CONSOLE_FILE@#${ENABLE_CONSOLE_FILE}#" \
-e "s#@BMREADY_FILE@#${BMREADY_FILE}#" \
>bare-metal-setup.sh
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/bare-metal-setup.sh ${D}${bindir}
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/bare-metal-setup.service ${D}${systemd_system_unitdir}
}