免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9563 | 回复: 17

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

论坛徽章:
0
发表于 2012-04-26 10:30 |显示全部楼层
本帖最后由 冬天的落阳 于 2012-04-26 12:03 编辑

我在编译linux3.3.1内核到一块arm9 s3c2410开发板上运行。bootloader为vivi。
为了精简内核,我开始采用了make allnoconfig,接着再做进一步配置。

编译基本顺利,可是启动时,在Uncompressing Linux... done, booting the kernel.之后,再也没有消息。

下面是诡异的地方:
我在网上查资料,做了很多尝试,采用查看物理内存中printk缓冲区(__log_buf)物理地址的方法,分析缓冲区里的启动数据,发现内核一直走到VFS: Unable to mount root fs on unknown-block(0,0).....这句,也就是说,内核部分的启动基本是正常的。

那为什么不打印呢?

接下来我依次从下面几个因素尝试,但均故障依旧。
1.console_loglevel 分别设置为1 4 7并逐次尝试;
2.不采用外界传来的内核参数,采用固定在内核中的启动命令,其中串口分别设置为 console=ttyS0 和console=ttyS0,115200并逐次尝试;
3.make menuconfig时,将printk有关的设置变为y,如下:
CONFIG_PRINTK=y
CONFIG_TTY_PRINTK=y
CONFIG_EARLY_PRINTK=y

特来请教高手,还有可能是哪里故障?

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2012-04-26 11:09 |显示全部楼层
回复 1# 冬天的落阳
console=ttyS0 和console=ttyS0,115200并逐次尝试;

这个应该有问题吧,这里应该是console=ttySAC0,这是我这边一个2410开发板的启动参数:
root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc noinitrd console=ttySAC0,115200

   

论坛徽章:
0
发表于 2012-04-26 11:12 |显示全部楼层
18个浏览了,给点建议吧。
我个人猜测,这样“大面积”的不打印,可能是有一个或几个和全局打印相关的标志FLAG没有设置,导致这种结果。

论坛徽章:
0
发表于 2012-04-26 11:16 |显示全部楼层
回复 1# 冬天的落阳


    接个lcd看啊。

    console=tty0

    谁知道你的串口驱动加号了没有啊!!

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
发表于 2012-04-26 11:24 |显示全部楼层
我记得boot the kernel是uboot打印的。你的内核设置有问题。
第一, 你是否在dev下mknod
第二, 你的寄存器地址、波特率等等设置是否正确

论坛徽章:
0
发表于 2012-04-26 11:37 |显示全部楼层
正在尝试。。。。ttySAC0
------------------
查到资料说,ttys0是2.4版本的内核支持的;而ttysac0是2.6.25支持的。我这个是3.3.1版本

论坛徽章:
0
发表于 2012-04-26 12:03 |显示全部楼层
泪奔啊,终于搞定了。
确如大家(尤其是书香)所说,串口问题。

我把内核启动参数改为ttySAC0,115200
还是没有打印。
同时,我看到一篇博客,http://hi.baidu.com/vivo01/blog/ ... 5de5272834f01b.html
上面说,此外还要以*的方式加载相关的字符驱动,我的是:Samsung SoC serial support,详情如下:

Symbol: SERIAL_SAMSUNG [=y]                                                                                       
  │ Type  : tristate                                                                                                   
  │ Prompt: Samsung SoC serial support                                                                                 
  │   Defined at drivers/tty/serial/Kconfig:180                                                                        
  │   Depends on: HAS_IOMEM [=y] && ARM [=y] && PLAT_SAMSUNG [=y]                                                      
  │   Location:                                                                                                         
  │     -> Device Drivers                                                                                               
  │       -> Character devices                                                                                          
  │         -> Serial drivers                                                                                          
  │   Selects: SERIAL_CORE [=y]


此问题算是解决了,回头我再琢磨琢磨。

回顾本帖,深刻暴露了自己基本功不扎实的弱点,需要继续努力。
最后谢谢大家!

评分

参与人数 1可用积分 +6 收起 理由
Godbach + 6 赞一个!

查看全部评分

论坛徽章:
0
发表于 2012-04-26 14:06 |显示全部楼层
本帖最后由 ww2000e 于 2012-04-26 14:07 编辑

:wink:

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

非常欣赏这种解决问题后,主动结贴,并将解决问题的方法与大家分享的做法!

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2012-04-27 14:43 |显示全部楼层
回复 7# 冬天的落阳
多谢回馈结果。

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP