early_printk函数
2016-01-06 15:12
183 查看
分析Linux内核启动流程时可以知道,在调用setup_arch函数之前就已经调用过printk函数了,但是这个时候的printk函数只是将打印信息放在缓存区中,并没有打印到控制台上,因为这个时候控制台还没有被初始化。
只有在start_kernel函数中的console_init函数被调用后,控制台才会被注册、初始化,printk函数打印的内容才会被真正地输出到屏幕上。如果想在console_init函数之前打印信息,需要调用early_printk函数。
下面是此函数的用法:
1. 配置内核
(1)Kernel hacking ---> Kernel low-level debugging functions --> Early printk
(2)在boot option中添加 earlyprintk项。类似于:Linux-CommandLine = root=/dev/mmcblk0p1 rootfstype=ext4 console=ttySAC0,115200 init=/linuxrc ctp=2 skipcali=y ethmac=1C:6F:65:34:51:7E earlyprintk
(不传参数也能打印?)
2. 在需要打印调试信息的地方调用此函数
early_printk("------------xxx------------\n");
early_printk("------------xxx = %d------------\n", xxx);
只有在start_kernel函数中的console_init函数被调用后,控制台才会被注册、初始化,printk函数打印的内容才会被真正地输出到屏幕上。如果想在console_init函数之前打印信息,需要调用early_printk函数。
下面是此函数的用法:
1. 配置内核
(1)Kernel hacking ---> Kernel low-level debugging functions --> Early printk
(2)在boot option中添加 earlyprintk项。类似于:Linux-CommandLine = root=/dev/mmcblk0p1 rootfstype=ext4 console=ttySAC0,115200 init=/linuxrc ctp=2 skipcali=y ethmac=1C:6F:65:34:51:7E earlyprintk
(不传参数也能打印?)
2. 在需要打印调试信息的地方调用此函数
early_printk("------------xxx------------\n");
early_printk("------------xxx = %d------------\n", xxx);
相关文章推荐
- 基于三星I9250演示自己弄的Miracast功能-手机对手机
- hive怎样处理多分隔符数据
- T-SQL数组循环
- sql server总exists的性能好于in
- Android编程之线性布局LinearLayout实例简析
- 博客搬家
- VMware Workstation for Windows 8.0以上系列版本下载
- k最近邻(KNN)——实践
- Spring学习总结(6)——Spring之核心容器bean
- (十一) HTTP/2的其它要求和注意事项
- 纯CSS+HTML自定义checkbox效果[转]
- iOS 火星坐标相关整理及解决方案汇总
- 关于UITableView的性能优化(历上最全面的优化分析) ...
- Smack+Spark+Openfire集成环境IM开发
- 组合数与排列二叉树
- spring从文件系统载入配置文件
- Centos 安装Java配置环境变量
- IMG元素加载行为详解
- 面试题41:两个链表的第一个公共结点
- tnsping orcl;lsnrctl status