免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 冬天的落阳

【已解决】内核启动时PRINTK始终不能打印的诡异问题 [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2012-04-27 15:05 |显示全部楼层
回复 9# platinum
直接加分以示鼓励!


   

论坛徽章:
2
CU十二周年纪念徽章
日期:2013-10-24 15:41:34处女座
日期:2013-12-27 22:22:41
发表于 2012-04-27 15:44 |显示全部楼层
嵌入式这种严重需要配置的环境下LZ用allnoconfig还想跑起来…………

论坛徽章:
0
发表于 2012-04-27 22:46 |显示全部楼层
回复 1# 冬天的落阳
做了很多尝试,采用查看物理内存中printk缓冲区(__log_buf)物理地址的方法,分析缓冲区里的启动数据,发现内核一直走到VFS: Unable to mount root fs on unknown-block(0,0).....这句,也就是说,内核部分的启动基本是正常的。
=========================================================
lz这个是通过什么查看的???

   

论坛徽章:
0
发表于 2012-04-27 22:49 |显示全部楼层
你运气真好,我刚好在线。

大致流程是:查看System.map,得到__log_buf的虚拟地址,再通过物理内存起始地址算出__log_buf的物理地址。简单计算,不复杂。

google搜:查看 printk __log_buf ,有详细解答。

论坛徽章:
0
发表于 2012-04-27 22:50 |显示全部楼层
另谢版主评分lol

论坛徽章:
0
发表于 2012-04-27 23:00 |显示全部楼层
回复 14# 冬天的落阳


    谢谢这么快就回复了。呵呵,我还想知道你是如何读出这个地址的内存信息的。通过调试器吗?

论坛徽章:
0
发表于 2012-04-27 23:02 |显示全部楼层
本帖最后由 冬天的落阳 于 2012-04-27 23:04 编辑

帖子里有交代,我用的是vivi
vivi有个命令,查看物理内存
dump start_addr  size

内核挂了以后,按reset重启,内存中的信息还在。

你只要google,这些信息都立马可以看到。

睡觉了,bye

论坛徽章:
0
发表于 2012-04-27 23:10 |显示全部楼层
回复 17# 冬天的落阳
reset后ddr信息不会复位??这个是凑巧,还是确认不会丢失,还是特定平台不同。

如果确认ddr信息不会丢失这个就好办了,但貌似不全是这样吧,ddr需要不断刷新,reset后,数据会丢失。




   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP