June 13, 2009 · General · Email This Post
Share

If you're new here, you may want to subscribe to my RSS feed and if you have questions related to your ubuntu system post question to our forums. Thanks for visiting!

“TuxOnIce is most easily described as the Linux equivalent of Windows’ hibernate functionality, but better. It saves the contents of memory to disk and powers down. When the computer is started up again, it reloads the contents and the user can continue from where they left off. No documents need to be reloaded or applications reopened and the process is much faster than a normal shutdown and start up.” - tuxonice.net

Tuxonice is an alternative way to hibernate your machine than the standard ubuntu power manager way. It generally claims to be more configurable and flexible than the standard method, with faster hibernate and resume times.

Original article:http://lists.tuxonice.net/lurker/message/20090409.181125.d20e0bbe.en.html

Add the following PPA to your sources list

deb http://ppa.launchpad.net/tuxonice/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/tuxonice/ppa/ubuntu jaunty main

This repository is signed with 1024R/DEC8FAAC OpenPGP key

Open a terminal and enter the following:

gpg --keyserver keyserver.ubuntu.com –recv DEC8FAAC

gpg --export --armor DEC8FAAC | sudo apt-key add - && sudo apt-get update

—————————————————————————————————-
Relevant files for Ubuntu Jaunty

https://launchpad.net/~tuxonice/+archive/ppa/+files/linux-headers-2.6.28-13-generic_2.6.28-13.43+tuxonice2_amd64.deb

https://launchpad.net/~tuxonice/+archive/ppa/+files/linux-headers-2.6.28-13-

generic_2.6.28-13.43+tuxonice2_i386.deb

https://launchpad.net/~tuxonice/+archive/ppa/+files/linux-image-2.6.28-13-generic_2.6.28-

13.43+tuxonice2_amd64.deb

https://launchpad.net/~tuxonice/+archive/ppa/+files/linux-image-2.6.28-13-generic_2.6.28-

13.43+tuxonice2_i386.deb

https://launchpad.net/~tuxonice/+archive/ppa/+files/tuxonice-userui_1.0-

1~ppa2~jaunty1_amd64.deb

https://launchpad.net/~tuxonice/+archive/ppa/+files/tuxonice-userui_1.0-

1~ppa2~jaunty1_i386.deb

http://www.tuxonice.net/downloads/all/hibernate-script-2.0.tar.gz

files for intrepid can be found here: https://launchpad.net/~tuxonice/+archive/ppa

—————————————————————————————————-

Install the relevant files for your architecture (choose either the i386 or amd64 files only).

Reboot once the new kernel has been installed.

Extract hibernate-script-2.0.tar.gz somewhere

open a terminal in the directory created and run ./install.sh

sudo -i to switch to root.

apt-get install sysfsutils

gedit /etc/sysfs.conf

Copy and past the text below into the file, then save and close.
—————————————————————————————————-
# /etc/sysfs.conf - Configuration file for setting sysfs attributes.
#
# The sysfs mount directory is automatically prepended to the attribute paths.
#
# Syntax:
# attribute = value
# mode attribute = 0600 # (any valid argument for chmod)
# owner attribute = root:wheel # (any valid argument for chown)
#
# Examples:
#
# Always use the powersave CPU frequency governor
# devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave
#
# Use userspace CPU frequency governor and set initial speed
# devices/system/cpu/cpu0/cpufreq/scaling_governor = userspace
# devices/system/cpu/cpu0/cpufreq/scaling_setspeed = 600000
#
# Set permissions of suspend control file
# mode power/state = 0660
# owner power/state = root:power
power/tuxonice/user_interface/program = /usr/lib/tuxoniceuserui/tuxoniceui_usplash
—————————————————————————————————-
gedit /usr/share/initramfs-tools/hooks/tuxonice_userui
Copy and past the text below into the file, then save and close.
—————————————————————————————————-
#!/bin/sh
# -*- shell-script -*-
PREREQ=”"
prereqs()
{
echo “$PREREQ”
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac

. /usr/share/initramfs-tools/hook-functions

TUXONICE_ENABLED=/sys/power/tuxonice/user_interface/enabled

# Don’t do anything if the kernel does not support tuxonice_userui,
# nor the module is there
if [ -f ${TUXONICE_ENABLED} ]; then
if [ `cat ${TUXONICE_ENABLED}` = 0 ]; then
echo “TuxOnIce user interface is disabled, skipping…”
exit 0
fi
elif [ ! -f ${MODULESDIR}/kernel/power/tuxonice_userui.ko ]; then
echo “This kernel does not seem to support TuxOnIce user interface, skipping…”
exit 0
fi
# Add the module and its dependencies and load it automatically if it
# exists

force_load tuxonice_userui

TUXONICEDIR=/usr/lib/tuxonice-userui

mkdir -p ${DESTDIR}${TUXONICEDIR}

copy_exec ${TUXONICEDIR}/tuxoniceui_text ${TUXONICEDIR}
copy_exec ${TUXONICEDIR}/tuxoniceui_fbsplash ${TUXONICEDIR}

# The following file does not exist on ia64 as usplash is not
# available on this architecture
if [ -x ${TUXONICEDIR}/tuxoniceui_usplash ]; then
copy_exec ${TUXONICEDIR}/tuxoniceui_usplash ${TUXONICEDIR}
fi
—————————————————————————————————-
gedit /usr/share/initramfs-tools/modules.d/lzo
Copy and past the text below into the file, then save and close.
—————————————————————————————————-

lzo

—————————————————————————————————-
gedit /usr/share/initramfs-tools/scripts/local-premount/tuxonice_do_resume
Copy and past the text below into the file, then save and close.
—————————————————————————————————-

#!/bin/sh
PREREQ=”"
prereqs()
{
echo “$PREREQ”
}
case $1 in
# get pre-requisites
prereqs)
prereqs
exit 0
;;

esac

if [ -d /sys/power/tuxonice ]; then
echo > /sys/power/tuxonice/do_resume
fi
—————————————————————————————————-
chmod 644 /etc/sysfs.conf

chmod 755 /usr/share/initramfs-tools/hooks/tuxonice_userui

chmod 644 /usr/share/initramfs-tools/modules.d/lzo

chmod 755 /usr/share/initramfs-tools/scripts/local-premount/tuxonice_do_resume

update-initramfs -c -k 2.6.28-13-generic

gedit /etc/hibernate/tuxonice.conf

find the line that says “Compressor lzf” and change to “Compressor lzo

if there is no SuspendDevice option, create one as below, changing the device to your own swap drive location (on mine it is sda7).

## useful for initrd usage:
SuspendDevice swap:/dev/sda7

You can also use the filewriter option described below, however I have not been able to get this working on my system yet so can’t provide more detailed instructions.

“For the file allocator, you should first prepare your hibernation file – this can be done by configuring your hibernate.conf file with the “FilewriterLocation” option, and running hibernate --no-suspend. Then take a look in /sys/power/tuxonice/resume for what to pass to your kernel. You should see something like file:/dev/hda7:0×10011f, in which case you should append “resume=file:/dev/hda7:0×10011f” as a kernel parameterin your lilo.conf file or GRUB’s menu.lst.” – http://www.tuxonice.net/HOWTO-2.html”

If the line below is not there put it in.

ProcSetting userui_program /usr/lib/tuxonice-userui/tuxoniceui_usplash

gedit /boot/grub/menu.lst

add resume=swap:/dev/sda7 to the end of the new kernel line. (changing the device to your swap drive, or hibernation file)

add resume=swap:/dev/sda7 noresume to the recovery option below the above entry.This is useful in case something goes wrong, you can use the recovery option to bypass resuming.

reboot. hibernate. resume.

If all went well your system should resume to the same state you were in before hibernation.

  • Share/Bookmark

Related Articles

47 Comments to “How to Install Tuxonice in Ubuntu”

  1. Justin says:

    The problem that you were having. is the same as i have been having. the move command in this tutorial creates /etc/etc/* and /usr/usr/* try using cp -rv usr/* /usr/ and cp -rv etc/* /etc/ instead.

  2. syafiq says:

    hi there,
    your commands

    “gpg --export --armorDEC8FAAC | sudo apt-key add – && sudo apt-get update”

    doesnt work,

    it works when I type

    “gpg --armor --export DEC8FAAC | sudo apt-key add – && sudo apt-get update”

    thanks!

  3. moiecoute says:

    Doesn’t the .30 release of the Kernel have better support for hibernation and remove ?

    I just wonder if it better to upgrade the Kernel than use Tuxnoice. Any thoughts on this ?

  4. NickP says:

    This doesn’t seem like a Noob friendly task. Does anyone know of a more “hold you by the hand” tutorial? Or is my ignorance of the processes involved in doing this, a clear indication that I should perhaps wait until I pick up a few more skills?

  5. intosamadhi says:

    not sure how much simpler I could make this, it is mostly cut and paste stuff.

    Most of the work is already done in the patched kernel from the PPA. The rest is just some simple commands to get initramfs-tools to use tuxonice on resume.

    If there is something specific you would like to know just ask.

    I don’t know how tuxonice compares with hibernation in the latest kernels because I have been using it ever since 1 of the kernels refused to let me hibernate or suspend. From my experience with earlier kernels, tuxonice is much faster and also gives you feeback about what it is doing.

  6. alkamid says:

    Hello,

    I’d like to make tuxonice working on my fresh Jaunty install. However, I can’t compile NVIDIA drivers - I always get a prompt that I need the kernel source tree to compile them, but how am I supposed to install source tree for 2.6.28-13? From PPA I can only get sources for 2.6.28-14 and I did it along with installing headers and image of 2.6.28-14 but I keep receiving the prompt!

  7. intosamadhi says:

    best try the tuxonice mailing list
    http://www.tuxonice.net/lists.html

    I’ve never compiled nvidia drivers so cant offer assistance

  8. jimdandy says:

    Appreciate the instructions. I haven’t tested this out yet, but there do seem to be some errors in your code as posted. I’m not sure about the gpg instructions, but copy and paste ends up with some characters being wrong. Same with the scripts, where it looks to me like smart quotes got in there that shouldn’t be. I could be totally wrong, but with just copying and pasting, I was getting errors. I made selected changes until I didn’t get errors, so I’ll see how it goes.

  9. Bula says:

    Thanks for the tutorial but I cant even get the package installed I set the sources and imported keys everything works fine, like in every other ppa but in synaptic manager there is no tuxonice (except userui) If it is of any use my kernel is Linux 2.6.28-13-generic #45-Ubuntu SMP Tue Jun 30 19:49:51 UTC 2009 i686 GNU/Linux

  10. alexander says:

    /usr/share/initramfs-tools/hooks/tuxonice_userui: 1: Syntax error: Unterminated quoted string

    when I do

    update-initramfs -c -k 2.6.28-13-generic

  11. Volatile says:

    Isn’t there a <code> block one can use to get compatible “:s and -:s?
    Like so:
    echo "this will actually be copy pasteable"

  12. Volatile says:

    Heh, Guess there is.
    Then, I have a task for the author of this thing:
    Please put everything that is to be copied into <code>-blocks!
    Do like this everywhere:
    Instead of just typing
    echo "$PREREQ",
    which generates the as far as sh is concerned illegible
    echo “$PREREQ”,
    type <code> echo "$PREREQ"</code>,
    which produces
    echo "$PREREQ",
    which is copy pasteable even for the most nooby of the readers. Copy-paste is according to me heavily preferrable over copy-paste-and-edit-everything.

  13. Volatile says:

    Other improveable things I noticed while following this tutorial:
    The direct links to the deb-files are broken.
    The test elif [ ! -f ${MODULESDIR}/kernel/power/tuxonice_userui.ko ] won’t succeed for me eventhough I use the tuxonice-patched kernels. Ignoring this test, I now have a hibernateable system, albeit maybe only non-graphically. Is there a reason for making this test here?
    Anyways, I now have a hibernateable system, and am moving on to the next step of patching my nvidia drivers. Thanks a lot for the tutorial!

  14. Younes says:

    This how to helped me to setup the tuxonice but it took me 2 days of trouble. I would like to first thank the author and suggest him to put more description on the grub part for example mention to run the update grub at the final stage and put a menu.lst sample.

  15. Daddy61 says:

    Just i would like to ask from where i have to start to answer this question. ,

  16. coff_coff says:

    please add repo for Lucid Lynx

Leave a Reply