| SUMMARY = "Configures systemd settings for gBMC" |
| PR = "r1" |
| LICENSE = "Apache-2.0" |
| LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" |
| |
| inherit systemd |
| |
| S = "${WORKDIR}" |
| |
| SRC_URI:append = " \ |
| file://firmware-updates.target \ |
| file://firmware-updates-pre.target \ |
| file://gbmc-log-ramoops.service \ |
| file://40-gbmc-forward.conf \ |
| file://40-gbmc-sysctl.conf \ |
| file://40-gbmc-time.conf \ |
| file://10-gbmc.conf \ |
| " |
| |
| FILES:${PN}:append = " \ |
| ${systemd_unitdir}/coredump.conf.d/40-gbmc-coredump.conf \ |
| ${systemd_unitdir}/resolved.conf.d/40-gbmc-nomdns.conf \ |
| ${systemd_unitdir}/timesyncd.conf.d/40-gbmc-time.conf \ |
| ${libdir}/sysctl.d/40-gbmc-sysctl.conf \ |
| ${libdir}/sysctl.d/40-gbmc-forward.conf \ |
| ${systemd_system_unitdir}/sysinit.target.wants/systemd-time-wait-sync.service \ |
| ${systemd_system_unitdir}/systemd-time-wait-sync.service.d/10-gbmc.conf \ |
| " |
| |
| FILES:${PN}:append:dev = " \ |
| ${libdir}/sysctl.d/40-gbmc-debug.conf \ |
| " |
| |
| SYSTEMD_SERVICE:${PN}:append = " \ |
| firmware-updates.target \ |
| firmware-updates-pre.target \ |
| gbmc-log-ramoops.service \ |
| " |
| |
| # Put coredumps in the journal to ensure they stay in ram |
| do_install() { |
| install -d -m 0755 ${D}${systemd_unitdir}/coredump.conf.d |
| printf "[Coredump]\nStorage=journal\n" \ |
| >${D}${systemd_unitdir}/coredump.conf.d/40-gbmc-coredump.conf |
| |
| install -d -m 0755 ${D}${systemd_unitdir}/resolved.conf.d |
| printf "[Resolve]\nLLMNR=no\nMulticastDNS=resolve\n" \ |
| >${D}${systemd_unitdir}/resolved.conf.d/40-gbmc-nomdns.conf |
| |
| install -d -m 0755 ${D}${systemd_system_unitdir} |
| install -m 0644 ${WORKDIR}/firmware-updates.target ${D}${systemd_system_unitdir}/ |
| install -m 0644 ${WORKDIR}/firmware-updates-pre.target ${D}${systemd_system_unitdir}/ |
| install -m 0644 ${WORKDIR}/gbmc-log-ramoops.service ${D}${systemd_system_unitdir}/ |
| |
| # mask systemd-pstore.service to avoid copying logs to SPI |
| mkdir -p ${D}${sysconfdir}/systemd/system |
| ln -sv /dev/null ${D}${sysconfdir}/systemd/system/systemd-pstore.service |
| |
| install -d -m0755 ${D}${libdir}/sysctl.d |
| install -m 0644 ${WORKDIR}/40-gbmc-forward.conf ${D}${libdir}/sysctl.d/ |
| install -m 0644 ${WORKDIR}/40-gbmc-sysctl.conf ${D}${libdir}/sysctl.d/ |
| |
| install -d -m 0755 ${D}${systemd_unitdir}/timesyncd.conf.d/ |
| install -D -m0644 ${WORKDIR}/40-gbmc-time.conf ${D}${systemd_unitdir}/timesyncd.conf.d/ |
| |
| mkdir -p ${D}${systemd_system_unitdir}/sysinit.target.wants/ |
| ln -sv ${systemd_system_unitdir}/systemd-time-wait-sync.service ${D}${systemd_system_unitdir}/sysinit.target.wants/ |
| mkdir -p ${D}${systemd_system_unitdir}/systemd-time-wait-sync.service.d/ |
| install -D -m0644 ${WORKDIR}/10-gbmc.conf ${D}${systemd_system_unitdir}/systemd-time-wait-sync.service.d/ |
| } |
| |
| do_install:append:dev() { |
| printf "kernel.sysrq = 1\n" \ |
| >${D}${libdir}/sysctl.d/40-gbmc-debug.conf |
| } |