Control: reopen -1 On Wed, Dec 9, 2015 at 12:39 PM, Ben Hutchings <b...@decadent.org.uk> wrote: > An initramfs built with MODULES=most (default) always includes > netconsole.ko (assuming it was enabled in the kernel configuration). > So > the netconsole parameter needs to work even if netconsole doesn't > appear in /conf/modules, and your v3 breaks that. So I applied your > v2. Thanks.
I find current v2 patch will sometimes fail because it load netconsole.ko before loading network driver. I made some changes based on patch v3, can confirmed various scenarios, including "MODULES=most" you mentioned. So here's patch v4. (also in my github repo's netconsole branch: https://github.com/rogers0/initramfs-tools/tree/netconsole) the fix already takes various cases into account: - MODULES=most (default) or MODULES={dep,list} (popular for embedded devices) - netconsole param may be inside conf/modules or come with bootloader's config for "MODULES=most" case , netconsole.ko is included by default, so there's no need to list it in conf/modules, and netconsole param should be put into bootloader's config for "MODULES={dep,list}" case, netconsole param can be either from conf/modules or bootloader, and the previous one is preferred if both are specified. Here're the cases I have tested, and configs are listed below, logs are also enclosed as attachment. CaseA (MODULES=list, netconsole param from bootloader, tested on an armel/orion5x device): - /etc/initramfs-tools/initramfs.conf: MODULES=list - /etc/initramfs-tools/modules: mv643xx_eth netconsole mvmdio sata_mv sd_mod raid1 jfs CaseB (MODULES=dep, netconsole param from bootloader, tested on an armel/orion5x device): - /etc/initramfs-tools/initramfs.conf: MODULES=dep - /etc/initramfs-tools/modules: mv643xx_eth netconsole mvmdio CaseC (MODULES=most, netconsole param from bootloader, tested on x86-64 device): -/etc/initramfs-tools/initramfs.conf: MODULES=most - /etc/initramfs-tools/modules: # empty Cheers, Roger
From 949aa33a0afd8bf576b72459bd1948c9fccf0705 Mon Sep 17 00:00:00 2001 From: Roger Shimizu <rogershim...@gmail.com> Date: Sat, 9 Jan 2016 07:16:09 +0900 Subject: [PATCH] support netconsole kernel param either from conf/modules or bootloader need to consider various cases: - MODULES=most (default) or MODULES={dep,list} (popular for embedded devices) - netconsole param may be inside conf/modules or come with bootloader's config for "MODULES=most" case , netconsole.ko is included by default, so there's no need to list it in conf/modules, and netconsole param should be put into bootloader's config for "MODULES={dep,list}" case, netconsole param can be either from conf/modules or bootloader, and the previous one is preferred if both are specified. Closes: #793786 Signed-off-by: Roger Shimizu <rogershim...@gmail.com> --- init | 3 ++- scripts/functions | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/init b/init index 60e76c3..05ff743 100755 --- a/init +++ b/init @@ -207,10 +207,11 @@ run_scripts /scripts/init-top maybe_break modules [ "$quiet" != "y" ] && log_begin_msg "Loading essential drivers" -[ -n "${netconsole}" ] && modprobe netconsole netconsole="${netconsole}" load_modules [ "$quiet" != "y" ] && log_end_msg +[ -n "${netconsole}" ] && modprobe netconsole netconsole="${netconsole}" + maybe_break premount [ "$quiet" != "y" ] && log_begin_msg "Running /scripts/init-premount" run_scripts /scripts/init-premount diff --git a/scripts/functions b/scripts/functions index 499a430..9c85a15 100644 --- a/scripts/functions +++ b/scripts/functions @@ -97,6 +97,13 @@ load_modules() if [ "$com" = "#" ]; then continue fi + if [ "x${m%%[[:space:]]*}" = "xnetconsole" ]; then + [ "x$debug" = "xy" -a -z "$netconsole" ] && exec >/dev/kmsg 2>&1 + if [ "$m" = "netconsole" -a -n "$netconsole" ]; then + modprobe netconsole netconsole="$netconsole" + continue + fi + fi modprobe $m done fi -- 2.7.0.rc3
netconsole_log.tar.gz
Description: GNU Zip compressed data