我正在一组 armv5 板上运行基于 debian-wheezy 的发行版。如果我运行“reboot”命令(通过 ssh 或串行控制台),它在大多数情况下都可以正常工作。有时(大约每 50 次左右重新启动一次,但并非始终如此),系统会在重新启动的关闭部分挂起。当它挂起时,网络仍然启用并且防火墙仍然运行(因为它仍然转发数据包)。但是sshd没有运行,也没有我自己的软件。
在正常重新启动期间,我看到以下内容打印到控制台:
...
[ ok ] Unmounting temporary filessytems...done.
[ ok ] Deactivating swap...done.
[info] Will now restart.
>> TS-BOOTROM - built Jul 8 2013 15:44:26
>> Copyright (c) 2012, Technologic Systems
.
.
Uncompressing Linux... done, booting the kernel.
...
当它失败时,我看到:
...
[ ok ] Unmounting temporary filessytems...done.
[ ok ] Deactivating swap...done.
kexec: No such file or directory
reboot: No such file or directory
/etc/init.d/rc: 279: /etc/init.d/rc: /bin/echo: not found
/etc/init.d/rc: 364: /etc/init.d/rc: /bin/echo: not found
INIT: cannot execute "/sbin/sulogin"
... (repeats ten times)
INIT: Id "z6" respawning too fast: disabled for 5 minutes
我尝试在 /etc/init.d/rc 中查找上面显示的行 (279, 364),但该文件只有 256 行。所以这很奇怪...
在我看来,脚本正在尝试在文件系统卸载后运行,但只是偶尔。大多数时候都很好。现在,当我查看 /etc/rc6.d 时,我看到 K07umountfs、K08umountroot、K09kexec 和 K10reboot。因此,kexec 和reboot 似乎应该在文件系统卸载后运行(并且它在大约99% 的时间里都有效)。
我现在有点卡住了。我将不胜感激任何帮助,即使它只是为我指明了正确的方向。
答案1
我在这个问题上迟到了,但我是 Technologic 的开发人员之一。看起来这是 TS-47xx 系列或 TS-7250-V2。如果您仍然遇到此问题,请联系我们的支持人员。我们在该产品的开发早期修复了一些可能是问题的罕见 NBD 问题。更常见的是,这种情况是由于在 SD 卡上运行并在未正确关闭的情况下断开电源而发生的。如果不是这种情况,我们可以设置一个测试,让几块板不断重新启动,以尝试重现这种情况。