added my Recipes

This commit is contained in:
2024-07-11 14:16:35 +02:00
parent 38bc4f53ac
commit 09b621d929
7118 changed files with 525762 additions and 3 deletions

View File

@@ -0,0 +1,56 @@
SUMMARY = "Userspace helper for Linux kernel EDAC drivers"
HOMEPAGE = "https://github.com/grondo/edac-utils"
DESCRIPTION = "EDAC (Error Detection and Correction) is a set of Linux kernel \
modules that handle reporting of hardware-related errors. Currently \
these modules mainly handle detection of ECC memory errors for many \
x86 and x86-64 chipsets and PCI bus parity errors."
SECTION = "Applications/System"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " sysfsutils"
SRCREV = "1c57818ecee186aa47af0342149577df5302c022"
PV = "0.18+git${SRCPV}"
S = "${WORKDIR}/git"
SRC_URI = "git://github.com/grondo/edac-utils;branch=master;protocol=https \
file://make-init-script-be-able-to-automatically-load-EDAC-.patch \
file://add-restart-to-initscript.patch \
file://edac.service \
"
inherit autotools-brokensep systemd
do_configure:prepend () {
touch ${S}/ChangeLog
${S}/bootstrap
}
RDEPENDS:${PN}:x86 = "dmidecode"
RDEPENDS:${PN}:x86-64 = "dmidecode"
RDEPENDS:${PN}:arm = "dmidecode"
RDEPENDS:${PN}:aarch64 = "dmidecode"
RDEPENDS:${PN}:powerpc = "dmidecode"
RDEPENDS:${PN}:powerpc64 = "dmidecode"
RDEPENDS:${PN}:powerpc64le = "dmidecode"
RDEPENDS:${PN}:append = " \
perl \
perl-module-file-basename \
perl-module-file-find \
perl-module-getopt-long \
perl-module-posix \
perl-module-overload \
perl-module-overloading \
perl-module-file-glob \
"
do_install:append() {
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/edac.service ${D}/${systemd_unitdir}/system
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}/${systemd_unitdir}/system/edac.service
}
SYSTEMD_SERVICE:${PN} = "edac.service"
SYSTEMD_AUTO_ENABLE:${PN} = "disable"

View File

@@ -0,0 +1,33 @@
From 3ade837f64de0cfe2aed5bc52f7919760f350531 Mon Sep 17 00:00:00 2001
From: Wenzong Fan <wenzong.fan@windriver.com>
Date: Fri, 7 Mar 2014 00:57:12 -0500
Subject: [PATCH] edac: add restart to initscript
Upstream-Status: Pending
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
---
src/etc/edac.init.in | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/etc/edac.init.in b/src/etc/edac.init.in
index adf76ee..007a519 100644
--- a/src/etc/edac.init.in
+++ b/src/etc/edac.init.in
@@ -155,8 +155,12 @@ case "$1" in
status)
service_status
;;
+ restart)
+ service_stop
+ service_start
+ ;;
*)
- COMMANDS="start|stop|status"
+ COMMANDS="start|stop|status|restart"
echo "Usage: $0 {${COMMANDS}}"
exit 2
;;
--
1.7.9.5

View File

@@ -0,0 +1,10 @@
[Unit]
Description=Initialize EDAC Drivers For Machine Hardware
[Service]
Type=oneshot
ExecStart=@SBINDIR@/edac-ctl --register-labels
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,98 @@
make init script be able to automatically load EDAC module.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
---
src/etc/edac.init.in | 49 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 47 insertions(+), 2 deletions(-)
diff --git a/src/etc/edac.init.in b/src/etc/edac.init.in
index 7a51da9..5b568c4 100644
--- a/src/etc/edac.init.in
+++ b/src/etc/edac.init.in
@@ -42,7 +42,6 @@ for dir in "$sysconfdir/default" "$sysconfdir/sysconfig"; do
[ -f "$dir/$SERVICE" ] && . "$dir/$SERVICE"
done
-
###############################################################################
service_start ()
@@ -52,6 +51,46 @@ service_start ()
# Assume that if EDAC_DRIVER is not set, then EDAC is configured
# automatically, thus return successfully, but don't do anything.
#
+ if [ ! -f /etc/edac/edac-driver ]; then
+ [ -d /sys/bus/edac/devices/mc/mc0 ] && \
+ echo `lsmod | grep _edac | cut -d" " -f1` > /etc/edac/edac-driver
+ fi
+
+ [ -f /etc/edac/edac-driver ] && EDAC_DRIVER=`cat /etc/edac/edac-driver`
+
+ if [ -z "$EDAC_DRIVER" ]; then
+
+ DRIVER_PATH=/lib/modules/`uname -r`/kernel/drivers/edac
+ oldpath=`pwd`
+ if [ -d $DRIVER_PATH ]; then
+
+ cd $DRIVER_PATH
+
+ for i in $(/bin/ls | /usr/bin/cut -d. -f1) ; do
+ /sbin/modprobe $i 2>/dev/null
+ if [ -d /sys/bus/edac/devices/mc/mc0 ]; then
+ echo $i> /etc/edac/edac-driver
+ EDAC_DRIVER=$i
+ break
+ fi
+ /sbin/modprobe -r $i 2>/dev/null
+ done
+
+ cd "$oldpath"
+
+
+ if [ -z "$EDAC_DRIVER" ]; then
+ echo "This board may not support EDAC, or EDAC module may not be compiled in"
+ exit
+ fi
+
+ else
+ echo "This board may not support EDAC, or EDAC module may not be compiled in"
+ exit
+ fi
+
+ fi
+
if [ -n "$EDAC_DRIVER" ]; then
echo -n "Starting ${SERVICE}: "
modprobe $EDAC_DRIVER
@@ -76,12 +115,15 @@ service_start ()
service_stop ()
{
echo -n "Disabling ${SERVICE}: "
+
+ [ -f /etc/edac/edac-driver ] && EDAC_DRIVER=`cat /etc/edac/edac-driver`
+
if [ -n "$EDAC_DRIVER" ]; then
modprobe -r $EDAC_DRIVER
STATUS=$?
[ $STATUS -eq 0 ] && echo success || echo failure
else
- echo "Not supported for this configuration."
+ echo "Not supported for this configuration, or EDAC Module is not loaded."
STATUS=6
fi
}
@@ -92,6 +134,9 @@ service_status ()
{
# Print the current status of the service. Required by LSB.
#
+ [ -f /etc/edac/edac-driver ] && EDAC_DRIVER=`cat /etc/edac/edac-driver`
+ [ -z "$EDAC_DRIVER" ] && STATUS=1 && exit
+
edac-ctl --status
STATUS=0
}
--
1.7.10.4