October 20, 2008

### NAME

rescue - rescue utilities in ```/rescue`

### DESCRIPTION

The ```/rescue` directory contains a collection of common utilities intended for use in recovering a badly damaged system. With the transition to a dynamically-linked root beginning with NetBSD2.0, there is a real possibility that the standard tools in ```/bin` and ```/sbin` may become non-functional due to a failed upgrade or a disk error. The tools in ```/rescue` are statically linked and should therefore be more resistant to damage. However, being statically linked, the tools in ```/rescue` are also less functional than the standard utilities. In particular, they do not have full use of the locale, pam(3), and nsswitch libraries.

If your system fails to boot, and it shows an error message similar to:

```init: not found`

try booting the system with the boot flag ``-a'' and supplying ```/rescue/init`, which is the rescue init(8), as the init path.

If your system fails to boot, and it shows a prompt similar to:

```Enter full pathname of shell or RETURN for /bin/sh:`

the first thing to try running is the standard shell, ```/bin/sh`. If that fails, try running ```/rescue/sh`, which is the rescue shell. To repair the system, the root partition must first be remounted read-write. This can be done with the following mount(8) command:

```/rescue/mount -uw /`

The next step is to double-check the contents of ```/bin`, ```/lib`, ```/libexec`, and ```/sbin`, possibly mounting a NetBSD installation CD-ROM and copying files from there. Once it is possible to successfully run ```/bin/sh`,`/bin/ls`, and other standard utilities, try rebooting back into the standard system.

The ```/rescue` tools are compiled using crunchgen(1), which makes them considerably more compact than the standard utilities.

### FILES

```/rescue`
  Root of the rescue hierarchy.

### SEE ALSO

crunchgen(1), crash(8)

### HISTORY

The rescue utilities first appeared in NetBSD2.0.

### AUTHORS

The rescue system was written by Luke Mewburn <lukem@NetBSD.org>. This manual page was written by Simon L. Nielsen <simon@FreeBSD.org>, based on text by Tim Kientzle <kientzle@FreeBSD.org>.

### BUGS

Most of the rescue tools work even in a fairly crippled system. The most egregious exception is the rescue version of vi(1), which currently requires that ```/usr` be mounted so that it can access the termcap(5) files. Hopefully, a failsafe termcap(3) entry will eventually be added into the curses(3) library, so that ```/rescue/vi` can be used even in a system where ```/usr` cannot immediately be mounted. In the meantime, the rescue version of the ed(1) editor can be used from ```/rescue/ed` if you need to edit files, but cannot mount ```/usr`.