This commit is contained in:
openeuler-basic 2020-02-29 14:37:50 +08:00
parent ad6b3b05b0
commit 73ecdce8fe
5 changed files with 137 additions and 0 deletions

Binary file not shown.

Binary file not shown.

58
mcelog.conf Normal file
View File

@ -0,0 +1,58 @@
#
# config file for mcelog
# For further options, see the mcelog manpage and documentation
#
# Filter out known broken events by default
filter = yes
# don't log memory errors individually
#filter-memory-errors = yes
# output in undecoded raw format to be easier machine readable
#raw = yes
[server]
# An upstream bug prevents this from being disabled
# Only allow root to connect by default
client-user = root
# Path to socket client uses to connect
socket-path = /var/run/mcelog-client
[dimm]
# Enable DIMM-tracking
dimm-tracking-enabled = yes
# Disable DIMM DMI pre-population unless supported on your system
dmi-prepopulate = no
# execute these triggers when the rate of corrected or uncorrected
# errors per DIMM exceeds the threshold
uc-error-trigger = dimm-error-trigger
uc-error-threshold = 1 / 24h
ce-error-trigger = dimm-error-trigger
ce-error-threshold = 10 / 24h
[socket]
# Memory error accounting per socket
socket-tracing-enabled = yes
mem-uc-error-threshold = 100 / 24h
mem-ce-error-trigger = socket-memory-error-trigger
mem-ce-error-threshold = 100 / 24h
mem-ce-error-log = yes
[cache]
# Attempt to off-line CPUs causing cache errors
cache-threshold-trigger = cache-error-trigger
cache-threshold-log = yes
[page]
# Try to soft-offline a 4K page if it exceeds the threshold
memory-ce-threshold = 10 / 24h
memory-ce-trigger = page-error-trigger
memory-ce-log = yes
memory-ce-action = soft
[trigger]
# Maximum number of running triggers
children-max = 2
directory = /etc/mcelog/triggers

79
mcelog.spec Normal file
View File

@ -0,0 +1,79 @@
%define last_tar_version 168
%define mce_inject_ver 2013.01.19
%define aer_inject_ver 2010.03.10
Name: mcelog
Version: 168
Release: 1
Epoch: 3
Summary: Linux kernel machine check handling middleware
License: GPLv2
URL: https://github.com/andikleen/mcelog
Source0: v%{last_tar_version}.tar.gz
Source1: mce-inject-%{mce_inject_ver}.tar.bz2
Source2: aer-inject-%{aer_inject_ver}.tar.bz2
Source3: mcelog.conf
ExclusiveArch: i686 x86_64
BuildRequires: bison flex systemd
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description
mcelog logs and accounts machine checks (in particular memory, IO, and
CPU hardware errors) on modern x86 Linux systems.
mce-inject allows to inject machine check errors on the software level
into a running Linux kernel. This is intended for validation of the
kernel machine check handler.
aer-inject allows to inject PCIE AER errors on the software level into
a running Linux kernel. This is intended for validation of the PCIE
driver error recovery handler and PCIE AER core handler.
%prep
%setup -q -n %{name}-%{last_tar_version} -a 1 -a 2
%build
make CFLAGS="$RPM_OPT_FLAGS -Wl,-z,relro,-z,now -fpie" LDFLAGS="-Wl,-z,relro,-z,now -fpie -pie"
make CFLAGS="$RPM_OPT_FLAGS -g" -C mce-inject-%{mce_inject_ver}
make CFLAGS="$RPM_OPT_FLAGS -g -D_GNU_SOURCE" -C aer-inject-%{aer_inject_ver}
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/triggers
DESTDIR=$RPM_BUILD_ROOT make install
# Replace mcelog.conf in mcelog tarball
install -p -m644 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/mcelog.conf
mv $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/*-trigger $RPM_BUILD_ROOT/%{_sysconfdir}/mcelog/triggers
install -p -m644 mcelog.service $RPM_BUILD_ROOT%{_unitdir}/mcelog.service
destdir=$RPM_BUILD_ROOT make -C mce-inject-%{mce_inject_ver} install
install -p -m755 aer-inject-%{aer_inject_ver}/aer-inject $RPM_BUILD_ROOT/%{_sbindir}/aer-inject
%clean
rm -rf $RPM_BUILD_ROOT
%post
%systemd_post mcelog.service
%preun
%systemd_preun mcelog.service
%postun
%systemd_postun_with_restart mcelog.service
%files
%doc README.md
%license LICENSE
%{_sbindir}/mce-inject
%{_sbindir}/aer-inject
%{_sbindir}/mcelog
%dir %{_sysconfdir}/mcelog
%{_sysconfdir}/mcelog/triggers
%config(noreplace) %{_sysconfdir}/mcelog/mcelog.conf
%{_unitdir}/mcelog.service
%attr(0644,root,root) %{_mandir}/*/*
%changelog
* Thu Feb 27 2020 openEuler Buildteam <buildteam@openeuler.org> - 168-1
- Package init

BIN
v168.tar.gz Normal file

Binary file not shown.