blob: 37d7342194caba84ffd802939c63f720d9a35bd4 [file] [log] [blame]
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://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 \
"
RDEPENDS:${PN}:append = " bash"
# 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}/
# 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
# mask networkd-wait-online.service to avoid waiting
ln -sv /dev/null ${D}/${sysconfdir}/systemd/system/systemd-networkd-wait-online.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
}