The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My work

  • My badges

  • Twitter Updates

  • My Flickr Stream

    20140508-Delphi-2007--Project-Options--Cannot-Edit-Application-Title-HelpFile-Icon-Theming

    20140430-Fiddler-Filter-Actions-Button-Run-Filterset-now

    20140424-Windows-7-free-disk-space

    More Photos
  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,757 other followers

OpenSuSE Tumbleweed – when `halt` doesn’t halt, but CLI+HLT the CPU at the end of the shutdown procedure

Posted by jpluimers on 2017/04/26

When halt is not a real halt but a suspend of the CPU.

When halt is not a real halt but a “disabling” of the CPU.

TL;DR:

Don’t use halt, use poweroff instead.

A while ago I wrote about OpenSuSE 12.x not halting after a halt:

The same holds for more recent OpenSuSE systems, but ESXi would never tell what was going on.

Recently I installed an OpenSuSE Tumbleweed system under VMware Fusion (running on Mac OS X) which indicated “The CPU has been disabled by the guest operating system.”

Log indicates a

Log indicates a “Shutdown” which in fact is a CPU not powered down.

Which — Understanding the message: The CPU has been disabled by the guest operating system (2000542) | VMware KB [WayBack] — means that halt will not power down the VM but perform a CLI + HLT on the CPU. This effectively hangs the CPU even though the console log on the right tells does a real Shutdown.

In the past – even under ESXi – a halt would just power down the system, so based on the above I did more digging and fount this very interesting answer in rhel – What is the difference between these commands for bringing down a Linux server? – Unix & Linux Stack Exchange [WayBack] which comes down to:

  • on a systemd [WayBack] based system commands like halt, reboot, shutdown all invoke systemctl [WayBack] calling for a specific target [WayBack].
  • mapping of targets and commands is as follows (quoted from the answer):
    • systemctl isolate halt.target has the shorthands:
      • shutdown -H now
      • systemctl halt
      • plain unadorned halt
    • systemctl isolate reboot.target has the shorthands:
      • shutdown -r now
      • telinit 6
      • systemctl reboot
      • plain unadorned reboot
    • systemctl isolate poweroff.target has the shorthands:
      • shutdown -P now
      • telinit 0
      • shutdown now
      • systemctl poweroff
      • plain unadorned poweroff
    • systemctl isolate rescue.target has the shorthands:
      • telinit 1
      • systemctl rescue
    • systemctl isolate multi-user.target has the shorthands:
      • telinit 2
      • telinit 3
      • telinit 4
    • systemctl isolate graphical.target has the shorthand:
      • telinit 5

For a SysV [WayBack] init runlevels versus systemd targets see:

The systemd parameters making things a bit confusing, for instance you can do reboot --halt and more of those shown in linux – Are there any good reasons for halting system without cutting power? – Super User [WayBack].

That also explains that halt without a powerdown can be useful: it for instance gives the end-user the opportunity to click the reset button instead of the power button after a halt.

–jeroen

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: