[ x"$verbose" = x"-v -v" ] && msg "$*" >&3
}
+# 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:-6}
+ echo "echo '<$level>$msg' > /dev/kmsg" | add_linuxrc
+}
+
# aborts program abnormally
die() {
local rc=${2:-1}
echo "Last 20 lines of dmesg:"
dmesg | tail -n 20
fi
+
EOF
+ kmsg "geninitrd/$VERSION switching root"
+
umount_all
busybox_applet switch_root usleep
add_linuxrc <<-'EOF'
mknod -m 666 "$DESTDIR/dev/zero" c 1 5
mknod -m 666 "$DESTDIR/dev/random" c 1 8
mknod -m 666 "$DESTDIR/dev/urandom" c 1 9
+mknod -m 644 "$DESTDIR/dev/kmsg" c 1 11
inst_exec $busybox /bin/busybox
ln -s busybox $DESTDIR/bin/sh
EOF
mount_proc
+
+kmsg "geninitrd/$VERSION starting"
+
add_linuxrc <<-EOF
# builtin defaults from geninitrd
ROOT=$rootdev