linux-2.6 kernel TIPS for me (1)
会社でも自宅でも、実験・研究できるように
sourceforge.jp にsourceを置いた。便利便利。
http://sourceforge.jp/projects/armadillo-ux/wiki/FrontPage
さて、kernel porting していて boot 時の console にいくつかのprintk()が表示されていないことに気づいた。
printk(KERN_DEBUG "Probing IDE interface %s...\n", hwif->name);
これとか。
原因は、console_loglevel っつうものがあって、KERN_DEBUG はデフォルトの閾値以下なので
consoleにはでてこないということのようだ。(そういうcodeだった)
システム全体が起動済みなら terminal console から
$ dmesg -n 10
すれば変更できるようだが、kernel起動中は当然変更できない。
ではどうするか?
sourceを読んだところ、
kernel 起動 commandline parameter に"debug" と書き足すだけでよい。
${linux-src}/init/main.c:
> |
static int __init debug_kernel(char *str)
{
console_loglevel = 10;
return 0;
}