[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#764745: linux: ppc64el: disable CONFIG_CMDLINE{,_BOOT}



Package: src:linux
Version: 3.16.3-2
Tags: patch
User: debian-powerpc@lists.debian.org
Usertags: ppc64el

Hi maintainers,

The patch attached disables CONFIG_CMDLINE_BOOT on ppc64el, diverging
from the ppc64 config.

It renders the console useless / unresponsive after kernel boots.

The problem is the CONFIG_CMDLINE value in ppc64 (specifically
console=tty0) is incorrect for ppc64el platforms (pseries, powernv).

This happens only when no kernel parameters are used, as that default
cmdline is used.  It's unlikely (the reason this came up just now),
but it's easily hit on netboot installer, when there's usually no
kernel parameters (at least on a first try). The CDs are unaffected:
all boot with 'BOOT_IMAGE=/install/vmlinux -- quiet'.

Either way, as the CONFIG_CMDLINE value has only been used to specify
console devices, and the kernel autodetects/enables those correctly
on ppc64el platforms, it's OK to disable CONFIG_CMDLINE boot on ppc64el.

May you please consider it for an upload?
(patches provided for jessie/sid & experimental)


Additional info:
----------------

The ppc64 config remains identical w/ this change:

- current package:
$ ar -p linux-image-3.16-2-powerpc64_3.16.3-2_ppc64.deb data.tar.xz | tar xJ -O ./boot/config-3.16-2-powerpc64 | grep CMDLINE
	# CONFIG_BLK_CMDLINE_PARSER is not set
	# CONFIG_CMDLINE_PARTITION is not set
	CONFIG_CMDLINE_BOOL=y
	CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
	# CONFIG_CMDLINE_FORCE is not set

- this build:
	$ grep CMDLINE debian/build/build_ppc64_none_powerpc64/.config
	# CONFIG_BLK_CMDLINE_PARSER is not set
	# CONFIG_CMDLINE_PARTITION is not set
	CONFIG_CMDLINE_BOOL=y
	CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
	# CONFIG_CMDLINE_FORCE is not set


Console devices autodetected correctly:

- guest (pseries)

	~ # dmesg | grep command
	[    0.000000] Kernel command line:
	~ # dmesg | grep console
	[    0.000000] bootconsole [udbg0] enabled
	[    0.001535] console [hvc0] enabled
	[    0.001981] bootconsole [udbg0] disabled

- non-virtualized (powernv)

	~ # dmesg | grep command
	[    0.000000] Kernel command line:
	~ # dmesg | grep console
	[    0.000000] bootconsole [udbg0] enabled
	[    0.004514] console [hvc0] enabled
	[    0.005631] bootconsole [udbg0] disabled
[ 1.498333] hvc0: raw protocol on /ibm,opal/consoles/serial@0 (boot console)
	[    1.499063] hvc1: hvsi protocol on /ibm,opal/consoles/serial@1



--
Mauricio Faria de Oliveira
IBM Linux Technology Center
diff -Nru linux-3.16.3/debian/changelog linux-3.16.3/debian/changelog
--- linux-3.16.3/debian/changelog	2014-09-20 06:43:41.000000000 -0300
+++ linux-3.16.3/debian/changelog	2014-10-10 13:36:47.000000000 -0300
@@ -1,3 +1,14 @@
+linux (3.17~rc5-1~exp1ppc64el1) UNRELEASED; urgency=medium
+
+  * [ppc64el] Disable CONFIG_CMDLINE{,_BOOL} usage for setting consoles:
+    - The value of ppc64 is incorrect for ppc64el (specifically, console=tty0),
+      rendering the console useless (blank and unresponsive) if no kernel parameters
+      are specified (e.g., debian-installer netboot).
+    - It's not needed currently: the kernel correctly autodetects the console
+      on ppc64el platforms (hvc0 on pseries, hvc0 and hvc1 on powernv).
+
+ -- Mauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>  Fri, 10 Oct 2014 13:10:00 -0300
+
 linux (3.17~rc5-1~exp1) experimental; urgency=medium
 
   * New upstream release candidate
diff -Nru linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64 linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64
--- linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64	2014-09-16 15:31:23.000000000 -0300
+++ linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64	2014-10-10 13:09:39.000000000 -0300
@@ -9,7 +9,6 @@
 CONFIG_PPC_64K_PAGES=y
 ## end choice
 CONFIG_SCHED_SMT=y
-CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
 CONFIG_KERNEL_START=0xc000000000000000
 
 ##
diff -Nru linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-be linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-be
--- linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-be	2014-08-09 14:52:47.000000000 -0300
+++ linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-be	2014-10-10 13:09:38.000000000 -0300
@@ -1,4 +1,9 @@
 ##
+## file: arch/powerpc/Kconfig
+##
+CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
+
+##
 ## file: arch/powerpc/platforms/cell/Kconfig
 ##
 CONFIG_PPC_IBM_CELL_BLADE=y
diff -Nru linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-le linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-le
--- linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-le	2014-08-09 16:42:11.000000000 -0300
+++ linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-le	2014-10-10 13:09:37.000000000 -0300
@@ -1,4 +1,9 @@
 ##
+## file: arch/powerpc/Kconfig
+##
+# CONFIG_CMDLINE_BOOL is not set
+
+##
 ## file: arch/powerpc/platforms/Kconfig.cputype
 ##
 CONFIG_NR_CPUS=2048
diff -Nru linux-3.16.3/debian/changelog linux-3.16.3/debian/changelog
--- linux-3.16.3/debian/changelog	2014-09-20 06:43:41.000000000 -0300
+++ linux-3.16.3/debian/changelog	2014-10-10 13:36:47.000000000 -0300
@@ -1,3 +1,14 @@
+linux (3.16.3-2ppc64el1) UNRELEASED; urgency=medium
+
+  * [ppc64el] Disable CONFIG_CMDLINE{,_BOOL} usage for setting consoles:
+    - The value of ppc64 is incorrect for ppc64el (specifically, console=tty0),
+      rendering the console useless (blank and unresponsive) if no kernel parameters
+      are specified (e.g., debian-installer netboot).
+    - It's not needed currently: the kernel correctly autodetects the console
+      on ppc64el platforms (hvc0 on pseries, hvc0 and hvc1 on powernv).
+
+ -- Mauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>  Fri, 10 Oct 2014 13:10:00 -0300
+
 linux (3.16.3-2) unstable; urgency=medium
 
   [ Ben Hutchings ]
diff -Nru linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64 linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64
--- linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64	2014-09-16 15:31:23.000000000 -0300
+++ linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64	2014-10-10 13:09:39.000000000 -0300
@@ -9,7 +9,6 @@
 CONFIG_PPC_64K_PAGES=y
 ## end choice
 CONFIG_SCHED_SMT=y
-CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
 CONFIG_KERNEL_START=0xc000000000000000
 
 ##
diff -Nru linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-be linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-be
--- linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-be	2014-08-09 14:52:47.000000000 -0300
+++ linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-be	2014-10-10 13:09:38.000000000 -0300
@@ -1,4 +1,9 @@
 ##
+## file: arch/powerpc/Kconfig
+##
+CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
+
+##
 ## file: arch/powerpc/platforms/cell/Kconfig
 ##
 CONFIG_PPC_IBM_CELL_BLADE=y
diff -Nru linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-le linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-le
--- linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-le	2014-08-09 16:42:11.000000000 -0300
+++ linux-3.16.3/debian/config/kernelarch-powerpc/config-arch-64-le	2014-10-10 13:09:37.000000000 -0300
@@ -1,4 +1,9 @@
 ##
+## file: arch/powerpc/Kconfig
+##
+# CONFIG_CMDLINE_BOOL is not set
+
+##
 ## file: arch/powerpc/platforms/Kconfig.cputype
 ##
 CONFIG_NR_CPUS=2048

Reply to: