Re: [tip:x86/doc] x86/doc: mini-howto for using earlyprintk=dbgp

From: Daniel Walker
Date: Thu Mar 05 2009 - 10:36:18 EST


On Thu, 2009-03-05 at 10:00 +0000, Yinghai Lu wrote:

> +
> +Mini-HOWTO for using the earlyprintk=dbgp boot option with a
> +USB2 Debug port key and a debug cable, on x86 systems.
> +
> +You need two computers, the 'USB debug key' special gadget and
> +and two USB cables, connected like this:
> +
> + [host/target] <-------> [USB debug key] <-------> [client/console]
> +
> +1. There are three specific hardware requirements:
> +
> + a.) Host/target system needs to have USB debug port capability.
> +
> + You can check this capability by looking at a 'Debug port' bit in
> + the lspci -vvv output:

...

> + c.) Thirdly, you need a second client/console system with a regular USB port.

You might want to combine a.) and c.) since there is some disconnect
between the two. c.) doesn't explicitly say a second time that the
client/console needs the debug port capability ..

Or say

a.) You will need two USB ports. One on the client/console system and
one one the target system.

b.) The client/console and target USB ports must have the debug port
capability. You can check for this as follows,

c.) ...

I just felt the disconnect between the two a.) , and c.) left some
questions.

> +2. Software requirements:
> +
> + a.) On the host/target system:
> +
> + You need to enable the following kernel config option:
> +
> + CONFIG_EARLY_PRINTK_DBGP=y
> +
> + And you need to add the boot command line: "earlyprintk=dbgp".
> + (If you are using Grub, append it to the 'kernel' line in
> + /etc/grub.conf)

Isn't the usual grub.conf in /boot/grub/grub.conf ? That's where mine
always seem to end up.

> + NOTE: normally earlyprintk console gets turned off once the
> + regular console is alive - use "earlyprintk=dbgp,keep" to keep
> + this channel open beyond early bootup. This can be useful for
> + debugging crashes under Xorg, etc.
> +
> + b.) On the client/console system:
> +
> + You should enable the following kernel config option:
> +
> + CONFIG_USB_SERIAL_DEBUG=y
> +
> + On the next bootup with the modified kernel you should
> + get a /dev/ttyUSBx device(s).
> +
> + Now this channel of kernel messages is ready to be used: start
> + your favorite terminal emulator (minicom, etc.) and set
> + it up to use /dev/ttyUSB0 - or use a raw 'cat /dev/ttyUSBx' to
> + see the raw output.

You might want to switch the first /dev/ttyUSB0 to /dev/ttyUSBx .

> + c.) On Nvidia Southbridge based systems: the kernel will try to probe
> + and find out which port has debug device connected.
> +
> +3. Testing that it works fine:
> +
> + You can test the output by using earlyprintk=dbgp,keep and provoking
> + kernel messages on the host/target system. You can provoke a harmless
> + kernel message by for example doing:
> +
> + echo h > /proc/sysrq-trigger
> +
> + On the host/target system you should see this help line in "dmesg" output:
> +
> + SysRq : HELP : loglevel(0-9) reBoot Crashdump terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z)
> +
> + On the client/console system do:
> +
> + cat /dev/ttyUSB0

Missing "x" here too.

Seems like a nice document. Thanks for writing it.

Daniel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/