龙芯开源社区

 找回密码
 注册新用户(newuser)
查看: 3366|回复: 1

linux启动过程中死机(广州龙芯1B开发板,内核为1b-linux-3.0-d8b47bb)

[复制链接]
发表于 2013-9-9 14:28:56 | 显示全部楼层 |阅读模式
请高手指导!
先是用printk加打印,一路跟踪到do_initcalls()这里。刚开始有时候死机,有时候不死;现在必死并且位置都是固定的。
然后在函数do_initcalls()中打开调试开关initcall_debug。然后就会把do_one_initcall()的详细信息打印出来。
static void __init do_initcalls(void)
{
        initcall_t *fn;

        initcall_debug = 1;
        printk(KERN_NOTICE "initcall_debug = 1\n");

        for (fn = __early_initcall_end; fn < __initcall_end; fn++)
                do_one_initcall(*fn);
}
目前有两个死机位置,串口打印如下
死机位置一
initcall populate_rootfs+0x0/0x294 returned 0 after 1277178 usecs
calling  mipsdha_proc_init+0x0/0x74 @ 1
initcall mipsdha_proc_init+0x0/0x74 returned 0 after 74 usecs
calling  proc_execdomains_init+0x0/0x38 @ 1
initcall proc_execdomains_init+0x0/0x38 returned 0 after 69 usecs
calling  ioresources_init+0x0/0x58 @ 1
initcall ioresources_init+0x0/0x58 returned 0 after 102 usecs
calling  uid_cache_init+0x0/0xa4 @ 1
initcall uid_cache_init+0x0/0xa4 returned 0 after 58 usecs
calling  init_posix_timers+0x0/0x294 @ 1
initcall init_posix_timers+0x0/0x294 returned 0 after 163 usecs
calling  init_posix_cpu_timers+0x0/0xec @ 1
initcall init_posix_cpu_timers+0x0/0xec returned 0 after 11 usecs
calling  nsproxy_cache_init+0x0/0x3c @ 1
initcall nsproxy_cache_init+0x0/0x3c returned 0 after 49 usecs
calling  timekeeping_init_ops+0x0/0x24 @ 1
initcall timekeeping_init_ops+0x0/0x24 returned 0 after 9 usecs
calling  init_clocksource_sysfs+0x0/0x7c @ 1

死机位置二
calling  clocksource_done_booting+0x0/0x68 @ 1
Switching to clocksource MIPS
initcall clocksource_done_booting+0x0/0x68 returned 0 after 16 usecs
Switched to NOHz mode on CPU #0
calling  init_pipe_fs+0x0/0x78 @ 1
initcall init_pipe_fs+0x0/0x78 returned 0 after 324 usecs
calling  anon_inode_init+0x0/0x15c @ 1
initcall anon_inode_init+0x0/0x15c returned 0 after 272 usecs
calling  blk_scsi_ioctl_init+0x0/0x19c @ 1
initcall blk_scsi_ioctl_init+0x0/0x19c returned 0 after 7 usecs
calling  chr_dev_init+0x0/0x13c @ 1
initcall chr_dev_init+0x0/0x13c returned 0 after 150928 usecs
calling  firmware_class_init+0x0/0x14 @ 1
initcall firmware_class_init+0x0/0x14 returned 0 after 1461 usecs
calling  populate_rootfs+0x0/0x294 @ 1
populate_rootfs: before unpack_to_rootfs()
unpack_to_rootfs: entrace. len=6054912
unpack_to_rootfs: allocate sucess.
unpack_to_rootfs: len=6054912
unpack_to_rootfs: len=6054796
unpack_to_rootfs: len=6054664
unpack_to_rootfs: len=6054548
unpack_to_rootfs: len=6054428
unpack_to_rootfs: len=6053784
unpack_to_rootfs: len=6053328
unpack_to_rootfs: len=6052588
unpack_to_rootfs: len=6052152
unpack_to_rootfs: len=6052036
直到解压到
unpack_to_rootfs: len=2569928
就没有任何打印,每次都是这里。
 楼主| 发表于 2013-9-10 16:39:33 | 显示全部楼层
出现这个问题的原因应该是根文件系统ramdisk太大,导致vmlinux太大,造成的。
根文件系统改为nfs后,不存在这个问题了。

本版积分规则

Archiver|手机版|小黑屋|Lemote Inc.

GMT+8, 2020-12-5 17:15 , Processed in 0.125122 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表