| 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} |
| } |