Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.

REBOOT(2)                     System Calls Manual                    REBOOT(2)

     reboot - reboot system or halt processor

     Standard C Library (libc, -lc)

     #include <unistd.h>
     #include <sys/reboot.h>

     reboot(int howto, char *bootstr);

     reboot() reboots the system.  Only the super-user may reboot a machine on
     demand.  However, a reboot is invoked automatically in the event of
     unrecoverable system failures.

     howto is a mask of options; the system call interface allows the
     following options, defined in the include file <sys/reboot.h>, to be
     passed to the new kernel or the new bootstrap and init programs.  In
     addition to the options described below, other options described in
     boothowto(9) may be set, but such options may be ignored by the system.

     Options can be combined together by OR'ing them, eg.  RB_DUMP | RB_NOSYNC
     would be interpreted as "dump kernel memory before rebooting and don't
     sync the disks".

     RB_AUTOBOOT     0x0000    The default, causing the system to reboot in
                               its usual fashion.
     RB_ASKNAME      0x0001    Interpreted by the bootstrap program itself,
                               causing it to prompt on the console as to what
                               file should be booted.  Normally, the system is
                               booted from the file "xx(0,0)netbsd", where xx
                               is the default disk name, without prompting for
                               the file name.
     RB_DUMP         0x0100    Dump kernel memory before rebooting; see
                               savecore(8) for more information.
     RB_HALT         0x0008    the processor is simply halted; no reboot takes
                               place.  This option should be used with
     RB_POWERDOWN    0x0808    This option is always used in conjunction with
                               RB_HALT, and if the system hardware supports
                               the function, the system will be powered off,
                               otherwise it has no effect.
     RB_INITNAME     0x0010    An option allowing the specification of an init
                               program (see init(8)) other than /sbin/init to
                               be run when the system reboots.  This switch is
                               not currently available.
     RB_KDB          0x0040    Load the symbol table and enable a built-in
                               debugger in the system.  This option will have
                               no useful function if the kernel is not
                               configured for debugging.  Several other
                               options have different meaning if combined with
                               this option, although their use may not be
                               possible via the reboot() call.  See ddb(4) for
                               more information.
     RB_NOSYNC       0x0004    Normally, the disks are sync'd (see sync(8))
                               before the processor is halted or rebooted.
                               This option may be useful if file system
                               changes have been made manually or if the
                               processor is on fire.
     RB_RDONLY       0x0080    Initially mount the root file system read-only.
                               This is currently the default, and this option
                               has been deprecated.
     RB_SINGLE       0x0002    Normally, the reboot procedure involves an
                               automatic disk consistency check and then
                               multi-user operations.  RB_SINGLE prevents
                               this, booting the system with a single-user
                               shell on the console.  RB_SINGLE is actually
                               interpreted by the init(8) program in the newly
                               booted system.

                               When no options are given (i.e., RB_AUTOBOOT is
                               used), the system is rebooted from file
                               ``netbsd'' in the root file system of unit 0 of
                               a disk chosen in a processor specific way.  An
                               automatic consistency check of the disks is
                               normally performed (see fsck(8)).
     RB_STRING       0x0400    bootstr is a string passed to the firmware on
                               the machine, if possible, if this option is
                               set.  Currently this is only implemented on the
                               sparc and the sun3 ports.
     RB_USERCONF     0x1000    Initially invoke the userconf(4) facility when
                               the system starts up again, if it has been
                               compiled into the kernel that is loaded.

     If successful, this call never returns.  Otherwise, a -1 is returned and
     an error is returned in the global variable errno.

     [EPERM]            The caller is not the super-user.

     ddb(4), crash(8), halt(8), init(8), reboot(8), savecore(8), boothowto(9)

     The reboot() function call appeared in 4.0BSD.

     The RB_DFLTROOT option is now obsolete.

NetBSD 10.99                   September 4, 2009                  NetBSD 10.99