SOURCES (LINUX_2_6): linux-2.6-suspend2.patch - http://www.tuxonic...
zbyniu
zbyniu at pld-linux.org
Fri Oct 12 15:15:26 CEST 2007
Author: zbyniu Date: Fri Oct 12 13:15:26 2007 GMT
Module: SOURCES Tag: LINUX_2_6
---- Log message:
- http://www.tuxonice.net/downloads/all/tuxonice-3.0-rc1-for-2.6.23.patch.bz2
- project renamed to tuxonice
---- Files affected:
SOURCES:
linux-2.6-suspend2.patch (1.1.2.2.2.3 -> 1.1.2.2.2.4)
---- Diffs:
================================================================
Index: SOURCES/linux-2.6-suspend2.patch
diff -u SOURCES/linux-2.6-suspend2.patch:1.1.2.2.2.3 SOURCES/linux-2.6-suspend2.patch:1.1.2.2.2.4
--- SOURCES/linux-2.6-suspend2.patch:1.1.2.2.2.3 Thu Aug 2 11:45:02 2007
+++ SOURCES/linux-2.6-suspend2.patch Fri Oct 12 15:15:21 2007
@@ -1,45 +1,15 @@
-diff -ruN linux-2.6.22/Documentation/kernel-parameters.txt suspend2-2.2.10-for-2.6.22/Documentation/kernel-parameters.txt
---- linux-2.6.22/Documentation/kernel-parameters.txt 2007-07-11 22:18:38.000000000 +1000
-+++ suspend2-2.2.10-for-2.6.22/Documentation/kernel-parameters.txt 2007-07-11 22:25:42.000000000 +1000
-@@ -83,6 +83,7 @@
- SH SuperH architecture is enabled.
- SMP The kernel is an SMP kernel.
- SPARC Sparc architecture is enabled.
-+ SUSPEND2 Suspend2 is enabled.
- SWSUSP Software suspend is enabled.
- TS Appropriate touchscreen support is enabled.
- USB USB support is enabled.
-@@ -1214,6 +1215,8 @@
- noresume [SWSUSP] Disables resume and restores original swap
- space.
-
-+ noresume2 [SUSPEND2] Disables resuming and restores original swap signature.
-+
- no-scroll [VGA] Disables scrollback.
- This is required for the Braillex ib80-piezo Braille
- reader made by F.H. Papenmeier (Germany).
-@@ -1519,6 +1522,11 @@
-
- retain_initrd [RAM] Keep initrd memory after extraction
-
-+ resume2= [SUSPEND2] Specify the storage device for Suspend2.
-+ Format: <writer>:<writer-parameters>.
-+ See Documentation/power/suspend2.txt for details of the
-+ formats for available image writers.
-+
- rhash_entries= [KNL,NET]
- Set number of hash buckets for route cache
-
-diff -ruN linux-2.6.22/Documentation/power/suspend2-internals.txt suspend2-2.2.10-for-2.6.22/Documentation/power/suspend2-internals.txt
---- linux-2.6.22/Documentation/power/suspend2-internals.txt 1970-01-01 10:00:00.000000000 +1000
-+++ suspend2-2.2.10-for-2.6.22/Documentation/power/suspend2-internals.txt 2007-07-11 22:25:42.000000000 +1000
-@@ -0,0 +1,473 @@
-+ Software Suspend 2.2 Internal Documentation.
-+ Version 1
+diff --git a/Documentation/power/tuxonice-internals.txt b/Documentation/power/tuxonice-internals.txt
+new file mode 100644
+index 0000000..2247939
+--- /dev/null
++++ b/Documentation/power/tuxonice-internals.txt
+@@ -0,0 +1,469 @@
++ TuxOnIce 2.2 Internal Documentation.
++ Updated to 18 September 2007
+
+1. Introduction.
+
-+ Software Suspend 2.2 is an addition to the Linux Kernel, designed to
++ TuxOnIce 2.2 is an addition to the Linux Kernel, designed to
+ allow the user to quickly shutdown and quickly boot a computer, without
+ needing to close documents or programs. It is equivalent to the
+ hibernate facility in some laptops. This implementation, however,
@@ -89,7 +59,8 @@
+
+ a. Quiescing activity.
+
-+ Safely quiescing the system is achieved using two methods.
++ Safely quiescing the system is achieved using three separate but related
++ aspects.
+
+ First, we note that the vast majority of processes don't need to run during
+ suspend. They can be 'frozen'. We therefore implement a refrigerator
@@ -102,23 +73,22 @@
+ the place in their event loops where they drop locks and yield to other
+ processes or sleep.
+
-+ The second part of our method for quisescing the system involves freezing
-+ the filesystems. We use the standard freeze_bdev and thaw_bdev functions to
-+ ensure that all of the user's data is synced to disk before we begin to
-+ write the image. This is particularly important with XFS, where without
-+ bdev freezing, activity may still occur after we begin to write the image
-+ (potentially causing in-memory and on-disk corruption later).
-+
-+ Quiescing the system works most quickly and reliably when we add one more
-+ element to the algorithm: separating the freezing of userspace processes
-+ from the freezing of kernel space processes, and doing the filesystem freeze
-+ in between. The filesystem freeze needs to be done while kernel threads such
-+ as kjournald can still run. At the same time, though, everything will be
-+ less racy and run more quickly if we stop userspace submitting more I/O work
-+ while we're trying to quiesce.
-+
-+ Quiescing the system is therefore done in three steps:
++ The task of freezing processes is complicated by the fact that there can be
++ interdependencies between processes. Freezing process A before process B may
++ mean that process B cannot be frozen, because it stops at waiting for
++ process A rather than in the refrigerator. This issue is seen where
++ userspace waits on freezeable kernel threads or fuse filesystem threads. To
++ address this issue, we implement the following algorithm for quiescing
++ activity:
++
++ - Freeze filesystems (including fuse - userspace programs starting
++ new requests are immediately frozen; programs already running
++ requests complete their work before being frozen in the next
++ step)
+ - Freeze userspace
++ - Thaw filesystems (this is safe now that userspace is frozen and no
++ fuse requests are outstanding).
++ - Invoke sys_sync (noop on fuse).
+ - Freeze filesystems
+ - Freeze kernel threads
+
@@ -126,10 +96,6 @@
+ userspace. We can then free caches without worrying about deadlocks due to
+ swap files being on frozen filesystems or such like.
+
-+ One limitation of this is that FUSE filesystems are incompatible with
-+ suspending to disk. They need to be unmounted prior to suspending, to avoid
-+ potential deadlocks.
-+
+ b. Ensure enough memory & storage are available.
+
+ We have a number of constraints to meet in order to be able to successfully
@@ -181,9 +147,9 @@
+ pagesets.
+
+ Pageset2 contains the page cache - the pages on the active and inactive
-+ lists. These pages aren't needed or modifed while Suspend2 is running, so
++ lists. These pages aren't needed or modifed while TuxOnIce is running, so
+ they can be safely written without an atomic copy. They are therefore
-+ saved first and reloaded last. While saving these pages, Suspend2 carefully
++ saved first and reloaded last. While saving these pages, TuxOnIce carefully
+ ensures that the work of writing the pages doesn't make the image
+ inconsistent.
+
@@ -194,9 +160,9 @@
+ DRI is in use, video drivers may require significants amounts. Ideally we
+ would be able to query drivers while preparing the image as to the amount of
+ memory they will need. Unfortunately no such mechanism exists at the time of
-+ writing. For this reason, Suspend2 allows the user to set an
++ writing. For this reason, TuxOnIce allows the user to set an
+ 'extra_pages_allowance', which is used to seek to ensure sufficient memory
-+ is available for drivers at this point. Suspend2 also lets the user set this
++ is available for drivers at this point. TuxOnIce also lets the user set this
+ value to 0. In this case, a test driver suspend is done while preparing the
+ image, and the difference (plus a margin) used instead.
+
@@ -222,7 +188,7 @@
+
+ e. Power down.
+
-+ Powering down uses standard kernel routines. Suspend2 supports powering down
++ Powering down uses standard kernel routines. TuxOnIce supports powering down
+ using the ACPI S3, S4 and S5 methods or the kernel's non-ACPI power-off.
+ Supporting suspend to ram (S3) as a power off option might sound strange,
+ but it allows the user to quickly get their system up and running again if
@@ -232,7 +198,7 @@
+
+4. Data Structures.
+
-+ Suspend2 uses three main structures to store its metadata and configuration
++ TuxOnIce uses three main structures to store its metadata and configuration
+ information:
+
+ a) Pageflags bitmaps.
@@ -250,14 +216,14 @@
+ As mentioned above, using bitmaps also means that the amount of memory and
+ storage required for recording the above information is constant. This
+ greatly simplifies the work of preparing the image. In earlier versions of
-+ Suspend2, extents were used to record which pages would be stored. In that
++ TuxOnIce, extents were used to record which pages would be stored. In that
+ case, however, eating memory could result in greater fragmentation of the
+ lists of pages, which in turn required more memory to store the extents and
+ more storage in the image header. These could in turn require further
+ freeing of memory, and another iteration. All of this complexity is removed
+ by having bitmaps.
+
-+ Bitmaps also make a lot of sense because Suspend2 only ever iterates
++ Bitmaps also make a lot of sense because TuxOnIce only ever iterates
+ through the lists. There is therefore no cost to not being able to find the
+ nth page in order 0 time. We only need to worry about the cost of finding
+ the n+1th page, given the location of the nth page. Bitwise optimisations
@@ -267,7 +233,7 @@
+
+ b) Extents for block data.
+
-+ Suspend2 supports writing the image to multiple block devices. In the case
++ TuxOnIce supports writing the image to multiple block devices. In the case
+ of swap, multiple partitions and/or files may be in use, and we happily use
+ them all. This is accomplished as follows:
+
@@ -283,7 +249,7 @@
+ Variations in block size are taken account of in transforming this data
+ into the parameters for bio submission.
+
-+ We can thus implement a layer of abstraction wherein the core of Suspend2
++ We can thus implement a layer of abstraction wherein the core of TuxOnIce
+ doesn't have to worry about which device we're currently writing to or
+ where in the device we are. It simply requests that the next page in the
+ pageset or header be written, leaving the details to this lower layer.
@@ -383,7 +349,7 @@
+ unsigned long offset;
+ };
+
-+ We can thus implement a layer of abstraction wherein the core of Suspend2
++ We can thus implement a layer of abstraction wherein the core of TuxOnIce
+ doesn't have to worry about which device we're currently writing to or
+ where in the device we are. It simply requests that the next page in the
+ pageset or header be written, leaving the details to this layer, and
@@ -392,7 +358,7 @@
+
+ c) Modules
+
-+ One aim in designing Suspend2 was to make it flexible. We wanted to allow
++ One aim in designing TuxOnIce was to make it flexible. We wanted to allow
+ for the implementation of different methods of transforming a page to be
+ written to disk and different methods of getting the pages stored.
+
@@ -402,7 +368,7 @@
+ had expressed interest in implementing image encryption, and alternative
+ methods of storing the image.
+
-+ In order to achieve this, Suspend2 was given a modular design.
++ In order to achieve this, TuxOnIce was given a modular design.
+
+ A module is a single file which encapsulates the functionality needed
+ to transform a pageset of data (encryption or compression, for example),
@@ -414,7 +380,7 @@
+ The pipeline follows this pattern:
+
+ ---------------------------------
-+ | Suspend2 Core |
++ | TuxOnIce Core |
+ ---------------------------------
+ |
+ |
@@ -469,7 +435,7 @@
+ - configuring the module (see below);
+
+ ...and routines for writers specific to their work:
-+ - Parsing a resume2= location;
++ - Parsing a resume= location;
+ - Determining whether an image exists;
+ - Marking a resume as having been attempted;
+ - Invalidating an image;
@@ -480,13 +446,13 @@
+
+ d) Sysfs data structures.
+
-+ This brings us naturally to support for configuring Suspend2. We desired to
-+ provide a way to make Suspend2 as flexible and configurable as possible.
++ This brings us naturally to support for configuring TuxOnIce. We desired to
++ provide a way to make TuxOnIce as flexible and configurable as possible.
+ The user shouldn't have to reboot just because they want to now suspend to
+ a file instead of a partition, for example.
+
-+ To accomplish this, Suspend2 implements a very generic means whereby the
-+ core and modules can register new sysfs entries. All Suspend2 entries use
++ To accomplish this, TuxOnIce implements a very generic means whereby the
++ core and modules can register new sysfs entries. All TuxOnIce entries use
+ a single _store and _show routine, both of which are found in sysfs.c in
+ the kernel/power directory. These routines handle the most common operations
+ - getting and setting the values of bits, integers, longs, unsigned longs
@@ -496,7 +462,7 @@
+ When combined with some simple macros, a new sysfs entry can then be defined
+ in just a couple of lines:
+
-+ { SUSPEND2_ATTR("progress_granularity", SYSFS_RW),
++ { TOI_ATTR("progress_granularity", SYSFS_RW),
+ SYSFS_INT(&progress_granularity, 1, 2048)
+ },
+
@@ -504,26 +470,28 @@
+ allows the user to access an integer stored at &progress_granularity, giving
+ it a value between 1 and 2048 inclusive.
+
-+ Sysfs entries are registered under /sys/power/suspend2, and entries for
++ Sysfs entries are registered under /sys/power/tuxonice, and entries for
+ modules are located in a subdirectory named after the module.
+
-diff -ruN linux-2.6.22/Documentation/power/suspend2.txt suspend2-2.2.10-for-2.6.22/Documentation/power/suspend2.txt
---- linux-2.6.22/Documentation/power/suspend2.txt 1970-01-01 10:00:00.000000000 +1000
-+++ suspend2-2.2.10-for-2.6.22/Documentation/power/suspend2.txt 2007-07-11 22:25:42.000000000 +1000
-@@ -0,0 +1,713 @@
-+ --- Suspend2, version 2.2 ---
+diff --git a/Documentation/power/tuxonice.txt b/Documentation/power/tuxonice.txt
+new file mode 100644
+index 0000000..b97fe92
+--- /dev/null
++++ b/Documentation/power/tuxonice.txt
+@@ -0,0 +1,709 @@
++ --- TuxOnIce, version 2.2 ---
+
+1. What is it?
+2. Why would you want it?
+3. What do you need to use it?
+4. Why not just use the version already in the kernel?
+5. How do you use it?
-+6. What do all those entries in /sys/power/suspend2 do?
++6. What do all those entries in /sys/power/tuxonice do?
+7. How do you get support?
+8. I think I've found a bug. What should I do?
+9. When will XXX be supported?
+10 How does it work?
-+11. Who wrote Suspend2?
++11. Who wrote TuxOnIce?
+
+1. What is it?
+
@@ -536,17 +504,22 @@
+ memory and you can carry on from where you were, just as if you'd never
+ turned the computer off. Far less time to start up, no reopening
+ applications and finding what directory you put that file in yesterday.
-+ That's what Suspend2 does.
++ That's what TuxOnIce does.
+
-+ Suspend2 has a long heritage. It began life as work by Gabor Kuti, who,
++ TuxOnIce has a long heritage. It began life as work by Gabor Kuti, who,
+ with some help from Pavel Machek, got an early version going in 1999. The
+ project was then taken over by Florent Chabaud while still in alpha version
+ numbers. Nigel Cunningham came on the scene when Florent was unable to
+ continue, moving the project into betas, then 1.0, 2.0 and so on up to
-+ the present 2.2 series. Pavel Machek's swsusp code, which was merged around
-+ 2.5.17 retains the original name, and was essentially a fork of the beta
-+ code until Rafael Wysocki came on the scene in 2005 and began to improve it
-+ further.
++ the present series. During the 2.0 series, the name was contracted to
++ Suspend2 and the website suspend2.net created. Beginning around July 2007,
++ a transition to calling the software TuxOnIce was made, to seek to help
++ make it clear that TuxOnIce is more concerned with hibernation than suspend
++ to ram.
++
++ Pavel Machek's swsusp code, which was merged around 2.5.17 retains the
++ original name, and was essentially a fork of the beta code until Rafael
++ Wysocki came on the scene in 2005 and began to improve it further.
+
+2. Why would you want it?
+
@@ -560,26 +533,26 @@
+
+ a. Kernel Support.
+
-+ i) The Suspend2 patch.
++ i) The TuxOnIce patch.
+
-+ Suspend2 is part of the Linux Kernel. This version is not part of Linus's
++ TuxOnIce is part of the Linux Kernel. This version is not part of Linus's
+ 2.6 tree at the moment, so you will need to download the kernel source and
+ apply the latest patch. Having done that, enable the appropriate options in
+ make [menu|x]config (under Power Management Options), compile and install your
-+ kernel. Suspend2 works with SMP, Highmem, preemption, x86-32, PPC and x86_64.
++ kernel. TuxOnIce works with SMP, Highmem, preemption, fuse filesystems,
++ x86-32, PPC and x86_64.
+
-+ Suspend2 patches are available from http://suspend2.net.
++ TuxOnIce patches are available from http://tuxonice.net.
+
-+ ii) Compression and encryption support.
++ ii) Compression support.
+
-+ Compression and encryption support are implemented via the
-+ cryptoapi. You will therefore want to select any Cryptoapi transforms that
-+ you want to use on your image from the Cryptoapi menu while configuring
-+ your kernel.
++ Compression support is implemented via the cryptoapi. You will therefore want
++ to select any Cryptoapi transforms that you want to use on your image from
++ the Cryptoapi menu while configuring your kernel.
+
-+ You can also tell Suspend to write it's image to an encrypted and/or
++ You can also tell TuxOnIce to write it's image to an encrypted and/or
+ compressed filesystem/swap partition. In that case, you don't need to do
-+ anything special for Suspend2 when it comes to kernel configuration.
++ anything special for TuxOnIce when it comes to kernel configuration.
+
+ iii) Configuring other options.
+
@@ -594,113 +567,113 @@
+
+ i) Swap.
+
-+ Suspend2 can store the suspend image in your swap partition, a swap file or
++ TuxOnIce can store the suspend image in your swap partition, a swap file or
+ a combination thereof. Whichever combination you choose, you will probably
+ want to create enough swap space to store the largest image you could have,
+ plus the space you'd normally use for swap. A good rule of thumb would be
-+ to calculate the amount of swap you'd want without using Suspend2, and then
++ to calculate the amount of swap you'd want without using TuxOnIce, and then
+ add the amount of memory you have. This swapspace can be arranged in any way
+ you'd like. It can be in one partition or file, or spread over a number. The
+ only requirement is that they be active when you start a suspend cycle.
+
-+ There is one exception to this requirement. Suspend2 has the ability to turn
++ There is one exception to this requirement. TuxOnIce has the ability to turn
+ on one swap file or partition at the start of suspending and turn it back off
+ at the end. If you want to ensure you have enough memory to store a image
+ when your memory is fully used, you might want to make one swap partition or
-+ file for 'normal' use, and another for Suspend2 to activate & deactivate
++ file for 'normal' use, and another for TuxOnIce to activate & deactivate
+ automatically. (Further details below).
+
+ ii) Normal files.
+
-+ Suspend2 includes a 'filewriter'. The filewriter can store your image in a
-+ simple file. Since Linux has the idea of everything being a file, this is
-+ more powerful than it initially sounds. If, for example, you were to set up
-+ a network block device file, you could suspend to a network server. This has
-+ been tested and works to a point, but nbd itself isn't stateless enough for
-+ our purposes.
-+
-+ Take extra care when setting up the filewriter. If you just type commands
-+ without thinking and then try to suspend, you could cause irreversible
-+ corruption on your filesystems! Make sure you have backups.
++ TuxOnIce includes a 'file allocator'. The file allocator can store your
++ image in a simple file. Since Linux has the concept of everything being a
++ file, this is more powerful than it initially sounds. If, for example, you
++ were to set up a network block device file, you could suspend to a network
++ server. This has been tested and works to a point, but nbd itself isn't
++ stateless enough for our purposes.
++
++ Take extra care when setting up the file allocator. If you just type
++ commands without thinking and then try to suspend, you could cause
++ irreversible corruption on your filesystems! Make sure you have backups.
+
+ Most people will only want to suspend to a local file. To achieve that, do
+ something along the lines of:
+
-+ echo "Suspend2" > /suspend-file
++ echo "TuxOnIce" > /suspend-file
+ dd if=/dev/zero bs=1M count=512 >> suspend-file
+
-+ This will create a 512MB file called /suspend-file. To get Suspend2 to use
++ This will create a 512MB file called /suspend-file. To get TuxOnIce to use
+ it:
+
-+ echo /suspend-file > /sys/power/suspend2/filewriter/filewriter_target
++ echo /suspend-file > /sys/power/tuxonice/file/target
+
+ Then
+
-+ cat /sys/power/suspend2/resume2
++ cat /sys/power/tuxonice/resume
+
+ Put the results of this into your bootloader's configuration (see also step
+ C, below:
+
+ ---EXAMPLE-ONLY-DON'T-COPY-AND-PASTE---
-+ # cat /sys/power/suspend2/resume2
++ # cat /sys/power/tuxonice/resume
+ file:/dev/hda2:0x1e001
+
+ In this example, we would edit the append= line of our lilo.conf|menu.lst
+ so that it included:
+
-+ resume2=file:/dev/hda2:0x1e001
++ resume=file:/dev/hda2:0x1e001
+ ---EXAMPLE-ONLY-DON'T-COPY-AND-PASTE---
+
+ For those who are thinking 'Could I make the file sparse?', the answer is
-+ 'No!'. At the moment, there is no way for Suspend2 to fill in the holes in
++ 'No!'. At the moment, there is no way for TuxOnIce to fill in the holes in
+ a sparse file while suspending. In the longer term (post merge!), I'd like
+ to change things so that the file could be dynamically resized as needed.
+ Right now, however, that's not possible and not a priority.
+
+ c. Bootloader configuration.
+
-+ Using Suspend2 also requires that you add an extra parameter to
++ Using TuxOnIce also requires that you add an extra parameter to
+ your lilo.conf or equivalent. Here's an example for a swap partition:
+
-+ append="resume2=swap:/dev/hda1"
++ append="resume=swap:/dev/hda1"
+
-+ This would tell Suspend2 that /dev/hda1 is a swap partition you
-+ have. Suspend2 will use the swap signature of this partition as a
++ This would tell TuxOnIce that /dev/hda1 is a swap partition you
++ have. TuxOnIce will use the swap signature of this partition as a
+ pointer to your data when you suspend. This means that (in this example)
+ /dev/hda1 doesn't need to be _the_ swap partition where all of your data
+ is actually stored. It just needs to be a swap partition that has a
+ valid signature.
+
-+ You don't need to have a swap partition for this purpose. Suspend2
++ You don't need to have a swap partition for this purpose. TuxOnIce
+ can also use a swap file, but usage is a little more complex. Having made
+ your swap file, turn it on and do
+
-+ cat /sys/power/suspend2/swapwriter/headerlocations
++ cat /sys/power/tuxonice/swap/headerlocations
+
-+ (this assumes you've already compiled your kernel with Suspend2
++ (this assumes you've already compiled your kernel with TuxOnIce
+ support and booted it). The results of the cat command will tell you
+ what you need to put in lilo.conf:
+
-+ For swap partitions like /dev/hda1, simply use resume2=/dev/hda1.
-+ For swapfile `swapfile`, use resume2=swap:/dev/hda2:0x242d.
++ For swap partitions like /dev/hda1, simply use resume=/dev/hda1.
++ For swapfile `swapfile`, use resume=swap:/dev/hda2:0x242d.
+
+ If the swapfile changes for any reason (it is moved to a different
+ location, it is deleted and recreated, or the filesystem is
+ defragmented) then you will have to check
-+ /sys/power/suspend2/swapwriter/headerlocations for a new resume_block value.
++ /sys/power/tuxonice/swap/headerlocations for a new resume_block value.
+
+ Once you've compiled and installed the kernel and adjusted your bootloader
+ configuration, you should only need to reboot for the most basic part
-+ of Suspend2 to be ready.
++ of TuxOnIce to be ready.
+
-+ If you only compile in the swapwriter, or only compile in the filewriter,
-+ you don't need to add the "swap:" part of the resume2= parameters above.
-+ resume2=/dev/hda2:0x242d will work just as well.
++ If you only compile in the swap allocator, or only compile in the file
++ allocator, you don't need to add the "swap:" part of the resume=
++ parameters above. resume=/dev/hda2:0x242d will work just as well.
+
+ d. The hibernate script.
+
+ Since the driver model in 2.6 kernels is still being developed, you may need
-+ to do more, however. Users of Suspend2 usually start the process via a script
++ to do more, however. Users of TuxOnIce usually start the process via a script
+ which prepares for the suspend, tells the kernel to do its stuff and then
+ restore things afterwards. This script might involve:
+
@@ -714,7 +687,7 @@
+ 'chvt' to a text console releases the device and you can unload the
+ module.
+
-+ Check out the latest script (available on suspend2.net).
++ Check out the latest script (available on tuxonice.net).
+
+4. Why not just use the version already in the kernel?
+
@@ -742,7 +715,7 @@
+
+ A suspend cycle can be started directly by doing:
+
-+ echo > /sys/power/suspend2/do_resume
++ echo > /sys/power/tuxonice/do_resume
+
+ In practice, though, you'll probably want to use the hibernate script
+ to unload modules, configure the kernel the way you like it and so on.
@@ -754,7 +727,7 @@
+ takes.
+
+ If you're using the text or splash user interface modules, one neat feature
-+ of Suspend2 that you might find useful is that you can press Escape at any
++ of TuxOnIce that you might find useful is that you can press Escape at any
+ time during suspending, and the process will be aborted.
+
+ Due to the way suspend works, this means you'll have your system back and
@@ -762,15 +735,15 @@
+ very end of writing the image. Then it will need to reload a small (
+ usually 4-50MBs, depending upon the image characteristics) portion first.
+
-+ If you run into problems with resuming, adding the "noresume2" option to
++ If you run into problems with resuming, adding the "noresume" option to
+ the kernel command line will let you skip the resume step and recover your
+ system.
+
-+6. What do all those entries in /sys/power/suspend2 do?
++6. What do all those entries in /sys/power/tuxonice do?
+
-+ /sys/power/suspend2 is the directory which contains files you can use to
-+ tune and configure Suspend2 to your liking. The exact contents of
-+ the directory will depend upon the version of Suspend2 you're
++ /sys/power/tuxonice is the directory which contains files you can use to
++ tune and configure TuxOnIce to your liking. The exact contents of
++ the directory will depend upon the version of TuxOnIce you're
+ running and the options you selected at compile time. In the following
+ descriptions, names in brackets refer to compile time options.
+ (Note that they're all dependant upon you having selected CONFIG_SUSPEND2
@@ -819,7 +792,7 @@
+
+ - do_suspend:
+
-+ When anything is written to this file, the kernel side of Suspend2 will
++ When anything is written to this file, the kernel side of TuxOnIce will
+ begin to attempt to write an image to disk and power down. You'll normally
+ want to run the hibernate script instead, to get modules unloaded first.
+
@@ -832,43 +805,32 @@
+
+ These option can be used to temporarily disable various parts of suspend.
+
-+ - encryption/*
-+
-+ The iv, key, save_key_and_iv, mode and algorithm values allow you to
-+ select a cryptoapi encryption algoritm, set the iv and key and whether
-+ they are saved in the image header. Saving the iv and key in the image
-+ header is of course less secure than having them on some external device,
-+ such as a USB key. If you want to use a USB key, you'll need to write
-+ some scripting in your initrd/ramfs to retrieve the key & iv from your
-+ USB key and put them into the entries again prior to doing the echo to
-+ do_resume.
-+
+ - extra_pages_allowance
+
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/linux-2.6-suspend2.patch?r1=1.1.2.2.2.3&r2=1.1.2.2.2.4&f=u
More information about the pld-cvs-commit
mailing list