Gömülü Linux Yeniden Başlatma Kazası


0

Linux 2.6.23 ile gömülü bir cihazda çalışıyorum ve reboot komutunu çalıştırırken aşağıdaki hatayı alıyorum.

~ # 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

Hangi ek bilgilerin burada sağlanacağına emin değilsiniz. Bunun gibi bir hataya neden olabilecek konusunda fikri olan var mı?

Teşekkürler,


Yanıtlar:


1

Özel donanımdaki yeniden başlatma yolunda sorun yaşamanız olağan değildir, çünkü bu kod genellikle çok fazla test edilmez. machine_restart, bir PPC makinesini yeniden başlatmak için çağrılan son işlevlerden birini ve "Sistem Durdu ..." mesajını yalnızca makineye özgü restart () işlevi konfigüre edilmemişse veya gerçekte yeniden başlatmayı gerçekleştirmediğinde görüntülenir. Yanlış bir şey yapmıyorsun; bu olasılıkların her ikisi de çekirdek hatalarıdır ve tahta için çekirdeği özelleştiren kişi tarafından belirlenmelidir.


Haklısın. Sorunu machine_restart () denilen smp_call_function_map () 'ya göre ayırabildim. Hata bu çağrının sonucu meydana gelir: WARN_ON(irqs_disabled());. Hala kurulu ile sıfırlama sorunu üzerinde çalışıyorum, ancak bu hatanın nedeni oldu. Teşekkürler
linsek

0

Çekirdeğiniz önyüklemeden sonra herhangi bir şekilde önyükleme yükleyicisinin üzerine mi yazıyor? Gurum fişimde, yükleme yükleyicisinin yaşadığı ilk rampanın üzerine yazma konusunda dikkatli olmamanız ve yumuşak yeniden başlatma işlemlerinin hayır-hayır olması mümkündür.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.