.\" Copyright 1998 Andries E. Brouwer (aeb@cwi.nl)
.\"
.\" May be distributed under the GNU General Public License
.\" Rewritten for 2.1.117, aeb, 981010.
.\"
.TH MKSWAP 8 "13 March 2009" "Linux" "Linux Programmer's Manual"
.SH NAME
mkswap \- set up a Linux swap area
.SH SYNOPSIS
.B mkswap
.RB [ \-c ]
.RB [ \-f ]
.RB [ \-p
.IR PSZ ]
.RB [ \-L
.IR label ]
.RB [ \-U
.IR uuid ]
.I device
.RI [ size ]
.SH DESCRIPTION
.B mkswap
sets up a Linux swap area on a device or in a file.

The
.I device
argument will usually be a disk partition (something like
.IR /dev/sdb7 )
but can also be a file.
The Linux kernel does not look at partition Id's, but
many installation scripts will assume that partitions
of hex type 82 (LINUX_SWAP) are meant to be swap partitions.
(\fBWarning: Solaris also uses this type. Be careful not to kill
your Solaris partitions.\fP)

The
.I size
parameter is superfluous but retained for backwards compatibility.
(It specifies the desired size of the swap area in 1024-byte blocks.
.B mkswap
will use the entire partition or file if it is omitted.
Specifying it is unwise - a typo may destroy your disk.)

The
.I PSZ
parameter specifies the page size to use. It is almost always
unnecessary (even unwise) to specify it, but certain old libc
versions lie about the page size, so it is possible that
.B mkswap
gets it wrong. The symptom is that a subsequent
.B swapon
fails because no swap signature is found. Typical values for
.I PSZ
are 4096 or 8192.

After creating the swap area, you need the
.B swapon
command to start using it. Usually swap areas are listed in
.I /etc/fstab
so that they can be taken into use at boot time by a
.B swapon -a
command in some boot script.

.SH WARNING
The swap header does not touch the first block. A boot loader or disk label
can be there, but it is not recommended setup. The recommended setup is to
use a separate partition for a Linux swap area.

.B mkswap like many others mkfs-like utils erases the first block to remove
.B old on-disk filesystems.

.B mkswap
refuses to erase the first block on a device with a disk
label (SUN, BSD, ...) or on whole disk (e.g. /dev/sda).

.SH OPTIONS
.TP
.B \-c
Check the device (if it is a block device) for bad blocks
before creating the swap area.
If any are found, the count is printed.
.TP
.B \-f
Force - go ahead even if the command is stupid.
This allows the creation of a swap area larger than the file
or partition it resides on.

Without this option
.B mkswap
will refuse to erase the first block on a device with a partition table or on
whole disk (e.g. /dec/sda).
.TP
.BI \-p \ PSZ
Specify the page size to use.
.TP
.BI \-L \ label
Specify a label, to allow swapon by label.
(Only for new style swap areas.)
.TP
.BR \-v0 , \ \-v1
Specify the swap space version. This option is deprecated and \-v1 is
supported only.

The kernel has not supported v0 swap space format since 2.5.22. The new version
v1 is supported since 2.1.117.

.TP
.BI \-U \ uuid
Specify the uuid to use. The default is to generate UUIDs.

.SH NOTES
The maximum useful size of a swap area depends on the architecture and
the kernel version.
It is roughly 2GiB on i386, PPC, m68k, ARM, 1GiB on sparc, 512MiB on mips,
128GiB on alpha and 3TiB on sparc64. For kernels after 2.3.3 there is no
such limitation.

Note that before 2.1.117 the kernel allocated one byte for each page,
while it now allocates two bytes, so that taking a swap area of 2 GiB
in use might require 2 MiB of kernel memory.

Presently, Linux allows 32 swap areas (this was 8 before Linux 2.4.10).
The areas in use can be seen in the file
.I /proc/swaps
(since 2.1.25).

.B mkswap
refuses areas smaller than 10 pages.

If you don't know the page size that your machine uses, you may be
able to look it up with "cat /proc/cpuinfo" (or you may not -
the contents of this file depend on architecture and kernel version).

To setup a swap file, it is necessary to create that file before
initializing it with
.BR mkswap ,
e.g. using a command like

.nf
.RS
# dd if=/dev/zero of=swapfile bs=1024 count=65536
.RE
.fi

Note that a swap file must not contain any holes (so, using
.BR cp (1)
to create the file is not acceptable).


.SH "SEE ALSO"
.BR fdisk (8),
.BR swapon (8)
.SH AVAILABILITY
The mkswap command is part of the util-linux-ng package and is available from
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
