initscripts: add dmesg file to /var/log

We should create the /var/log/dmesg.log file as a default.
If we don't then a later kernel error can flush the dmesg
ring buffer, losing valuable debug information.

(From OE-Core rev: faa8cc6c2a582a32c695f3f2b0d45b6892c769fd)

Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jackie Huang 2013-07-04 18:06:21 +08:00 committed by Richard Purdie
parent 5b4494950d
commit 89a8dcc9e8
3 changed files with 33 additions and 2 deletions

View File

@ -0,0 +1,17 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: dmesg
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop:
### END INIT INFO
if [ -f /var/log/dmesg ]; then
if [ -f /usr/sbin/logrotate ]; then
logrotate -f /etc/logrotate-dmesg.conf
else
mv -f /var/log/dmesg /var/log/dmesg.old
fi
fi
dmesg -s 131072 > /var/log/dmesg

View File

@ -0,0 +1,9 @@
# see "man logrotate" for details
# rotate dmesg, and keep 5 versions.
/var/log/dmesg {
create
rotate 5
nodateext
}

View File

@ -3,7 +3,7 @@ DESCRIPTION = "Initscripts provide the basic system startup initialization scrip
SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
PR = "r140"
PR = "r141"
INHIBIT_DEFAULT_DEPS = "1"
@ -31,7 +31,10 @@ SRC_URI = "file://functions \
file://read-only-rootfs-hook.sh \
file://volatiles \
file://save-rtc.sh \
file://GPLv2.patch"
file://GPLv2.patch \
file://dmesg.sh \
file://logrotate-dmesg.conf \
"
SRC_URI_append_arm = " file://alignment.sh"
@ -89,6 +92,8 @@ do_install () {
install -m 0755 ${WORKDIR}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/save-rtc.sh ${D}${sysconfdir}/init.d
install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/00_core
install -m 0755 ${WORKDIR}/dmesg.sh ${D}${sysconfdir}/init.d
install -m 0644 ${WORKDIR}/logrotate-dmesg.conf ${D}${sysconfdir}/
if [ "${TARGET_ARCH}" = "arm" ]; then
install -m 0755 ${WORKDIR}/alignment.sh ${D}${sysconfdir}/init.d