Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,2 @@
[Service]
TimeoutStartSec=20min
@@ -0,0 +1,5 @@
net.ipv4.ip_forward=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
@@ -0,0 +1 @@
kernel.oops_all_cpu_backtrace = 1
@@ -0,0 +1,10 @@
[Time]
ConnectionRetrySec=30
PollIntervalMinSec=30
PollIntervalMaxSec=60
SaveIntervalSec=15
# time.google.com addresses are stable, no need for DNS
NTP=2001:4860:4806::
NTP=2001:4860:4806:4::
NTP=2001:4860:4806:8::
NTP=2001:4860:4806:c::
@@ -0,0 +1,2 @@
[Unit]
Description=Firmware Update Preconditions
@@ -0,0 +1,6 @@
[Unit]
Description=Firmware Updates and Configuration
Wants=firmware-updates-pre.target
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,75 @@
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
}