红联Linux门户
Linux帮助

控制Linux kernel启动console的打印级别

发布时间:2016-05-21 09:54:06来源:linux网站作者:中下游国外我

注:代码来自内核版本2.6.36
在Build kernel时,在CONFIG_CMDLINE宏中设定级别:
CONFIG_CMDLINE="debug|quiet|loglevel=5",这个宏会在kernel启动时作为默认配置参数。
debug表示loglevel=10
quiet表示loglevel=4
loglevel=5表示loglevel=5


处理log级别的代码如下(见内核代码init/main.c)

235 /* 
236  * This should be approx 2 Bo*oMips to start (note initial shift), and will 
237  * still work even if initially too large, it will just take slightly longer 
238  */ 
239 unsigned long loops_per_jiffy = (1<<12); 
240  
241 EXPORT_SYMBOL(loops_per_jiffy); 
242  
243 static int __init debug_kernel(char *str) 
244 { 
245 console_loglevel = 10; 
246 return 0; 
247 } 
248  
249 static int __init quiet_kernel(char *str) 
250 { 
251 console_loglevel = 4; 
252 return 0; 
253 } 
254  
255 early_param("debug", debug_kernel); 
256 early_param("quiet", quiet_kernel); 
257  
258 static int __init loglevel(char *str) 
259 { 
260 get_option(&str, &console_loglevel); 
261 return 0; 
262 } 
263  
264 early_param("loglevel", loglevel); 


注意:在系统启动时,可以从bootloader中将CONFIG_CMDLINE参数传递给kernel。


本文永久更新地址:http://www.linuxdiyf.com/linux/20813.html