Sự cố khởi động lại Linux nhúng


0

Tôi đang làm việc với Linux 2.6.23 trên một thiết bị nhúng và đang nhận được lỗi sau khi thực hiện lệnh khởi động lại.

~ # reboot
~ # Syncing hardware clock to system time
hwclock: Could not access RTC: No such file or directory
Stopping inetd: 
Unmounting filesystems
The system is going down NOW !!
Sending SIGTERM to all processes.
Please stand by while rebooting the system.
Restarting system.
------------[ cut here ]------------
Badness at c0011fd4 [verbose debug info unavailable]
NIP: c0011fd4 LR: c001229c CTR: 00000000
REGS: c0659cf0 TRAP: 0700   Not tainted  (2.6.23)
MSR: 00021032 <ME,IR,DR>  CR: 24008222  XER: 20000000
TASK = eff867a0[1000] 'init' THREAD: c0658000 CPU: 0
GPR00: 00000001 c0659da0 eff867a0 c00122c4 00000000 00000001 00000000 c0659df8 
GPR08: c0747240 c00122c4 00000000 c0659df0 24008222 100ac880 0fffc900 ffffffff 
GPR16: 00000000 007fff00 effc3f68 c0440000 c04d0000 7fefafda 00000003 00000001 
GPR24: 7fefaf04 00000001 100b0008 00000001 00000000 01234567 c0659df8 00000000 
NIP [c0011fd4] smp_call_function_map+0x2c/0x2d4
LR [c001229c] smp_call_function+0x20/0x30
Call Trace:
[c0659da0] [c0500000] irq_desc+0x6de0/0xc000 (unreliable)
[c0659df0] [c001229c] smp_call_function+0x20/0x30
[c0659e00] [c00105b4] machine_restart+0x38/0x54
[c0659e10] [c003670c] kernel_restart+0x84/0x98
[c0659e20] [c0037970] sys_reboot+0x1a4/0x1c8
[c0659f40] [c0010d80] ret_from_syscall+0x0/0x38
--- Exception: c01 at 0xfe540c4
    LR = 0x100254dc
Instruction dump:
4e800020 9421ffb0 7c0802a6 7c691b78 7d800026 bf210034 7cfe3b78 90010054 
91810030 7c0000a6 68008000 54008ffe <0f000000> 3fa0c050 3860ffff 801d7194 
System Halted, OK to turn off power

Không chắc chắn những thông tin bổ sung sẽ có liên quan để cung cấp ở đây. Có ai có bất kỳ ý tưởng về những gì có thể gây ra một lỗi như thế này?

Cảm ơn,


Câu trả lời:


1

Không có gì bất thường khi gặp sự cố trong đường dẫn khởi động lại trên phần cứng tùy chỉnh, vì mã đó thường không được kiểm tra nhiều. machine_restart một trong những chức năng cuối cùng được gọi để khởi động lại máy PPC và thông báo "Dừng hệ thống ..." sẽ chỉ được hiển thị nếu chức năng restart () dành riêng cho máy không được định cấu hình hoặc không thực sự thực hiện khởi động lại. Bạn không làm gì sai cả; cả hai khả năng đó đều là lỗi kernel và nên được sửa bởi bất kỳ ai tùy chỉnh kernel cho bo mạch của bạn.


Bạn nói đúng. Tôi đã có thể tách vấn đề thành smp_call_feft_map () được gọi từ machine_restart (). Lỗi xảy ra do cuộc gọi này: WARN_ON(irqs_disabled());. Tôi vẫn đang làm việc về vấn đề thiết lập lại với bảng, nhưng đây là nguyên nhân của lỗi này. Cảm ơn
linsek

0

Hạt nhân của bạn có thể ghi đè lên bộ tải khởi động theo bất kỳ cách nào sau khi khởi động không? Trên phích cắm guru của tôi, có thể nếu bạn không cẩn thận ghi đè lên mb ram đầu tiên nơi bộ tải khởi động và khởi động lại mềm thì không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.