免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1752 | 回复: 3
打印 上一主题 下一主题

[其他] [kdb]ubuntu下使用kdb console无输出,究竟是怎么回事? [复制链接]

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-04-02 11:24 |只看该作者 |倒序浏览
ubuntu版本: 14.04.1
内核版本: 3.13.0-36-generic

1. grub2启动过程中,选择recovery mode,增加break参数,停在(initramfs)的shell里面
    echo kbd > kgdboc (kgdbboc的模块参数)
    echo g > sysrq-trigger
    可以正常触发kdb,正常执行kdb命令,说明内核可以正常支持kdb

2. 退出break shell,继续recovery mode启动,选择root,drop to root shell
   执行同样的命令
   echo g 之后控制台就没有任何输出......
   但实际上,此时是可以“盲打”kdb命令的,输入go,可以退出kdb,然后看到刚才所有kdb命令的输出
  (如果通过console启动参数定义两个console:console=ttyS0 console=tty,盲打的时候可以在ttyS0的串口上看到输出)

3. 如果不选择recovery mode,正常启动,在文本界面下效果同2(X界面也是,跟是否使用kms没有关系)

那么问题来了,究竟是什么原因导致2的行为跟1不一样,ubuntu的启动过程中究竟做了什么?
recovey mode的启动过程中,consonle的分辨率发生过调整,字体也变化过,这会影响tty的输出吗?
难道中间有什么进程在截获tty的输出?(可是recovey模式下就只有recovery+shell两个进程了)

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
2 [报告]
发表于 2015-04-02 11:33 |只看该作者
补充,内核启动过程中闪屏时间点的日志显示,内核加载了drm模块。
不太了解,这有关系么?

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
3 [报告]
发表于 2015-04-02 12:18 |只看该作者
再补充一个现象,以console=tty console=ttyS0启动,
在非kdb模式下,两个console可以同时显示kernel的message,
但是进入kdb之后(kgdboc=ttyS0),只有串口有输出,tty没有,
等到go退出kdb之后,所有的kdb输出才在tty上呈现。

但是,与1楼一样,同样的配置,在break启动参数(initramfs)下,却是两个终端都有输出。

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
4 [报告]
发表于 2015-04-07 17:02 |只看该作者
更新:从console_driver的角度看已经输出到tty/console了,只是没有反映到屏幕上,感觉中间有一层buffer存在。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP