.TH PIVOT_ROOT 8 "Feb 23, 2000" "Linux" "Maintenance Commands"
.SH NAME
pivot_root \- change the root file system
.SH SYNOPSIS
.B pivot_root
.I new_root put_old
.SH DESCRIPTION
\fBpivot_root\fP moves the root file system of the current process to the
directory \fIput_old\fP and makes \fInew_root\fP the new root file system.
Since \fBpivot_root\fP(8) simply calls \fBpivot_root\fP(2), we refer to
the man page of the latter for further details.

Note that, depending on the implementation of \fBpivot_root\fP, root and
cwd of the caller may or may not change. The following is a sequence for
invoking \fBpivot_root\fP that works in either case, assuming that
\fBpivot_root\fP and \fBchroot\fP are in the current \fBPATH\fP:
.sp
cd \fInew_root\fP
.br
pivot_root . \fIput_old\fP
.br
exec chroot . \fIcommand\fP
.sp
Note that \fBchroot\fP must be available under the old root and under the new
root, because \fBpivot_root\fP may or may not have implicitly changed the
root directory of the shell.

Note that \fBexec chroot\fP changes the running executable, which is
necessary if the old root directory should be unmounted afterwards.
Also note that standard input, output, and error may still point to a
device on the old root file system, keeping it busy. They can easily be
changed when invoking \fBchroot\fP (see below; note the absence of
leading slashes to make it work whether \fBpivot_root\fP has changed the
shell's root or not).
.SH EXAMPLES
Change the root file system to /dev/hda1 from an interactive shell:
.sp
.nf
mount /dev/hda1 /new-root
cd /new-root
pivot_root . old-root
exec chroot . sh <dev/console >dev/console 2>&1
umount /old-root
.fi
.sp
Mount the new root file system over NFS from 10.0.0.1:/my_root and run
\fBinit\fP:
.sp
.nf
ifconfig lo 127.0.0.1 up   # for portmap
# configure Ethernet or such
portmap   # for lockd (implicitly started by mount)
mount -o ro 10.0.0.1:/my_root /mnt
killall portmap   # portmap keeps old root busy
cd /mnt
pivot_root . old_root
exec chroot . sh -c 'umount /old_root; exec /sbin/init' \\
  <dev/console >dev/console 2>&1
.fi
.SH "SEE ALSO"
.BR chroot (1),
.BR mount (8),
.BR pivot_root (2),
.BR umount (8)
.SH AVAILABILITY
The pivot_root command is part of the util-linux-ng package and is available from
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
