All versions of Linux 2.6 Kernel support hibernation (which means saving the contents of memory to disk, then shutting down the PC completely. The next time the PC is physically powered back on, as part of the boot process the old contents of memory are read from disk, restoring the previous session such as open browser windows, applications, and anything else that was being done. - "[Hibernation] is implemented by swsusp which is built into the 2.6 [Linux kernel] series.")
However, the Raspberry Pis have no ACPI support (Advanced Configuration and Power Interface) nor include a PMIC (Power Management IC, which could be part of a SoC but perhaps isn't for the one in Pis).
So, given this state of affairs, do you think it's still possible to get Pis to hibernate anyway? Why or why not?
I realize it would be pretty pointless, as at the end of the hibernation process you would have ... a running, shut-down pi that is ready to be physically powered down. I'm just curious what prevents this?
Obviously it would only make sense if there were some kind of external chip (maybe powered by Arduino) that waited until the Pi was shut down (maybe gave it 2 minutes to do so), and then physically interrupted its power until it needed it again.
The sleepypi seems to be along these lines, but I'm not sure if it hibernates or actually shuts down:
-> https://www.google.com/search?q=does+sl ... +shut+down
Doesn't answer in the first two pages of results.
The faq seems to imply it does a complete Shutdown (not hibernate): http://spellfoundry.com/sleepy-pi/sleep ... spberry_Pi
So it seems the sleepy pi is along these lines - but for some reason actually shuts down the Pi instead of hibernating it.
So is a proper hibernate command even possible? Why or why not? What is physically preventing it, if the kernel supports it? My understanding is that it's just a special shutdown sequence and a special boot sequence.... I don't see why it wouldn't work on a pi, other than having to interrupt the power manually once it has had time to complete....
(Please do correct any mistakes I made above.)