From caec3c4068c64ed01aa1531a6192c425e6687d40 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Fri, 28 Mar 2014 00:56:00 +0200 Subject: [PATCH 1/1] log to kmsg, as syslog is not available early to notice the errors --- firmware-loader.sh | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/firmware-loader.sh b/firmware-loader.sh index 0e0a74cb..82232a8d 100755 --- a/firmware-loader.sh +++ b/firmware-loader.sh @@ -1,11 +1,31 @@ -#!/bin/sh -e +#!/bin/sh +set -e FIRMWARE_DIRS="/lib/firmware/updates/$(uname -r) /lib/firmware/updates \ /lib/firmware/$(uname -r) /lib/firmware" +# add initrd code to print to kmsg +# @param string message +# @param int loglevel. defaults to "6" (info) +# Log levels can be: +# Name String Meaning +# KERN_EMERG "0" Emergency messages, system is about to crash or is unstable +# KERN_ALERT "1" Something bad happened and action must be taken immediately +# KERN_CRIT "2" A critical condition occurred like a serious hardware/software failure +# KERN_ERR "3" An error condition, often used by drivers to indicate difficulties with the hardware +# KERN_WARNING "4" A warning, meaning nothing serious by itself but might indicate problems +# KERN_NOTICE "5" Nothing serious, but notably nevertheless. Often used to report security events. +# KERN_INFO "6" Informational message e.g. startup information at driver initialization +# KERN_DEBUG "7" Debug messages +# KERN_CONT "c" "continued" line of log printout (only done after a line that had no enclosing \n) +kmsg() { + local msg="$1" level=${2:-3} + echo "<$level>$msg" > /dev/kmsg +} + err() { - echo "$@" >&2 - logger -t "${0##*/}[$$]" "$@" 2>/dev/null || true + echo >&2 "$*" + kmsg "${0##*/}[$$] $*" } if [ ! -e /sys$DEVPATH/loading ]; then -- 2.44.0