Penguin
Diff: HowToSwapSpace
EditPageHistoryDiffInfoLikePages

Differences between current version and predecessor to the previous major change of HowToSwapSpace.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 3 Last edited on Friday, October 29, 2004 4:28:30 am by StuartYeates
Older page: version 2 Last edited on Friday, June 7, 2002 1:07:38 am by perry Revert
@@ -1,1835 +1 @@
-  
-  
-  
-Linux Swap Space Mini-HOWTO  
-  
-  
-  
-----  
-  
-!!!Linux Swap Space Mini-HOWTO  
-  
-!!Rahul U. Joshi,  
-jurahul@hotmail.com  
-http://jurahul.freeservers.comv1.42, 18 January 2000  
-  
-  
-----  
-''This Linux Mini-HOWTO describes how to share your Linux swap partition with Windows.''  
-----  
-  
-  
-  
-  
-!!1. Introduction  
-  
-  
-  
-  
-!!2. What you need  
-  
-  
-  
-  
-!!3. Recent Changes and versions  
-  
-  
-  
-  
-!!4. Administrative  
-  
-  
-*4.1 Copyright  
-  
-*4.2 Disclaimer  
-  
-  
-  
-  
-  
-!!5. Before you begin  
-  
-  
-  
-  
-!!6. The Procedure  
-  
-  
-*6.1 Turn off swapping and create a DOS partition  
-  
-*6.2 Tell Windows the location of the new swap file  
-  
-*6.3 Back up the Total Special Sectors  
-  
-*6.4 Modify the initialization and shutdown scripts to handle our new configuration  
-  
-*6.5 Reenable swapping  
-  
-  
-  
-  
-  
-!!7. A couple of notes  
-  
-  
-  
-  
-!!8. What are we exactly doing ?  
-  
-  
-  
-  
-!!9. The swapinit.sh script  
-  
-  
-  
-  
-!!10. The swaphalt.sh script  
-  
-  
-  
-  
-!!11. The msinfo.sh script  
-  
-  
-  
-  
-!!12. The original msinfo file  
-  
-  
-  
-  
-!!13. Acknowledgements, feedback and dedication  
-----  
-  
-!!1. Introduction  
-  
-  
-  
-Many people use both Linux and MS-Windows. The ability to do so is an  
-important part of "the Linux revolution"; i.e. letting people  
-experiment with (and get hooked on) Linux while still being able to  
-run their off-the-shelf software. Since both Linux and MS-Windows use  
-virtual memory with swap to disk, a frequently occurring question in  
-comp.os.linux.setup is how to share swap spaces, in order to reduce the  
-amount of disk space needed.  
-  
-  
-There are several methods for sharing swap spaces, the one described  
-in this document is probably the most complicated one but is the only  
-one I have encountered that allows maximum performance for both  
-environments without the risk of trashing a disk partition. If you are  
-using DOS, then many DOS applications manage their own swap files. You  
-can also share the Linux swap partition with these applications.  
-  
-  
-  
-  
-  
-  
-----  
-  
-!!2. What you need  
-  
-  
-  
-This procedure have a few requirements that need to be filled. I  
-strongly recommend that you fill these requirements *anyway*, as there  
-are several problems with older versions.  
-  
-  
-  
-  
-  
-  
-  
-  
-#  
-MS-DOS 5.0 or newer and MS-Windows 3.1/3.11 __OR__ MS-Windows 95/98  
-#  
-  
-#  
-A shutdown/init that knows to run a file on shutdown.  
-(The !SysVinit-2.50 package can do this, for example.  
-!SysVinit-2.50 is available from sunsite.unc.edu in  
-/pub/Linux/system/Daemons. Almost all current distributions  
-use this init package.)  
-#  
-  
-----  
-  
-!!3. Recent Changes and versions  
-  
-  
-  
-  
-  
-* Version 1.3 -- Written by H. Peter Anvin, and was not maintained  
-from 15 Jan 1998.  
-*  
-  
-* Version 1.4 -- Based on v1.3, but added more details.  
-Currently maintained by Rahul U. Joshi  
-*  
-  
-* Version 1.42 -- Deleted the recovery section for v1.4 users an v1.4  
-never actually appeared on the LDP website.  
-*  
-  
-  
-  
-Modifications by Rahul U. Joshi  
-  
-  
-Date: 26 Nov 1999  
-  
-  
-  
-  
-  
-* Added Windows 95/98 specific details.  
-*  
-  
-* Added Red Hat Linux specific details.  
-*  
-  
-* Modified the msinfo program.  
-*  
-  
-* Added sections 5 to 12.  
-*  
-  
-* Completely revamped the "Procedure" section to make it more understandable.  
-*  
-  
-* Split up the swap initialization and halt into two shell scripts.  
-*  
-  
-* Modified the scripts to handle signature verification more than once.  
-*  
-  
-* Added details about new type swap areas.  
-*  
-  
-* Added more reliable schemes.  
-*  
-  
-----  
-  
-!!4. Administrative  
-  
-!!4.1 Copyright  
-  
-  
-  
-Unless otherwise stated, Linux HOWTO documents are copyrighted by  
-their respective authors. Linux HOWTO documents may be reproduced and  
-distributed in whole or in part, in any medium physical or electronic,  
-as long as this copyright notice is retained on all copies. Commercial  
-redistribution is allowed and encouraged; however, the author would  
-like to be notified of any such distributions.  
-  
-  
-All translations, derivative works, or aggregate works incorporating  
-any Linux HOWTO documents must be covered under this copyright notice.  
-That is, you may not produce a derivative work from a HOWTO and impose  
-additional restrictions on its distribution. Exceptions to these rules  
-may be granted under certain conditions; please contact the Linux  
-HOWTO coordinator at the address given below.  
-  
-  
-In short, we wish to promote dissemination of this information through  
-as many channels as possible. However, we do wish to retain copyright  
-on the HOWTO documents, and would like to be notified of any plans to  
-redistribute the HOWTOs.  
-  
-  
-If you have questions, please contact Tim Bynum, the Linux HOWTO  
-coordinator, at  
-linux-howto@sunsite.unc.edu via email.  
-  
-  
-  
-  
-  
-  
-  
-!!4.2 Disclaimer  
-  
-  
-  
-Although I have tried my best to bring out various facts, the author is  
-not responsible for any damage due to the actions taken based upon the  
-information contained in this document. It is impossible to test the  
-things under all the configurations, so probably some of the hints given  
-in this document may be buggy and may not work on your system. In case you  
-trace the bug, let me know it first !  
-  
-  
-This document is provided ``as is''. I put great effort into writing  
-it as accurately as I could, but you use the information contained in  
-it at your own risk. In no event shall I be liable for any damages  
-resulting from the use of this work.  
-  
-  
-In case you are planning to include this HOWTO on some distribution medium  
-or in print, I will like to have an acknowledgement e-mail (just for my  
-record). In that case, I may also be able to send you the latest version of  
-the document.  
-  
-  
-  
-  
-  
-  
-----  
-  
-!!5. Before you begin  
-  
-  
-This is __not__ a step by step HOWTO. The reader is expected to first  
-read the entire document so that he (or she) becomes aware of the possible  
-pitfalls and performance bottlenecks. After having a fair idea as to what  
-steps are to be taken, he (or she) can then follow the next section in a  
-step by step manner. Since you will be playing as a root and that too with  
-the system initialization files, be alert as to what you are doing. Write in  
-those files comments for those sections that you added, and when you want  
-to remove a section, do not delete it. Instead just comment it out. (In  
-shell scripts comments begin with a pound(#) sign). In case things go wrong,  
-you may restore your original configuration by removing the changes you did.  
-Although you are not required to know shell scripting since I have given all  
-those that would be needed, some knowledge may be advantageous both for  
-understanding as well for debugging.  
-  
-  
-  
-----  
-  
-!!6. The Procedure  
-  
-  
-  
-''NOTE:''  
-This procedure has been written keeping in mind !RedHat Linux 6.  
-Although this procedure in general is applicable for all Linux  
-distributions, the details may vary. You are welcome to add the  
-details for your distribution. Many users will already have a  
-swap partition devoted to Linux. I assume you have one.  
-  
-!!6.1 Turn off swapping and create a DOS partition  
-  
-  
-  
-  
-  
-  
-*  
-  
-Boot Linux. Turn off swapping by editing the /etc/fstab file and commenting  
-the line that describes your swap partition.  
-  
-  
-  
-  
-*  
-  
-*  
-  
-Using fdisk under Linux, delete the swap partition in order to create free  
-space on the disk.  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Boot DOS. Create a DOS partition (using FDISK) the size = the size swap space  
-you want. If you cannot create the partition (probably because DOS FDISK says  
-that all the space in extended partition is allocated to the logical drive),  
-you can use fdisk or cfdisk under Linux to create the partition. You can even  
-just change the type of your swap partition from 82h (Linux Swap) to 06h (FAT16).  
-In that case you don't need to delete the swap partition, just change the type.  
-  
-  
-  
-  
-*  
-  
-*  
-  
-Once you have created the partition, Boot DOS if you are not already in DOS.  
-DOS will be assigned a drive letter to your new partition. Use that drive  
-letter instead of X whenever these instructions lists a command like "LABEL X:"  
-or "COPY FOO X:DUMMY.DAT"  
-  
-  
-  
-  
-*  
-  
-*  
-  
-Format this partition using the DOS FORMAT command.  
-  
-  
-C:\>FORMAT X:  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Set the volume label on this partition to "SWAP SPACE" using the DOS LABEL  
-command. Verify it by the DIR command. Please do this as a separate step.  
-Some versions of FORMAT do not seem to put the volume label in the boot sector  
-as it should. [[Note: some people has written me saying the volume label is  
-stored in the root directory. Yes, but at least since DOS 5.0 it has also been  
-in the boot sector. ]  
-  
-  
-C:\>LABEL X:  
-C:\>DIR X:  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-At this stage, you have a DOS partition ready for use for swapping.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-  
-!!6.2 Tell Windows the location of the new swap file  
-  
-  
-!__For Windows 3.1 users__  
-  
-  
-  
-  
-  
-*  
-  
-Start Windows. Go to the Control Panel, select "386 Enhanced". Select "Virtual  
-Memory" and create a Windows Permanent swap file on drive X: of maximum size  
-(Windows will tell you the maximum size). Windows may complain saying it will  
-not use a swap file that big. Ignore the message and create the file anyway.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-Exit Windows.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-  
-!__ For Windows 95/98 users __  
-  
-  
-  
-  
-  
-*  
-  
-  
-Start Windows. Go to the Control Panel (Start | Settings | Control panel).  
-Double click the System icon. In the resulting System Properties dialog box,  
-select the Performance tab. Now click the Virtual Memory button. This will  
-bring up the Virtual Memory dialog box. Select "Let me specify my own virtual  
-memory settings". Select the drive you intend to share as swap space with Linux  
-(X:). Keep the Maximum and Minimum values as selected by Windows. Click  
-OK. Windows will prompt you to restart your computer. Do it.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-When you restart Windows, you will see that the win386.swp file has been  
-created on the X: drive. In addition, there is also the Recycled folder.  
-Since you don't intend to store any other files on this drive and also a single  
-file on this partition will be convienent, tell Windows not to maintain  
-Recycle Bin for this (X:) drive. On the Desktop, left click the Recycle Bin  
-icon, and in the resulting pop-up menu, click Properties. This will bring up  
-the Recycle Bin Properties dialog box. Click the Global tab and select  
-"Configure drives independently". Now click the tab for X: drive (which will  
-have the label SWAP SPACE). In this dialog box, move the slider for "Maximum  
-size of Recycle Bin" to 0 percent. The "Space Reserved" entry should now read  
-as 0 bytes. Click OK. Restart your computer.  
-  
-  
-  
-  
-*  
-  
-*  
-  
-Now that you are not maintaining the Recycle Bin for drive X:, ideally the  
-RECYCLED folder from X: must be deleted by Windows. Not only  
-Windows doesn't does that, but also does not allow you to delete the  
-folder. But as I said earlier, this folder is now unnecessary and we want  
-drive X: to contain only the win386.swp file. For that purpose, first  
-start your computer in MS-DOS mode. Select Start | Shut Down | Restart  
-your computer in MS-DOS mode, or if you are booting Windows, press F8 at  
-the start, and then from the startup menu, select Command Prompt only.  
-Once you are in MS-DOS mode, type the following commands:  
-  
-  
-C:\>X:  
-X:\>ATTRIB -R -H -S RECYCLED  
-X:\>DELTREE RECYCLED  
-  
-  
-  
-  
-Now you have drive X: containing only win386.swp. You can verify this  
-using the various options for the dircommand. This does not mean  
-that the RECYCLED folder will not be there on drive X:. When  
-Windows boots up and finds that there is no RECYCLED folder on  
-X:, it will create it automatically. However, when we will be restoring X:  
-from Linux, it will simply contain win386.swp file. If anyone is aware of  
-a method to prevent Windows from creating the RECYCLED folder,  
-please e-mail me.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-__ Disk Cleanup troubles you ? __  
-  
-  
-  
-If you have Disk Cleanup installed, then ocassionally Windows comes out with a  
-"Low disk space on drive X:". Since we are using the entire X: drive for  
-swapping, there is no need to have any free space on X:. To prevent this dialog  
-box from appearing, start Disk Cleanup (point to Start | Programs |  
-Accessories | System Tools | Disk Cleanup). In the resulting dialog box,  
-select the X: drive and click OK. The "Disk Cleanup for drive X:" dialog box  
-appears. Click the "Settings" tab and uncheck the "If this drive runs low on  
-disk ... blah blah blah" check box.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-  
-  
-  
->From this stage onwards, Windows will assume that it's swap file is on drive  
-X:. So the drive X: must be intact each time you boot Windows. If you are  
-using some additional system utilities like Norton Utilities for Windows 95,  
-then you should probably consult the online help or the manuals to keep them  
-informed of the changes in the settings, otherwise they may come out with  
-an error message.  
-  
-  
-  
-  
-!!6.3 Back up the Total Special Sectors  
-  
-  
-  
-  
-  
-  
-*  
-  
-  
-Boot Linux, then log in as root.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Use the fdisk command to find the name of the partition and its size in blocks.  
-Create a symbolic link from /dev/winswap to this partition. If the  
-partition is hda7, then type:  
-  
-  
-# ln -s /dev/hda7 /dev/winswap  
-  
-  
-  
-  
-[[NOTE TO PURISTS: Please use a symlink. The name of this partition is going  
-to go into several configuration files and inconsistencies could be fatal.]  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Find the "Total Special Sectors" for the swap drive. These are nothing but the  
-total number of sectors required for the boot sector, FAT and root directory.  
-There are a number of ways to find this number. Simplest copy the  
-msinfo.sh file using your favourite editor. Give the  
-following commands at the shell prompt  
-  
-  
-# cp Swap-Space-HOWTO msinfo.sh  
-# chmod +x msinfo.sh  
-  
-  
-  
-  
-(Much easier if you use one of the editors with KDE or GNOME)  
-  
-  
-Now, open the msinfo.sh file in the editor and delete everything except the  
-msinfo.sh file in section 8. Now run this file as  
-  
-  
-# ./msinfo.sh /dev/winswap  
-  
-  
-  
-  
-The program will print the some information about the swap partition. Take note  
-at the number saying "Total special sectors", and verify that the volume label  
-says "SWAP SPACE". If it does not, reboot DOS and re-do the LABEL command.  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-__Note:__ You can also find the "Total Special Sectors" using tools that  
-can display the Boot sector like the Norton Disk Editor or minfo from mtools  
-under Linux. For Norton Disk Editor, select "Boot Sector" from the Object  
-menu. Note down the following entries :  
-  
-  
-Reserved Sectors at beginning : r  
-FAT Copies : f  
-Sectors per FAT : s  
-Root directory entries : r  
-  
-  
-  
-  
-Now the "Total Special Sectors" is given by  
-  
-  
-T = r + (s * f) + (d / 16)  
-  
-  
-However, using the above program is more convienent.  
-  
-  
-Let us denote these Total Special Sectors by XXX.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-[[Optional step] Windows may occasionally leave some space on the partition,  
-even if it is told not to. Don't attempt to use this space, since it will be  
-erased any time you run Linux. If you want to avoid accidentally using it  
-(and lose data), you can create a dummy file that fills that space by using  
-the following commands:  
-  
-  
-mkdir /mnt  
-mount -t msdos /dev/winswap /mnt  
-dd if=/dev/zero of=/mnt/dummy.fil  
-umount /mnt  
-  
-  
-  
-  
-The dd command will report "No space left on device". This is exactly what  
-you want.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Type on the shell prompt:  
-  
-  
-# dd if=/dev/winswap bs=512 count=XXX | gzip -9 > /etc/winswap.gz  
-^^^  
-  
-  
-  
-  
-  
-  
-  
-... where XXX is replaced with the "Total special sectors" number.  
-  
-  
-Here we are saving the Total Special Sectors in a compressed form in the file  
-/etc/winswap.gz  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-  
-!!6.4 Modify the initialization and shutdown scripts to handle our new configuration  
-  
-  
-  
-  
-  
-  
-*  
-  
-  
-  
-Now, we will modify our initalization scripts so that swap space will be  
-create on the partition each time Linux starts and the DOS/Windows special  
-sectors will be restored each time Linux shut downs.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Instead of placing the command for handling the details directly in the  
-initialization scripts, we will prepare two separate files called swapinit.sh  
-and swaphalt.sh. One sample of these files that should work under Red Hat Linux  
-is given in section at the end. You can choose to place these files under  
-any directory, preferably /etc/rc.d/init.d. Create the two files in this  
-directory and copy into then the scripts given in sections at the end. One  
-simple way is to copy this HOWTO in these files as,  
-  
-  
-# cp Swap-Space-HOWTO /etc/rc.d/init.d/swapinit.sh  
-# cp Swap-Space-HOWTO /etc/rc.d/init.d/swaphalt.sh  
-  
-  
-  
-  
-and then using your favourite editor, delete all execpt the required part. Now  
-make these file "executable" by giving the following commands  
-  
-  
-# chmod +x swapinit.sh  
-# chmod +x swaphalt.sh  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-Run fdisk and find the size of the swap partition in blocks. In both the above  
-files (swap????.sh) replace the YYYYY by this number.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Check the name of the shutdown file. For !SysVinit this is the file listed in  
-the following line of /etc/inittab; add it if you don't have it.  
-  
-  
-# Runlevel 0 means shut down the system  
-l0::wait:/etc/brc  
-  
-  
-  
-  
-(Under Red Hat Linux, this file probably will be /etc/rc.d/init.d/halt)  
-If you are not in a position to find it out, browse through the /etc directory  
-and find the initialization file that contains the "swapon -a" command. Only  
-this much for now !  
-  
-  
-For the remainder of this file, I will assume the filename was  
-/etc/rc.d/init.d/halt (halt for short).  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Check the name of your system initialization file. For !SysVinit, this is the  
-file listed in the following line of /etc/inittab.  
-  
-  
-# System initialization  
-si::sysinit:/etc/rc.d/rc.sysinit  
-  
-  
-  
-  
-In case of your distribution, your file may be different. I assume that the  
-file is /etc/rc.d/rc.sysinit (rc.sysinit for short)  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-  
-Add the following piece of code to your initialization file (rc.sysinit),  
-in place of the "swapon -a" command. You may consider not deleting but just  
-commenting the original commands so that if something goes wrong, we can  
-restore the script to it's initial state.  
-  
-  
-If your swapon is in /etc, replace /sbin/swapon with /etc/swapon.  
-If it is in /bin, replace with /bin/swapon. Do the same for mkswap.  
-  
-  
-# -----------------------------------------------------------------------  
-# removed by yourname  
-# Start up swapping.  
-# action "Activating swap partitions" swapon -a  
-# -----------------------------------------------------------------------  
-# ----------------------------------------------------------------------  
-# added by yourname  
-# Verify and initialize swap space  
-#  
-/etc/rc.d/init.d/swapinit.sh  
-# ----------------------------------------------------------------------  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-  
-A simple way to paste the text is to start two Virtual Consoles. Log as a root  
-in both cases. Use your favourite editor to open this HOWTO on one console and  
-the script to be modified on other console. Now select the above code with your  
-mouse and switch to the other console. Place the cursor at the desired position  
-to paste and press the right mouse button. The selected text will be copied.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-  
-Add the following piece of code to your shutdown file (halt).Put this after  
-any command that might need swap to be in place. Normally, your halt file will  
-have the "swapoff -a" command. First replace the -a by /dev/winswap. Then  
-immediately after that section, add the following commands.  
-  
-  
-  
-  
-  
-''Note for !RedHat Linux 6.1 : '' It seems that Red Hat Linux 6.1 halt  
-script automatically finds all the swap partitions and turns of swapping.  
-So, !RedHat Linux 6.1 users need __not__ replace the swapoff  
-$SWAPS comamnd by the swapoff -a command. In that case, just  
-add the /etc/rc.d/init.d/swaphalt.sh command to the halt file  
-  
-  
-  
-  
-  
-# ------------------------------------------------------------------------  
-# Modified by yourname  
-# replaced "swapoff -a" by "swapoff /dev/winswap"  
-#  
-# Turn off swap, then unmount file systems.  
-runcmd "Turning off swap and accounting" swapoff /dev/winswap  
-[[ -x /sbin/accton ] && /sbin/accton  
-# ------------------------------------------------------------------------  
-# ------------------------------------------------------------------------  
-# Added by yourname  
-# check swap signature and restore Windows swap info  
-/etc/rc.d/init.d/swaphalt.sh  
-# ------------------------------------------------------------------------  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-  
-!!6.5 Reenable swapping  
-  
-  
-  
-  
-Uncomment the line in /etc/fstab that you commented earlier. (Not really  
-necessary, since we now do not refer to fstab for swap partitions). Reboot  
-Linux. You should now have swapping on the new swap device.  
-  
-  
-  
-----  
-  
-!!7. A couple of notes  
-  
-  
-  
-  
-  
-*  
-  
-There is no need to add /dev/winswap to your /etc/fstab file. In fact, it is  
-probably wise not to do so (except possibly as a comment).  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-If your Linux session crashes or otherwise exits without running  
-/etc/rc.d/init.d/halt, you will need to reboot and exit Linux before swapping  
-in Windows will work. It is also possible to FORMAT X: and re-create the  
-Windows swap file. The only way around this would be to put the equivalent of  
-the /.../halt commands in the DOS AUTOEXEC.BAT file. I have tried to write  
-some programs to do this, but that turned out to be a hell lot of trouble !  
-First and foremost, simply restoring the total special sectors doesn't  
-please DOS. Along with that, it seems you need to modify some internal data  
-structures so that DOS starts recognizing your drive, otherwise DOS comes  
-out with the error message:  
-  
-  
-Invalid media type reading drive X:  
-Abort, Retry or Fail ?  
-  
-  
-Since I am not aware of many details of DOS's or Windows's handling of  
-disk drives, I think at this point, you may consult some DOS expert.  
-Of course, if you are not concerned about the booting time, then you can  
-simply add the command to perform an unconditional FORMAT of X: and then  
-restore the TSS's. May be there are some other solutions. If you are aware  
-of one, please e-mail me today !  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-One way to restore your Windows swap partition is to start Linux, disable  
-swapping as described above, and then use the following command :  
-  
-  
-# swapoff -a  
-# zcat /etc/winswap.gz > /dev/winswap  
-# reboot  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-__Why to delete the RECYCLED folder ?__  
-According to the procedure mentioned above, you must delete the RECYCLED  
-folder. This is necessary because we will be saving and restoring only the  
-sectors unto the root directory, but no further sectors. Also, we want the  
-drive X: to be restored to a "clean" state with no errors. If we don't  
-delete the RECYCLED folder, then the root directory entry is  
-restored, but the "." and ".." entries for this folder are not restored  
-and !ScanDisk finds errors on the disk. To prevent this from happening, we  
-will delete the RECYCLED folder and hence only the entry for win386.swp file will be restored.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-  
-If DOS' FDISK reports the partition as a "logical DOS drive", it has a number  
-of 5 (as in /dev/hda5) or higher. It is *NOT* the partition labelled  
-"extended" which has a number of 4 or less!! If your Linux fdisk does not  
-display logical partitions, you have a broken Linux fdisk (Slackware 2.2  
-included a broken fdisk, for example.) You can try "cfdisk" if your  
-distribution has it, or you will have to get a working fdisk.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-  
-When you turn off swapping, Linux has to manage everything in the main  
-memory itself. If your system memory is low, say something like 16MB, then  
-some large applications that run during initialization may not be able to  
-run properly. As an example, you may get the following message during  
-initialization:  
-  
-  
-  
-  
-  
-Finding module dependencies Out of memory  
-  
-  
-  
-  
-I don't think this will cause any problems later until you reenable  
-swapping. But it's always better to take some precautions. As you will be  
-seeing in the next section, Linux can also be configured to use a swap  
-file instead of a swap partition. So if you feel that Linux will not run  
-properly with your normal system memory, create a swap file that Linux  
-will use temporarily until swapping is restored. This swap file should  
-preferably in the root directory. Figure out the minimum size of swap space  
-required. It will probably equal to your system memory. Create a swap file  
-of that size by giving the following commands (assuming 16MB swap space):  
-  
-  
-  
-  
-  
-# dd if=/dev/zero of=/swap bs=1024 count=16384  
-# mkswap /swap 16384  
-# sync  
-  
-  
-  
-  
-Now place the command swapon /swap just after the original  
-swapon -a command in the rc.sysinit file. Thus, now your system  
-has been configured to use swap file and hopefully there will be no Out  
-of memory errors. After having a workable swap partition (i.e after  
-following through this HOWTO completely), you can remove the swapon /swap line that you added to your rc.sysinit file.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Please do not mail me unless you have checked and re-checked that you copied  
-your scripts correctly. More than half of the problems reported with this  
-Mini-HOWTO have been due to typos when copying the scripts. (Use cut-and-  
-paste if you can!). Even a spacing error can cause an error. For example, if  
-at the startup you get the messages  
-  
-  
-Verifying swap space...Linux signature found  
-swapon: /dev/winswap invalid argument  
-  
-  
-  
-  
-Then, surely there has been a typing mistake in your scripts. Please check  
-your scripts.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-Sometimes, the swap partition is detected to have neither Linux nor Windows  
-info and the "No signature found" error appears. I exactly don't know why this  
-happens, but for that case, I have written the code in swap????.sh files to  
-try six times before reporting an error. Normally, the DOS signature should be  
-found on the first try, but many a times on my system it is found on iteration  
-2, 5 or not at all after 12 iterations. You may consider increasing the number  
-of tries to some value like 12 or 24, there is no harm in doing so. Once on my  
-system, the script could not detect the signatures even after 50 iterations !  
-If such a situation arises, you may consider making a symbolic link to the  
-swapinit.sh file in your root home directory, and execute it at startup.  
-  
-  
-# ln -s /etc/rc.d/init.d/swapinit.sh swapinit.sh  
-# ./swapinit.sh  
-  
-  
-  
-  
-However, what I have observed is that once the setup runs on your system for  
-some time, the appropriate signatures are always found on the first iteration.  
-  
-  
-  
-  
-*  
-  
-*  
-  
-__For added reliability__  
-  
-  
-Your Linux Box runs something very important, or your system memory is less  
-so that without swapping, your applications just start collapsing ? You have  
-set up the swap partition to be shared by Windows. But many a times, your  
-system is unable to detect the proper signatures after exhaustive probing  
-and so disables any swapping partitions. __At your own risk__, you may  
-consider removing the signature checking logic, but here is a more  
-approachable solution.  
-  
-  
-First refer to the  
-previous point and create  
-a swap file in the Linux root directory, with the name /swap. Keep it's size  
-according to your requirement. Now open the swapinit.sh file and modify the  
-last if statement as follows:  
-  
-  
-  
-  
-  
-if [[ $activated -ne 1 ] ; then  
-echo "Swap signature not found after $loopcount tries"  
-echo "Activating swap file"  
-swapon /swap  
-exit 1  
-fi  
-  
-  
-  
-  
-Thus if we find that swap partition lacks appropriate swap signatures, then  
-we enable the swap file. Since the swap file is on the root partition and  
-the Linux Kernel refuses to proceed until it mounts the root file system,  
-you are safely assured that the swap file will always be successfully  
-activated. Instead of creating and keeping the swap file and wasting disk  
-space, you may also modify the code to create the swap file ''on the  
-fly''.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-__Saving more disk space__  
-As we saw, Linux and Windows can share their swap spaces. But Window doesn't  
-really require as large a swap file as your Linux swap partition ? Then you  
-can have some free space on the swap partition (keep the Windows swap file  
-size smaller than the swap partition size). Swapping for Windows based  
-applications is managed by Windows itself. But many DOS programs like  
-Turbo C++ Compiler, Norton DOS etc. also manage their own swap files. In  
-that case it is possible to configure these programs so that they create  
-their swap files in the swap partition instead of their default location.  
-This will increase your usable disk space. Also, most of these program  
-forget to delete the swap files they created, leading to a large used disk  
-space. But with this setup, every time you shut down Linux, you get a clean  
-swap partition, saving your time in finding and deleting these swap files.  
-For example, you can tell Turbo C++ to swap on drive say E: by invoking it  
-as  
-  
-  
-C:\CLAN>TC /RE  
-  
-  
-For Norton DOS, set the variable in the NDOS.INI file as,  
-  
-  
-Swapping = E:\  
-  
-  
-Many other programs may rely on the TEMP or TMP  
-environment variables to decide where they will swap. In that case you may  
-set these variables appropriately in your AUTOEXEC.BAT file.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-__ What if the swap partition is a FAT32 ? __  
-No, you can't have a swap partition with a FAT32 file system. First of all,  
-Linux can use a maximum of 128MB of swap space on a single swap partition.  
-Thus, if your swap partition is larger than 128MB, you are wasting your disk  
-space. And Windows will refuse to convert a partition of 128MB into a FAT32  
-file system.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-__The new style swap space __  
-Linux knows about two styles of swap areas, the old style and the new style.  
-By default, you will be using the old style swap space with a signature  
-"SWAP-SPACE". If you want to use the new style swap space, then first of all  
-change "SWAP-SPACE" in all the above scripts to "SWAPSPACE2". Also add an  
-option -v1 in the mkswap command in the swapinit.sh script, as follows  
-  
-  
-/sbin/mkswap -v1 /dev/winswap YYYYY  
-  
-  
-  
-  
-Also, run the following commands from the shell prompt :  
-  
-  
-# swapoff /dev/winswap  
-# mkswap -v1 /dev/winswap YYYYY  
-# swapon /dev/winswap  
-  
-  
-  
-  
-It seems that under new style swap space, your usable swap partition can be as  
-large as 2GB on i386 platforms. This means that you can now have a swap  
-partition larger than 512MB which Windows can format as a FAT32 partition .  
-Someone help on how do we save the "Total Special Sectors" under a FAT32  
-partition.  
-  
-  
-  
-  
-*  
-  
-*  
-  
-__For users of WINE__  
-WINE is a program which allows  
-running Microsoft Windows programs on Linux. If you are using WINE on a system  
-that has been set up to share swap partition, then when running a Windows program  
-a win386.swp file of about 8kb is created in your Windows folder. This is  
-because the swap file on X: is not available at that time. You can safely delete  
-this file once you finish running your Windows programs.  
-  
-  
-  
-  
-*  
-  
-----  
-  
-!!8. What are we exactly doing ?  
-  
-  
-  
-  
-  
-*  
-  
-  
-Both Windows and Linux use swap space. When an OS is shut down, the contents of  
-the swap space are just garbage, the OS doesn't bother about what is in it.  
-Now what is the point in devoting a 60MB partition for swap space to Linux and  
-about 32MB of disk space separately to Windows when only one of them is going  
-to run at a time (It is possible to run both Linux and Windows at the same  
-time, thanks to VMWare. For more information, see  
-VMWare website). So we want Linux and Windows to share the same hard  
-disk space as swap space.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-  
-The problem is that Linux uses a partition as a swap space and Windows uses a  
-file as a swap space. ( Although it is possible to create a swap file for  
-Linux, it is not recommended. See ''"Linux Installation and Getting  
-Started"'' by Matt Welsh). Now if Linux uses the same partition on  
-which Windows stores it's swap file, it will overwrite the boot sector, FAT  
-and other data tables that Windows assumes to exist on every drive. Thus,  
-Windows will not be in a position to find the swap file on startup and will  
-create the win386.swp file in the windows directory. Thus, even if by chance,  
-your Linux crashes, Windows will be in a position to start. In such a case  
-( with Windows swap file in the Windows directory), just restore the  
-DOS/Windows swap info by restarting Linux and the start Windows. Now Windows  
-will be using the swap file on drive X: so you can safely delete the  
-win386.swp file in the windows directory.  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-The remedy is to store those critical data tables once on the Linux partition  
-in some file. Then every time Linux starts, check whether the swap space was  
-last used by Linux or Windows (using the label you gave to your partition).  
-If it was Linux, just enable swapping else first make a swap partition on the  
-X: drive using "mkswap /dev/winswap" and then enable swapping.  
-  
-  
-  
-  
-  
-  
-  
-*  
-  
-*  
-  
-  
-When you shut down Linux, it is important to restore the swap partition to the  
-DOS format, so that Windows can start properly. For that purpose we add the  
-  
-  
-/bin/zcat /etc/winswap.gz > /dev/winswap  
-  
-  
-  
-  
-command to the halt file.  
-  
-  
-  
-  
-*  
-  
-----  
-  
-!! 9. The swapinit.sh script  
-  
-  
-  
-This shell script initializes the swap space on the partition. The code for  
-signature detection has been repeated 6 times because many a times the  
-signature is properly detected only on the second or the third try.  
-  
-  
-(Adapted from the original Swap-Space-HOWTO by H. Peter Anvin)  
-  
-  
-#!/bin/sh  
-#  
-# swapinit.sh - activate the swap partition  
-#  
-# written by Rahul U. Joshi  
-# Verify and initialize swap space  
-#  
-echo -n 'Verifying swap space... '  
-loopcount=  
-# flag to indicate whether the partition has been activated or not  
-activated=  
-# check for signatures 6 times before giving up  
-while [[ $loopcount -lt 6 ]  
-do  
-if [[ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" = 'SWAP-SPACE' ]; then  
-echo "Linux signature found, iteration $loopcount"  
-echo "Activating swap partitions"  
-swapon /dev/winswap  
-activated=1  
-break  
-elif [[ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=11 skip=43`" = 'SWAP SPACE ' ]; then  
-echo "DOS signature found, iteration $loopcount"  
-echo "Making swap partition"  
-mkswap /dev/winswap YYYYY  
-echo "Activating swap partitions"  
-swapon /dev/winswap  
-activated=1  
-break  
-else  
-let loopcount=loopcount+1  
-fi  
-done  
-if [[ $activated -ne 1 ] ; then  
-echo "Swap signature not found after $loopcount tries"  
-echo "No swapping partitions activated"  
-exit 1  
-fi  
-  
-  
-----  
-  
-!! 10. The swaphalt.sh script  
-  
-  
-This script first checks the Linux swap signature and then restores the  
-Windows file system on it.  
-  
-  
-(Adapted from the original Swap-Space-HOWTO by H. Peter Anvin)  
-  
-  
-  
-  
-  
-#!/bin/sh  
-#  
-# swaphalt.sh This file is executed through the /etc/rc.d/init.d/halt  
-# script after swapping and accounting has been turned off.  
-#  
-# Author: Rahul U. Joshi  
-#  
-# check swap partition signature and restore Windows swap info  
-loopcount=  
-# flag to indicate whether the swap info has been restored or not  
-restored=  
-# check for swap signature 3 times before giving up  
-while [[ $loopcount -lt 3 ]  
-do  
-if [[ "`/bin/dd 2>/dev/null if=/dev/winswap bs=1 count=10 skip=4086`" = 'SWAP-SPACE' ]; then  
-echo "Restoring DOS/Windows swap info , iteration $loopcount"  
-/bin/zcat /etc/winswap.gz > /dev/winswap  
-restored=1  
-break  
-else  
-loopcount=loopcount+1  
-fi  
-done  
-if [[ $restored -ne 1 ] ; then  
-echo "Swap signature not found after $loopcount tries"  
-echo "Skipping restoring"  
-fi  
-  
-  
-----  
-  
-!! 11. The msinfo.sh script  
-  
-  
-  
-This shell script analyses the boot sector of the given partition and displays  
-some information along with the "Total Special Sectors" in a message box. It  
-assumes that the filesystem on the given partition is a FAT16. If not, it will  
-print an error message and exit. Invoke it as  
-  
-  
-# msinfo <partition name>  
-  
-  
-  
-  
-To run this script, you will need the "dialog" program that displays dialog  
-boxes. You can get it from  
-here.  
-  
-  
-  
-  
-  
-#!/bin/sh  
-#  
-# msinfo.sh This shell script displays the boot sector of the  
-# given partition.  
-#  
-# Author: Rahul U. Joshi  
-#  
-# Modifications Removed the use of expr and replaced it by the let  
-# command.  
-#  
-# ------------------------------------------------------------------------  
-# This program is a free software, you can redistribute it and/or modify  
-# it under the eterms of the GNU General Public Liscence as published by  
-# the Free Software Foundation; either version 2 or (at your option) any  
-# later version.  
-#  
-# This program is being distributed in the hope that it will be useful,  
-# but WITHOUT ANY WARRANTY without even the implied warranty of  
-# MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General  
-# Public Liscence for more details.  
-# -------------------------------------------------------------------------  
-# check for command line arguments  
-if [[ $# -ne 1 ]; then  
-echo "Usage: msinfo <partition name>"  
-exit 1  
-fi  
-# check whether the input name is a block device  
-if [[ ! -b $1 ]; then  
-echo "msinfo: $1 is not a block device"  
-exit 1  
-fi  
-# create two temporary files for use  
-TMPFILE=`mktemp -q /tmp/$.XXXXXX`  
-if [[ $? -ne 0 ]; then  
-echo "msinfo: Can't create temp file, exiting..."  
-exit 1  
-fi  
-TXTFILE=`mktemp -q /tmp/$.XXXXXX`  
-if [[ $? -ne 0 ]; then  
-echo "msinfo: Can't create temp file, exiting..."  
-rm -f $TMPFILE  
-exit 1  
-fi  
-backtitle="`printf "%78s" "msinfo, Information about FAT16 filesystem -- Rahul Joshi"`"  
-dialog --title "Boot sector of $1" --backtitle "$back_title" \  
---infobox "\nAnalysing boot sector for $1\nPlease wait..." 14 60  
-# truncate TXTFILE to zero length  
-echo > $TXTFILE  
-# get Formatting DOS version  
-dd 2>/dev/null if=$1 bs=1 count=8 skip=3 | dd 2>/dev/null of=$TMPFILE  
-printf >>$TXTFILE "%30s : %s\n" "Formatting DOS version" "`cat $TMPFILE`"  
-# get file system  
-dd 2>/dev/null if=$1 bs=1 count=8 skip=54 | dd 2>/dev/null of=$TMPFILE  
-printf >>$TXTFILE "%30s : %s\n" "Filesystem" "`cat $TMPFILE`"  
-# check if filesystem in a FAT16  
-if [[ "`cat $TMPFILE`" != "FAT16 " ]; then  
-dialog --title "Boot sector of $1" --backtitle "$back_title" \  
---infobox "\nCan't find a FAT16 filesystem on $1" 14 60  
-exit 2  
-fi  
-# get volume label in boot sector  
-dd 2>/dev/null if=$1 bs=1 count=11 skip=43 | dd 2>/dev/null of=$TMPFILE  
-printf >>$TXTFILE "%30s : %s\n" "Volume label in boot sector" "`cat $TMPFILE`"  
-# get Sector size  
-dd 2>/dev/null if=$1 bs=1 count=2 skip=11| od -An -tdS | dd 2>/dev/null of=$TMPFILE  
-printf >>$TXTFILE "%30s : %d\n" "Sector size" `cat $TMPFILE`  
-sector_size=`cat $TMPFILE`  
-# get Reserved sectors  
-dd 2>/dev/null if=$1 bs=1 count=2 skip=14| od -An -tdS | dd 2>/dev/null of=$TMPFILE  
-printf >>$TXTFILE "%30s : %d\n" " Reserved sectors" `cat $TMPFILE`  
-reserved_sectors=`cat $TMPFILE`  
-# get FAT sectors  
-dd 2>/dev/null if=$1 bs=1 count=1 skip=16| od -An -tdS | dd 2>/dev/null of=$TMPFILE  
-fat_count=`cat $TMPFILE`  
-dd 2>/dev/null if=$1 bs=1 count=2 skip=22| od -An -tdS | dd 2>/dev/null of=$TMPFILE  
-sectors_per_fat=`cat $TMPFILE`  
-# calculate the no of sectors allocated for FAT's  
-let fat_sectors=fat_count*sectors_per_fat  
-printf >>$TXTFILE "%30s : %u (%u x %u) \n" "FAT sectors" "$fat_sectors" \  
-"$fat_count" "$sectors_per_fat"  
-# get root directory sectors  
-dd 2>/dev/null if=$1 bs=1 count=2 skip=17| od -An -tdS | dd 2>/dev/null of=$TMPFILE  
-root_sectors=`cat $TMPFILE`  
-# calculate the no of sectors allocated for root directory  
-let root_sectors=root_sectors*32/sector_size  
-printf >>$TXTFILE "%30s : %u\n" "Root directory sectors" "$root_sectors"  
-# get Total special sectors  
-let total=reserved_sectors+fat_sectors+root_sectors  
-printf >>$TXTFILE "%30s : %u\n" "Total special sectors" "$total"  
-# display the information  
-dialog --title "Boot sector of $1" --backtitle "$back_title" --msgbox "`cat $TXTFILE`" 14 60  
-# delete temporary files  
-rm -f $TMPFILE  
-rm -f $TXTFILE  
-# end of msinfo.sh  
-  
-  
-----  
-  
-!!12. The original msinfo file  
-  
-  
-  
-Here is the msinfo file required to find the "Total Special Sectors". It was  
-included by the original author of this HOWTO in an encoded form. First copy  
-the text from the line "begin 755 msinfo.gz" to the line "end" into a  
-temporary file say temp.uu. Then uudecode this file, and finally gunzip to get  
-msinfo file.  
-  
-  
-# uudecode temp.uu  
-# gunzip msinfo.gz  
-  
-  
-  
-  
-Now run the program using the command  
-  
-  
-# ./msinfo /dev/winswap  
-  
-  
-The program displays the boot sector information for given partition as well  
-as the "Total Special Sectors" for the drive.  
-  
-  
-begin 755 msinfo.gz  
-M'XL(`$$YNRT"`Y557TQ;51@_MW]HZ0AM'"$U-.28W([[..>84%1%D2QH>',9*  
-M2S&VC);V=FV]T*;WWBD+1I)K'YH;DOJF#YH80GPR^J""D"R8-K('MS2;#Q*S  
-M%Y,E-P&592A$V:[[?.;?M"FP/?DG/G^_[[?7_Z_3G7PL313TT(?8P0<J"CI':8  
-M$5H^#:=5<KT^MQ`^UAQ1O*QUH0<.]B7S/FC[[U!98Y;))]<*N^AG"^LB((J%E  
-MAFIM[[A9U0O`;%:*7N#[[L%G!_-IH34V(J,WUZ.CK%O6I#N4DTE,E-144Q-7T)  
-M>]_PX\M<3@!`'ZZ26[[`-I7A.F!%$;JK.;21`!#.\-,5A/CK)\=B3FL:3F8PH  
-M<#$QDSO91Q%^>L%"Z@KW*"-NR3;""5SN,A?'NI[[=P0Q=#[[P&&$5@3UNZ3VW  
-M=-(V`NYQ/)6CX)DC2F`KD!&C/!:R7"Q%]L-6`8'D+=]8T*^$V8@RR\;5\P9(  
-M^;\&T:F]E`Q`EI,_6YHCZBT#BJ09M0VV9!:XVKLF]0NX%'Z4R];\W](3A-%J  
-MI:`_&12!>@33QC0S'V8]?O5+`;3UC23K)!"?@97N8R#:29MF/>R)PI>UJF)  
-MK%/-4QR39OSJE8,8MHZ)UC#`?1ZX'N!ZU`L'X;@.?X[["C<1DUT%,9QW32C''  
-M"<98PQR#8#=(L'>96NQWR/4W1@>H3\'!OC3,MMN_"[[,=A1OVK^XEH($[[$S^H  
-MY@28=MB78-$/`=8)(L=\P*$5*I_LS@)_G7!=\Z9V@F"``Y$XQM[[T!T>(WHNU  
-M/T9CH)YIZI("&9ZK32AR=DTN/QNZ."&7?27H_<(=_^=Q"U1N3Y.>!-E`$BY(  
-M;(4ZG)/[[\_0F_54HY7\5[[<!33)\2M%:Y(.THX_N%K?%2L9&(O=4>8F^@IV9(  
-M,<HEDU:17T'23M)GA#ANW-<F'J5-]>6!G2;BU+YN)@<RL.JBIFD4[[:<###UG  
-MO3Z77WO?L?O+@@G\+(-<"X&QT"&#_N7@_\2;JGAEF&U1`JR#ZCD/Z]7HJ'ZH  
-M09_JNAZGJ^N?X5.39_AXMY!!?3@6G>X2,9^)QG%\!IZ@5`SSJ>EWN!SN>HCK  
-MLJ%F08R*J5B4YV=T0-R&J#UYJW>4#"7/#D,/GG`0ZI@__`;6->]K!>C[[<GD  
-M31/IQP>:!B]D?DT,*<;Y6=9Y]3:P][[^W`?+>8F(1!*ZY7B1:BN=@D_XY9?0I  
-M'?ZT0=V@BBWIIV$47#Y@7-,9Q><*=7;NMW-NS2>9#_X3V)8()?A$;!`ALRW  
-M#&\%RO_^@9F6TP<]'M8J@'AFA"[[JM](WCQ!`[[.826!F&A@HG4JWU5R_KKL&  
-M9GNQF$;J[[?NZ\YUZ?B].C,OEWI*\94J`:6LB?U,RK^2.([[0QRQK(W!D2[[K5M  
-M,G>&0B7A'K03F"'17*&L#9XU@+U2L9K4-GCIG(K(NE:SM,>SM,?;X,T:&U6,  
-MT./E%NAUTNE_$,^E(A0M!B7K[[D'>X6'\FC25Q3W=+V3YLR^CXJW.S0>#54*#  
-M#ZE^AI+N-35^_>![[U4!?@VQ%ET<L!BC>MC5"\GH->"T6'4/2NS>((N0,DT>_  
-9K6^!S%65KRS`,`,UVB43\!]-BKG]B`<``#5"  
-`  
-end  
-  
-  
-  
-  
-  
-----  
-  
-!!13. Acknowledgements, feedback and dedication  
-  
-  
-This Mini-HOWTO has been largely derived from the Swap-Space Mini HOWTO by  
-__H. Peter Anvin__. I have added the Windows 95/98 specific details as  
-well as a few Red Hat Linux specific details. The msinfo program given in the  
-original HOWTO didn't work on my Red Hat Linux 6 system, so I created a similar  
-program. However, I have also included the original msinfo program. Thanks to all  
-those __great people involved with the development of Linux__,to the  
-people at __Red Hat__ for giving a great Linux distribution and to __Sanjiv Guha__, one of the co-authors of "Red Hat Linux 6 Unleashed" from  
-Techmedia for guidance about shell programming. Thanks also to __Matt Welsh__,__ Greg Hankins__ and __Eric S. Raymond__, the authors of  
-SGML-Tool's Users Guide, which helped me in converting the document in SGML  
-format. Thanks are also to __Peter Norton__ and __John Goodman__  
-for there venerable "Peter Norton's Inside the PC", which helped me about  
-DOS file system structure. Finally, thanks to __PC Quest Linux Project__  
-for bringing out Linux CDROMS frequently.  
-  
-  
-I rely on you, the readers, to make this HOWTO useful. If you have any  
-suggestions, comments, corrections, requests, flames, etc., feel free to  
-contact me. Right now, I have no internet access, but still you contact me  
-in case of questions at my  
-Hotmail  
-account (Hey! Don't blame me for using a Microsoft service. Hotmail was  
-created by our Indian guy Sabeer Bhatia). May be someone from you local place may also come to your rescue.If  
-you find my account unoperational and your problem is indeed important, you may  
-mail me at  
-amitanatu@sprynet.com.  
-  
-  
-Finally, I would like to dedicate this work to __Robert Lafore__, the  
-author of excellent books "C programming using Turbo C++" and "Object  
-Oriented Programming using Turbo C++" .  
-  
-  
-Enjoy Linux,  
-  
-  
-Rahul :-)  
-  
-  
-  
-----  
+Describe [HowToSwapSpace ] here.