Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 1 | SUMMARY = "Configures systemd settings for gBMC" |
| 2 | PR = "r1" |
| 3 | LICENSE = "Apache-2.0" |
| 4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" |
| 5 | |
| 6 | inherit systemd |
| 7 | |
| 8 | S = "${WORKDIR}" |
| 9 | |
Willy Tu | 4dd03ca | 2021-08-06 09:37:35 -0700 | [diff] [blame] | 10 | SRC_URI:append = " \ |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 11 | file://firmware-updates.target \ |
| 12 | file://firmware-updates-pre.target \ |
William A. Kennington III | 1cf2b96 | 2023-03-29 18:51:15 -0700 | [diff] [blame] | 13 | file://gbmc-log-ramoops.service \ |
William A. Kennington III | 5ba6d08 | 2021-03-10 19:24:22 -0800 | [diff] [blame] | 14 | file://40-gbmc-forward.conf \ |
William A. Kennington III | 6888f37 | 2023-04-12 16:42:28 -0700 | [diff] [blame] | 15 | file://40-gbmc-sysctl.conf \ |
William A. Kennington III | aa814b3 | 2022-10-26 16:50:30 -0700 | [diff] [blame] | 16 | file://40-gbmc-time.conf \ |
Willy Tu | 511ffa9 | 2023-05-03 17:35:04 -0700 | [diff] [blame] | 17 | file://10-gbmc.conf \ |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 18 | " |
| 19 | |
Willy Tu | 4dd03ca | 2021-08-06 09:37:35 -0700 | [diff] [blame] | 20 | FILES:${PN}:append = " \ |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 21 | ${systemd_unitdir}/coredump.conf.d/40-gbmc-coredump.conf \ |
| 22 | ${systemd_unitdir}/resolved.conf.d/40-gbmc-nomdns.conf \ |
William A. Kennington III | aa814b3 | 2022-10-26 16:50:30 -0700 | [diff] [blame] | 23 | ${systemd_unitdir}/timesyncd.conf.d/40-gbmc-time.conf \ |
William A. Kennington III | 6888f37 | 2023-04-12 16:42:28 -0700 | [diff] [blame] | 24 | ${libdir}/sysctl.d/40-gbmc-sysctl.conf \ |
William A. Kennington III | 5ba6d08 | 2021-03-10 19:24:22 -0800 | [diff] [blame] | 25 | ${libdir}/sysctl.d/40-gbmc-forward.conf \ |
Willy Tu | 511ffa9 | 2023-05-03 17:35:04 -0700 | [diff] [blame] | 26 | ${systemd_system_unitdir}/sysinit.target.wants/systemd-time-wait-sync.service \ |
| 27 | ${systemd_system_unitdir}/systemd-time-wait-sync.d/10-gbmc.conf \ |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 28 | " |
| 29 | |
Willy Tu | 4dd03ca | 2021-08-06 09:37:35 -0700 | [diff] [blame] | 30 | FILES:${PN}:append:dev = " \ |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 31 | ${libdir}/sysctl.d/40-gbmc-debug.conf \ |
| 32 | " |
| 33 | |
Willy Tu | 4dd03ca | 2021-08-06 09:37:35 -0700 | [diff] [blame] | 34 | SYSTEMD_SERVICE:${PN}:append = " \ |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 35 | firmware-updates.target \ |
| 36 | firmware-updates-pre.target \ |
William A. Kennington III | 1cf2b96 | 2023-03-29 18:51:15 -0700 | [diff] [blame] | 37 | gbmc-log-ramoops.service \ |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 38 | " |
| 39 | |
| 40 | # Put coredumps in the journal to ensure they stay in ram |
| 41 | do_install() { |
William A. Kennington III | 5ba6d08 | 2021-03-10 19:24:22 -0800 | [diff] [blame] | 42 | install -d -m 0755 ${D}${systemd_unitdir}/coredump.conf.d |
| 43 | printf "[Coredump]\nStorage=journal\n" \ |
| 44 | >${D}${systemd_unitdir}/coredump.conf.d/40-gbmc-coredump.conf |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 45 | |
William A. Kennington III | 5ba6d08 | 2021-03-10 19:24:22 -0800 | [diff] [blame] | 46 | install -d -m 0755 ${D}${systemd_unitdir}/resolved.conf.d |
| 47 | printf "[Resolve]\nLLMNR=no\nMulticastDNS=resolve\n" \ |
| 48 | >${D}${systemd_unitdir}/resolved.conf.d/40-gbmc-nomdns.conf |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 49 | |
William A. Kennington III | 5ba6d08 | 2021-03-10 19:24:22 -0800 | [diff] [blame] | 50 | install -d -m 0755 ${D}${systemd_system_unitdir} |
| 51 | install -m 0644 ${WORKDIR}/firmware-updates.target ${D}${systemd_system_unitdir}/ |
| 52 | install -m 0644 ${WORKDIR}/firmware-updates-pre.target ${D}${systemd_system_unitdir}/ |
William A. Kennington III | 1cf2b96 | 2023-03-29 18:51:15 -0700 | [diff] [blame] | 53 | install -m 0644 ${WORKDIR}/gbmc-log-ramoops.service ${D}${systemd_system_unitdir}/ |
| 54 | |
| 55 | # mask systemd-pstore.service to avoid copying logs to SPI |
| 56 | mkdir -p ${D}${sysconfdir}/systemd/system |
| 57 | ln -sv /dev/null ${D}${sysconfdir}/systemd/system/systemd-pstore.service |
William A. Kennington III | 5ba6d08 | 2021-03-10 19:24:22 -0800 | [diff] [blame] | 58 | |
| 59 | install -d -m0755 ${D}${libdir}/sysctl.d |
| 60 | install -m 0644 ${WORKDIR}/40-gbmc-forward.conf ${D}${libdir}/sysctl.d/ |
William A. Kennington III | 6888f37 | 2023-04-12 16:42:28 -0700 | [diff] [blame] | 61 | install -m 0644 ${WORKDIR}/40-gbmc-sysctl.conf ${D}${libdir}/sysctl.d/ |
Willy Tu | 2696b0a | 2021-08-14 18:38:58 -0700 | [diff] [blame] | 62 | |
William A. Kennington III | aa814b3 | 2022-10-26 16:50:30 -0700 | [diff] [blame] | 63 | install -d -m 0755 ${D}${systemd_unitdir}/timesyncd.conf.d/ |
| 64 | install -D -m0644 ${WORKDIR}/40-gbmc-time.conf ${D}${systemd_unitdir}/timesyncd.conf.d/ |
Willy Tu | 511ffa9 | 2023-05-03 17:35:04 -0700 | [diff] [blame] | 65 | |
| 66 | mkdir -p ${D}${systemd_system_unitdir}/sysinit.target.wants/ |
| 67 | ln -sv ${systemd_system_unitdir}/systemd-time-wait-sync.service ${D}${systemd_system_unitdir}/sysinit.target.wants/ |
| 68 | mkdir -p ${D}${systemd_system_unitdir}/systemd-time-wait-sync.d/ |
| 69 | install -D -m0644 ${WORKDIR}/10-gbmc.conf ${D}${systemd_system_unitdir}/systemd-time-wait-sync.d/ |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 70 | } |
| 71 | |
Willy Tu | 4dd03ca | 2021-08-06 09:37:35 -0700 | [diff] [blame] | 72 | do_install:append:dev() { |
William A. Kennington III | 5ba6d08 | 2021-03-10 19:24:22 -0800 | [diff] [blame] | 73 | printf "kernel.sysrq = 1\n" \ |
| 74 | >${D}${libdir}/sysctl.d/40-gbmc-debug.conf |
Willy Tu | dba9083 | 2021-02-10 11:55:58 -0800 | [diff] [blame] | 75 | } |