powerdown restarts

Geoffrey Leach geoff at hughes.net
Sun Jul 1 22:56:01 UTC 2012


On 06/30/2012 04:49:26 PM, Mateusz Marzantowicz wrote:
> On 30.06.2012 23:32, Aaron Konstam wrote:
> > On Sat, 2012-06-30 at 08:36 -0700, Geoffrey Leach wrote: 
> >> On 06/30/2012 03:51:45 AM, Mateusz Marzantowicz wrote:
> >>> On 29.06.2012 22:37, Geoffrey Leach wrote:
> >>>> This problem has been submitted to Bugzilla (836657), but I
> thought
> >>> I'd 
> >>>> ask here to see if there are any fixes lurking.
> >>>>
> >>>> System is running 3.4.3-1.fc17.x86_64. When I systemctl poweroff 
> >>> the
> >>>
> >>>> kernel reboots instead of powering off. Under Windows 7, power
> off 
> >>>> works as expected. All packages are up-to-date.
> >>>>
> >>>> Any ideas?
> >>> What about shutdown -h ? Does it work as expected? Then try halt
> and
> >>> poweroff commands.
> >> It's my understanding that poweroff is a backwards-compatibility 
> >> implementation of systemctl poweroff, which I have tried to no
> avail. I 
> >> should have mentioned that. It appears that halt is the same.
> shutdown 
> >> if a link to systemctl. Bottom line is that I would not expect any
> of 
> >> these to be any different, but I live in hope and will report back
> if 
> >> there's any difference.
> >>
> >> I should also mention that systemctl poweroff works fine on my
> laptop 
> >> running the 32-bit version of Fedora 16.
> >>
> >> One point, FWIW. Power off is essential for my application. Merely 
> >> halt-ing is no better than just leaving the system running. 
> >>
> >> Thanks. I don't wish to seem ungrateful -:)
> >>
> >>
> > I disagree with the other posters. There is a magic related to
> shutdown
> > poweroff and halt. If you look at the man pages you will find that
> > shutdown and poweroff have different options. It is clear that when
> > systemctl is called under a different name it checks the name and
> > potentially reacts differently. For example poweroff by itself will
> > shutdown the machine . systemctl called by itself will not.
> 
> If you check source code with is more reliable then any man page 
> could
> ever be, you will find that there really is nothing magical. Please
> see
> file src/systemctl/systemctl.c in systemd source tree. Commands like
> halt, shutdown and power off call the reboot() function. I can agree
> that argument to reboot() may change between this calls but it's 
> still
> the same function they're calling.

"Read the source,  Luke!" Thanks for the suggestion. I followed reboot
() through the source and finally got lost in a maze of low-level 
calls. I did notice that POWEROFF is different from HALT, etc. and that 
there is code that is specific for 32-bit systems. Finally, it appears 
that at the bottom of the call tree there is a call to a BIOS function 
which is relevant, I imagine, although as I mentioned at the outset, 
Windows 7 does poweroff just fine.

All of this is somewhat irrelevant, as it appears that the audio 
driver (smd_hda_intel) does not support the Ivy Bridge architecture, so 
powering off is not an issue :-(


More information about the users mailing list