Setting Up Hibernation on Linux SSD Netbooks Without Swap, Part 1
This two-part series provides complete information on how to set up hibernate/suspend in a Linux netbook solid-state drive (SSD) environment under the conditions that exist in real-world netbooks. In this environment, warranty considerations frequently outweigh technical considerations, as you attempt to set up your netbook without voiding the hardware warranty.
While this article was based on the Asus Eee PC 900 operating under a Kubuntu-Jaunty KDE 4.2.2 environment, the information contained here should be helpful for users running Ubuntu under GNOME, as well as for people who want to set up hibernation and suspend on netbooks in general.
Part 1 (this article) explains how hibernation/suspend schemes work and the differences between optimal setup on a regular hard drive versus a solid-state drive environment. In many cases, a userspace swap file is preferable to a regular drive partition. We'll go through sizing and setup of a userspace swap file, and you'll see how to install the uswsusp suspend/hibernation package.
Part 2 of this series will discuss how to get to and use the uswsusp configuration wizard, boot configuration for handling resuming from hibernation, how to set up suspend-hybrid, and what values to enter in the KDE Power Management GUI. I'll provide a simple script to activate suspend-hybrid when the netbook's lid is closed, as well as links to troubleshooting information.
This article assumes that the reader knows what swap files and virtual memory are. You also need to know how to work at the command line.
Introduction
For solid-state flash-drive netbooks, running without swap is universally recommended to save on writes to the flash drive, which are the primary wear-out mechanism. In this two-part series, I'll show you how to set up the optimal environment for hibernating and suspending a Linux solid-state drive netbook, including netbooks without a swap partition. I'll also cover the best setup to use when you want to configure a swap file on a drive that doesn't contain the operating system. (For example, you might have the OS installed on a separate flash card for warranty reasons, or to allow experimenting with different operating systems; or perhaps you have a filesystem that's split between a small, fast SSD for the OS and a larger SSD for user data.)
If your netbook is set up with a Linux net appliance OS and you want to change this setup without voiding your warranty, be sure to read these earlier articles:
- If you plan to upgrade your netbook but haven't done it yet, read "A First Look at Kubuntu-Jaunty (v9.04)."
- Next, read "Taming the Wild Eee PC: Replacing the Operating System, Part 1." This how-to series explains how to convert an Eee PC Linux net appliance install running on a SSD drive into an Eee PC with a real Linux Ubuntu desktop OS without voiding the warranty by installing to an SDHC flash card living in the card reader. This information is largely applicable to other netbooks and Linux distributions as well. If you plan to install Kubuntu-Jaunty, the customizing discussed in "Taming the Wild Eee PC: Replacing the Operating System, Part 2" is basically unnecessary, but take a look at the section "Use the Internal Primary 16GB Flash Drive for Data Storage" to learn about using the main drive as data storage. This section also discusses some recommended netbook apps.
Installing to a netbook without a CD/DVD drive has changed since this article and the referenced articles were originally written. With the introduction of Kubuntu 9.10 (Koala), saving a live Kubuntu OS using VirtualBox is generally unnecessary, given the existence of USB Startup Disk Creator, accessible through the regular menu. Simply plug in a USB thumb drive and run the disk-creation program. The program puts a copy of a Kubuntu Live CD (or whatever) .iso image onto the flash drive, bootable if the .iso is bootable from a physical CD. You can install to a notebook flash drive or HD as you would from a hard drive, designating the drive on which the boot, OS, and apps should run during installation. The installer should provide adequate information to help you identify the drives where you can install.