Using printk debugThere three method1. KERN_EMERG to KERN_DEBUG - pr_energe to pr_debug2. Change the kernel command line - loglevel = parameter We can refer Kernel/doc/kernel-parameters.txt3. Change the printk level after bootup - /proc/sys/kernel/printk ex: echo 8 > /proc/sys/kernel/printk
Then read /proc/kmsg
- /proc/sysrq-trigger You can modify the #DEFAULT_CONSOLE_LOGLEVEL 8
at kernel/prink source code
There are prink tips andd tricks1. CONFIG_PRINTK_TIME2. CONFIG_EARLY_PRINTK - CONFIG_DEBUG_LL and added some patch 3. CONFIG_LOG_BUF_SHIFT - you can use the dmesg to change the printk buffer "dmesg -s 128000" this mean we open 128k buffer
You can open the kernel configuration with #make menuconfig
kernel hacking --> <> show timming information as printks
<> debug filesystem
<> kernel low-level debugging function
There are two topic need to study
- debug system debug system at /sys/kernel/debug
You can mount it by mount -t debugfs none /sys/kernel/debug
Or write it in /etc/fstab
debugfs /sys/kernel/debug debugfs 0 0
- dynamic debug - CONFIG_DYNAMIC_DEBUG
- Operate on pr_debug or dev_dbg