added my Recipes
This commit is contained in:
@@ -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"
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user