I have an AMD / Award BIOS based system which does not properly shut
off when I hold down the power button for 4 seconds. The BIOS is
configured to have "Soft-off" set to "Delay for 4 seconds" which is
supposed to power the machine off if the button is held that long.
I first thought this could be a BIOS bug, but this *only* appears to
happen while Linux is running. If the computer is running WinXP, it
works fine. Also, if I hold down the button for 4 seconds while the
BIOS is in POST, it also works fine. If the kernel has booted, even if
the kernel is not running anymore due to a `halt`, holding the button
down merely reboots the PC after 4 seconds.
Can anyone offer a place to start poking around to see why this only
happens when Linux is running? Would this have to do with the ACPI
code itself? The kernel version does not seem to matter. I first
noticed this on stock Debian 2.6.18-4, and I just reproduced it right
now using 22.214.171.124.
Yes, I agree.. I just find it strange that it works on the BIOS screen
as well as in GRUB, but as soon as Linux boots, it no longer works.
Since it works under WinXP, there must be some way to get it to work
properly from the OS side even it if means working around the bug
Why do you say it is the BIOS when it shuts down properly from the GRUB prompt
or from in WINXP?
"They that give up essential liberty to obtain temporary safety,
deserve neither liberty nor safety." (Ben Franklin)
"The course of history shows that as a government grows, liberty
decreases." (Thomas Jefferson)
Because it's only the BIOS that can cause this behaviour.
When you push the power button, the BIOS is invoked. If you release
within 4 seconds, the BIOS sends an ACPI event to the running OS,
telling it that the power button has been pushed.
If you hold it down for 4 or more seconds, the BIOS is supposed to shut
the machine down without the OS knowing what's happening (no ACPI
events, just a loss of power). From your problem description, the BIOS
is noticing *something* about the way Linux sets things up, and
*choosing* to reboot instead of cutting the power.
GRUB doesn't touch hardware without BIOS help, so is unlikely to change
the system state in a way that tickles this BIOS bug; similarly, BIOSes
are tested against current Windows versions by vendors, so they'll have
hacked it around until it worked there.
Hope this helps,
Such as setting a bit to reboot instead of powering off? There are lots of bits
down in low memory which one BIOS or another use, so it may be functioning as
intended. You might look for an additional option to reboot instead of power
down, a feature I think may have been intended for systems without a hardware
This certainly may be a bug (ie. unintended behavior), but it may be a feature
which Linux is enabling unintentionally. Having to use the power button on a
Linux system would worry me more than having to press the button a second time
Bill Davidsen <email@example.com>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot