理解linux内核中的异常

理解linux内核中的异常,linux,exception,linux-kernel,embedded,Linux,Exception,Linux Kernel,Embedded,我试图在非常低的温度下调试我们的嵌入式linux系统( 所有OOPS/panic信息都显示异常发生在udevd上下文中,我认为它可能是由“/sbin/modprobe-bv of:niocttcfsl,mpc5125 ioctl”触发的。 要验证这一点,可以删除根文件系统中的“/sbin/modprobe-bv of:niocttcfsl,mpc5125 ioctl”条目,以查看系统是否可以成功启动 我猜您的平台CPU是PowerPC架构。如果是,异常向量是0x700,这意味着指令获取异常。CP

我试图在非常低的温度下调试我们的嵌入式linux系统(
  • 所有OOPS/panic信息都显示异常发生在udevd上下文中,我认为它可能是由“/sbin/modprobe-bv of:niocttcfsl,mpc5125 ioctl”触发的。 要验证这一点,可以删除根文件系统中的“/sbin/modprobe-bv of:niocttcfsl,mpc5125 ioctl”条目,以查看系统是否可以成功启动

  • 我猜您的平台CPU是PowerPC架构。如果是,异常向量是0x700,这意味着指令获取异常。CPU试图从无效地址获取一条指令。如果没有跳转/分支指令,则指令流将递增。如果验证选项1,则它与“/sbin/modprobe”相关,请检查内核模块以分析指令获取异常


  • 祝你好运!

    /opt/elinos-5.1/linux/linux-ppc-2.6.34/drivers/rtc/hctosys.c:无法打开rtc设备(rtc0)我认为问题在于此!rtc(实时时钟驱动程序)工作不正常,可能是低温影响了它的行为?
    can: controller area network core (rev 20090105 abi 8)
    NET: Registered protocol family 29
    can: raw protocol (rev 20090105)
    /opt/elinos-5.1/linux/linux-ppc-2.6.34/drivers/rtc/hctosys.c: unable to open rtc
     device (rtc0)
    ADDRCONF(NETDEV_UP): eth0: link is not ready
    IP-Config: Complete:
         device=eth0, addr=192.168.100.100, mask=255.255.255.0, gw=255.255.255.255,
         host=192.168.100.100, domain=, nis-domain=(none),
         bootserver=192.168.100.20, rootserver=192.168.100.20, rootpath=
    Freeing unused kernel memory: 156k init
    init started: BusyBox v1.6.1 (2013-06-03 11:53:03 CEST) multi-call binary
    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    udevd-work[84]: '/sbin/modprobe -bv of:NioctlT<NULL>Cfsl,mpc5125-ioctl' unexpect
    ed exit with status 0x000b
    
    ------------[ cut here ]------------
    Badness at /opt/elinos-5.1/linux/linux-ppc-2.6.34/kernel/sched.c:3574
    NIP: c001acfc LR: c001ace4 CTR: c01c5fa4
    REGS: c790f7c0 TRAP: 0700   Not tainted  (2.6.34.7-ELinOS-146-ipipe)
    MSR: 00021032 <ME,CE,IR,DR>  CR: 28000482  XER: 20000000
    TASK = c3ba6cb0[71] 'udevd' THREAD: c78e0000
    GPR00: 00000000 c790f870 c3ba6cb0 00000001 c790f8b8 00000008 00000000 00000000
    GPR08: 00000000 c0370000 00000001 c0370000 5d0fabd2 10033420 10019a6c 00000000
    GPR16: 10019328 100194d4 100194c0 1002bad0 10019328 10019474 bfa35428 100192fc
    GPR24: 100321f0 00000000 00000000 c649e840 00000000 00000901 00000000 00000000
    NIP [c001acfc] add_preempt_count+0x48/0xac
    LR [c001ace4] add_preempt_count+0x30/0xac
    Call Trace:
    Instruction dump:
    409e0038 54290024 8009000c 2f800000 40bc0028 48133285 2f830000 419e0068
    3d20c037 8009d298 2f800000 409e0058 <0fe00000> 48000050 3d20c037 8009d130
    Unable to handle kernel paging request for instruction fetch
    Faulting instruction address: 0x00000000
    Oops: Kernel access of bad area, sig: 11 [#1]
    PREEMPT LTT NESTING LEVEL : 0
    ORION
    last sysfs file: /sys/devices/platform/gpio-keys-polled/input/input0/uevent
    NIP: 00000000 LR: 00000000 CTR: c01c7778
    REGS: c790f990 TRAP: 0400   Tainted: G        W   (2.6.34.7-ELinOS-146-ipipe)
    MSR: 20009032 <EE,ME,IR,DR>  CR: 28000484  XER: 20000000
    TASK = c3ba6cb0[71] 'udevd' THREAD: c78e0000
    GPR00: 00000000 c790fa40 c3ba6cb0 00000008 00000008 00000008 c7912804 c0348ba4
    GPR08: 00000047 c78a5414 00000000 00000004 28000482 10033420 10019a6c 00000000
    GPR16: 10019328 100194d4 100194c0 1002bad0 10019328 10019474 bfa35428 100192fc
    GPR24: 100321f0 00000000 c790f618 00200200 00000000 c790fa34 00200200 00000000
    NIP [00000000] (null)
    LR [00000000] (null)
    Call Trace:
    Instruction dump:
    XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
    XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
    Kernel panic - not syncing: Fatal exception in interrupt
    Call Trace:
    Rebooting in 180 seconds..
    INFO: RCU detected CPU 0 stall (t=2500 jiffies)
    INFO: RCU detected CPU 0 stall (t=10000 jiffies)
    INFO: RCU detected CPU 0 stall (t=17500 jiffies)
    INFO: RCU detected CPU 0 stall (t=25000 jiffies)
    INFO: RCU detected CPU 0 stall (t=32500 jiffies)
    INFO: RCU detected CPU 0 stall (t=40000 jiffies)
    System Halted, OK to turn off power
    ------------[ cut here ]------------
    kernel BUG at /opt/elinos-5.1/linux/linux-ppc-2.6.34/mm/vmalloc.c:1228!
    Oops: Exception in kernel mode, sig: 5 [#2]
    PREEMPT LTT NESTING LEVEL : 0
    ORION
    last sysfs file: /sys/devices/platform/gpio-keys-polled/input/input0/uevent
    NIP: c009b0cc LR: c0013518 CTR: 00000000
    REGS: c790f7c0 TRAP: 0700   Tainted: G      D W   (2.6.34.7-ELinOS-146-ipipe)
    MSR: 00029032 <EE,ME,CE,IR,DR>  CR: 28000484  XER: 20000000
    TASK = c3ba6cb0[71] 'udevd' THREAD: c78e0000
    GPR00: 078fe000 c790f870 c3ba6cb0 00001000 00000001 00000001 c9000000 fddff000
    GPR08: ffffffff 000000d0 c001018c c790e000 48000488 10033420 10019a6c 00000000
    GPR16: 10019328 100194d4 100194c0 1002bad0 10019328 10019474 bfa35428 100192fc
    GPR24: c001018c 000000d0 00001000 ffffffff c9000000 fddff000 00000001 00000001
    NIP [c009b0cc] __get_vm_area_node+0x68/0x204
    LR [c0013518] __ioremap_caller+0x90/0x134
    Call Trace:
    Instruction dump:
    7c9e2378 93e1003c 7cbf2b78 90010044 9261000c 92810010 92a10014 92c10018
    92e1001c 93410028 800b000c 5400016e <0f000000> 70a00001 41820030 7c7e0034
    Kernel panic - not syncing: Fatal exception in interrupt
    Call Trace:
    Rebooting in 180 seconds..: