我正在开发一个围绕 Atmel ARM926EJ-S 构建的嵌入式系统,该系统基于相当旧的 ARM 内核 ARMv5TEJ。我有一个 Debian 8 系统,曾经适用于该硬件,直到我不得不将内核从 3.11.6 更新到 4.1.18。需要进行更新以添加对某些 USB 硬件的支持。
这次更新给了我我想要的东西,但有一个例外:重新启动不再起作用。更准确地说,当我reboot
向控制台写入命令时,系统会自行关闭,但最终并没有真正重新启动 CPU,而是停止了,需要使用电源开关才能再次启动系统。
什么可能导致这种情况?有什么我可以检查的典型问题吗?
这是调试控制台的最后几行:
systemd-shutdown[1]: Sending SIGTERM to remaining processes...
systemd-journald[721]: Received SIGTERM from PID 1 (systemd-shutdow).
systemd-shutdown[1]: Sending SIGKILL to remaining processes...
systemd-shutdown[1]: Unmounting file systems.
systemd-shutdown[1]: Unmounting /sys/kernel/debug.
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
systemd-shutdown[1]: All filesystems unmounted.
systemd-shutdown[1]: Deactivating swaps.
systemd-shutdown[1]: All swaps deactivated.
systemd-shutdown[1]: Detaching loop devices.
systemd-shutdown[1]: All loop devices detached.
systemd-shutdown[1]: Detaching DM devices.
systemd-shutdown[1]: All DM devices detached.
systemd-shutdown[1]: Rebooting.
reboot: Restarting system
Reboot failed -- System halted
答案1
我尝试了内核版本 4.11.0,这是目前最新的稳定版本,正如问题评论中所建议的那样。有一些关于重新启动的新选项,现在可以使用了。
我没有进一步调查细节,所以我无法判断是否有东西被破坏然后再次修复,或者版本 4.1.18 是否可以通过正确的配置进行修复。