diff options
author | rgrimes <rgrimes@FreeBSD.org> | 1994-05-26 06:35:07 +0000 |
---|---|---|
committer | rgrimes <rgrimes@FreeBSD.org> | 1994-05-26 06:35:07 +0000 |
commit | d038e02fd667ab6c02875840105798aaa7029504 (patch) | |
tree | b555a2b228429d62f4946ae1a7e68c33012e1b03 /sbin/reboot | |
parent | e3cfc8ce61f788739c66445d903f8beacb40c93d (diff) | |
download | FreeBSD-src-d038e02fd667ab6c02875840105798aaa7029504.zip FreeBSD-src-d038e02fd667ab6c02875840105798aaa7029504.tar.gz |
BSD 4.4 Lite sbin Sources
Note: XNSrouted and routed NOT imported here, they shall be imported with
usr.sbin.
Diffstat (limited to 'sbin/reboot')
-rw-r--r-- | sbin/reboot/Makefile | 18 | ||||
-rw-r--r-- | sbin/reboot/boot_hp300.8 | 117 | ||||
-rw-r--r-- | sbin/reboot/boot_i386.8 | 126 | ||||
-rw-r--r-- | sbin/reboot/boot_sparc.8 | 89 | ||||
-rw-r--r-- | sbin/reboot/boot_tahoe.8 | 152 | ||||
-rw-r--r-- | sbin/reboot/boot_vax.8 | 322 | ||||
-rw-r--r-- | sbin/reboot/reboot.8 | 88 | ||||
-rw-r--r-- | sbin/reboot/reboot.c | 204 |
8 files changed, 1116 insertions, 0 deletions
diff --git a/sbin/reboot/Makefile b/sbin/reboot/Makefile new file mode 100644 index 0000000..f4e1a55 --- /dev/null +++ b/sbin/reboot/Makefile @@ -0,0 +1,18 @@ +# @(#)Makefile 8.1 (Berkeley) 6/5/93 + +PROG= reboot +DPADD= ${LIBUTIL} +LDADD= -lutil +MAN8= reboot.0 boot_hp300.0 boot_i386.0 boot_sparc.0 boot_tahoe.0 boot_vax.0 +MLINKS= reboot.8 halt.8 +LINKS= ${BINDIR}/reboot ${BINDIR}/halt + +afterinstall: + ${MINSTALL} boot_hp300.0 ${DESTDIR}${MANDIR}8/hp300/boot.0 + ${MINSTALL} boot_i386.0 ${DESTDIR}${MANDIR}8/i386/boot.0 + ${MINSTALL} boot_sparc.0 ${DESTDIR}${MANDIR}8/sparc/boot.0 + ${MINSTALL} boot_tahoe.0 ${DESTDIR}${MANDIR}8/tahoe/boot.0 + ${MINSTALL} boot_vax.0 ${DESTDIR}${MANDIR}8/vax/boot.0 + +.include <bsd.man.mk> +.include <bsd.prog.mk> diff --git a/sbin/reboot/boot_hp300.8 b/sbin/reboot/boot_hp300.8 new file mode 100644 index 0000000..0303542 --- /dev/null +++ b/sbin/reboot/boot_hp300.8 @@ -0,0 +1,117 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Systems Programming Group of the University of Utah Computer +.\" Science Department. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)boot_hp300.8 8.2 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt BOOT_HP300 8 hp300 +.Os +.Sh NAME +.Nm boot +.Nd +system bootstrapping procedures +.Sh DESCRIPTION +.Sy Power fail and crash recovery. +Normally, the system will reboot itself at power-up or after crashes. +An automatic consistency check of the file systems will be performed, +and unless this fails, the system will resume multi-user operations. +.Pp +.Sy Cold starts. +On an HP300, the boot procedure uses the boot ROM to load a boot program +from an +.Tn LIF +format directory at the beginning of an attached disk. +The +.Pa /usr/mdec +directory contains a disk boot programs which should be placed in a +new pack automatically by +.Xr newfs 8 +when the ``a'' partition file system on the pack is created. +.Pp +This +.Em boot +program +finds the corresponding file on the given device +.Pf ( Ar vmunix +by default), +loads that file into memory, +and starts the program at the entry address specified in the program header. +.Pp +The boot program can be interrupted by typing `^C' (ctrl-C). +This will force the boot program to interactively prompt for a system to boot. +If not interrupted, it will boot from the device from which the boot +program itself was loaded. +.Pp +The file specifications used for an interactive boot are of the form: +.Pp +.Dl device(unit, minor) +.Pp +where +.Ar device +is the type of the device to be searched, +.Ar unit +is 8 * the hpib number plus the unit number of the disk or tape, +and +.Ar minor +is the disk partition or tape file number. +Normal line editing characters can be used when typing the file specification. +Currently, ``rd'' and ``sd'' are the only valid +.Ar device +specifiers. +.Pp +For example, +to boot from the `a' file system of unit 0 on HP-IB 2, +type +.Ql rd(16, 0)vmunix +to the boot prompt. +For tapes, the minor device number gives a file offset. +.Pp +In an emergency, the bootstrap methods described in the paper +.%T Installing 4.3bsd on the HP300 +can be used to boot from a distribution tape. +.Sh FILES +.Bl -tag -width /usr/mdec/installboot -compact +.It Pa /vmunix +system code +.It Pa /usr/mdec/bootrd +.Tn LIF +format boot block +.It Pa /usr/mdec/installboot +program to install boot blocks +.El +.Sh SEE ALSO +.Xr halt 8 , +.Xr reboot 8 , +.Xr shutdown 8 diff --git a/sbin/reboot/boot_i386.8 b/sbin/reboot/boot_i386.8 new file mode 100644 index 0000000..0dc3e0b --- /dev/null +++ b/sbin/reboot/boot_i386.8 @@ -0,0 +1,126 @@ +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software written and contributed +.\" to Berkeley by William Jolitz. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt BOOT 8 i386 +.Os +.Sh NAME +.Nm boot +.Nd +system bootstrapping procedures +.Sh DESCRIPTION +.Sy Power fail and crash recovery. +Normally, the system will reboot itself at power-up or after crashes. +An automatic consistency check of the file systems will be performed, +and unless this fails, the system will resume multi-user operations. +.Pp +.Sy Cold starts. +The 386 +.Tn "PC AT" +clones attempt to boot the floppy disk drive A (otherwise known as drive +0) first, and failing that, attempt to boot the hard disk C (otherwise +known as hard disk controller 1, drive 0). +The automatic boot will attempt to load +.Pa vmunix +from partition A of either the floppy or the hard disk. +This boot may be aborted by typing any character on the keyboard repeatedly +(four or five times at least) during the operating system load phase, after +which the bootstrap will prompt for the file that you wish to load instead. +.Pp +One exception to this is the +.Ql d +key, which will not abort the load but instead silently force the +.Dv DEBUG +boot flags. +The boot flags for an autoboot are 0, and 3 for the successive boot after +an aborted autoboot sequence. +No other provison is made for setting boot flags (yet). +A specific device or bootstrap file may be used; for example, +.Pp +The file specifications used for the boostrap +when loaded with the +.Dq askme +flag +(e.g. an aborted autoboot) +are of the form: +.Pp +.Dl device unit partition: +.Pp +where +.Ar device +is the type of the device, assumed to be on the ISA bus, to be searched, +.Ar unit +is the unit number of the disk or tape, +and +.Ar partition +is the disk partition or tape file number. +Normal line editing characters can be used when typing the file specification. +The following list of supported devices may vary from installation to +installation: +.Bd -unfilled -offset indent +wd ST506, IDE, ESDI, RLL disks on a WD100[2367] or lookalike + controller +fd 5 1/4" or 3 1/2" High density floppies +.Ed +.Pp +For example, +to boot from a file system which starts at cylinder 0 +of unit 0 of an IDE disk, type +.Dq Li wd0a:vmunix +to the boot prompt; +.Dq Li fd0a:vmunix +would specify a 3 1/2" floppy drive 0 . +.Pp +In an emergency, the bootstrap methods described in the paper +.%T "Installing and Operating 4.3 BSD-Reno UNIX on the AT/386" +can be used +to boot from a distribution tape. +.Sh FILES +.Bl -tag -width /vmunixxx -compact +.It Pa /vmunix +system code +.It Pa /boot +system bootstrap +.El +.Sh SEE ALSO +.Xr halt 8 , +.Xr reboot 8 , +.Xr shutdown 8 +.Sh BUGS +The disklabel format used by this version of +.Bx +is quite +different from that of other architectures. diff --git a/sbin/reboot/boot_sparc.8 b/sbin/reboot/boot_sparc.8 new file mode 100644 index 0000000..72e57b0 --- /dev/null +++ b/sbin/reboot/boot_sparc.8 @@ -0,0 +1,89 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)boot_sparc.8 8.2 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt REBOOT 8 sparc +.Os +.Sh NAME +.Nm reboot +.Nd +.Tn UNIX +bootstrapping procedures +.Sh SYNOPSIS +.Nm reboot +.Op Fl n +.Op Fl q +.Sh DESCRIPTION +.Sy Power fail and crash recovery. +Normally, the system will reboot itself at power-up or after crashes. +An automatic consistency check of the file systems will be performed +as described in +.Xr fsck 8 . +and unless this fails, the system will resume multi-user operations. +.Pp +.Sy Cold starts +The SPARC system currently uses the SunOS bootstrap loaders. +This will be changed in a future version of the system. +The SunOS boot will attempt to load +.Pa vmunix +from partition A of the boot device, +which must currently be an ``sd'' disk. +.Pp +The +.Op Fl s +flag to the SunOS boot loader will being the system up in single-user mode. +The +.Op Fl d +flag to the SunOS boot loader will bring the system up in debug mode. +Here it waits for a kernel debugger connect; see +.Xr kgdb 8 . +Other flags are currently ignored. +.Sh FILES +.Bl -tag -width /vmunixxx -compact +.It Pa /vmunix +system code +.It Pa /boot +system bootstrap +.El +.Sh SEE ALSO +.Xr crash 8 , +.Xr disklabel 8 , +.Xr fsck 8 , +.Xr halt 8 , +.Xr init 8 , +.Xr rc 8 , +.Xr shutdown 8 , +.Xr syslogd 8 +.Sh BUGS +The use of Sun disk labels, without the ability to write them, +is problematic. diff --git a/sbin/reboot/boot_tahoe.8 b/sbin/reboot/boot_tahoe.8 new file mode 100644 index 0000000..01c7f81 --- /dev/null +++ b/sbin/reboot/boot_tahoe.8 @@ -0,0 +1,152 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)boot_tahoe.8 8.2 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt BOOT 8 tahoe +.Os +.Sh NAME +.Nm boot +.Nd +system bootstrapping procedures +.Sh DESCRIPTION +.Sy Power fail and crash recovery. +Normally, the system will reboot itself at power-up or after crashes. +An automatic consistency check of the file systems will be performed, +and unless this fails, the system will resume multi-user operations. +.Pp +.Sy Cold starts. +These are processor-type dependent. +On the +.Tn CCI +Power 6/32 and related processors, +the system will do a standard autoboot from drive 0 +upon power-up or reset. +This automatic boot may be cancelled by typing a +.Ql \&# +in the first few seconds after reset. +This enters console mode; the console prompt is +.Ql > +or +.Ql \&# . +The boot flags can be set to any hexadecimal value +.Fl n +with the command +.Pp +.Bd -filled -offset indent -compact +.Li \&#> p23 +.Ar n . +.Ed +.Pp +The default device may be examined or set; see the Diagnostics and Debugging +manual for the processor for details on device naming and syntax. +After setting the boot flags and/or device, +a bootstrap sequence can be initiated with +.Pp +.Dl #> fb +.Pp +A specific device or bootstrap file may be used; for example, +.Pp +.Dl \&#> \&fb xfd(1,0) +.Pp +would boot from the `a' partition on +.Tn XFD +drive 1. +.Pp +The file specifications used for the boostrap +when loaded with the +.Dq askme +flag +(register 23 set to 1 or 3) +are of the form: +.Pp +.Dl device(adaptor,controller,unit,minor) +.Pp +where +.Ar device +is the type of the device to be searched, +.Ar adaptor +is number of the +.Tn VERSAbus +(or +.Tn VMEbus ) +to which the device is attached, +.Ar controller +is the unit number of the controller on that buss, +.Ar unit +is the unit number of the disk or tape, +and +.Ar minor +is the disk partition or tape file number. +Leading adaptor or controller numbers default to 0. +Normal line editing characters can be used when typing the file specification. +The following list of supported devices may vary from installation to +installation: +.Pp +.Bd -unfilled -offset indent -compact +dk SMD or ESDI disks on VDDC or SMD-E +cy tape on Ciprico Tapemaster controller +.Ed +.Pp +For example, +to boot from a file system which starts at cylinder 0 +of unit 0 of an +.Tn SMD-E +disk, type +.Ql dk(0,0)vmunix +to the boot prompt; +.Ql dk(2,1,0)vmunix +would specify drive 1 on +.Tn SMD-E +controller 2. +.Pp +In an emergency, the bootstrap methods described in the paper +.%T "Installing and Operating 4.3 BSD-tahoe UNIX on the Tahoe" +can be used +to boot from a distribution tape. +.Sh FILES +.Bl -tag -width /vmunix -compact +.It Pa /vmunix +system code +.It Pa /boot +system bootstrap +.El +.Sh SEE ALSO +.Xr halt 8 , +.Xr reboot 8 , +.Xr shutdown 8 +.Sh BUGS +The disklabel format used by some versions of the console processor +is different than the format used by +.Tn UNIX +and the bootstrap. +.Sh HISTORY diff --git a/sbin/reboot/boot_vax.8 b/sbin/reboot/boot_vax.8 new file mode 100644 index 0000000..dce6b69 --- /dev/null +++ b/sbin/reboot/boot_vax.8 @@ -0,0 +1,322 @@ +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)boot_vax.8 8.2 (Berkeley) 4/19/94 +.\" +.Dd April 19, 1994 +.Dt BOOT 8 vax +.Os +.Sh NAME +.Nm boot +.Nd +system bootstrapping procedures +.Sh DESCRIPTION +.Sy Power fail and crash recovery. +Normally, the system will reboot itself at power-up or after crashes. +Provided the auto-restart is enabled on the machine front panel, +an automatic consistency check of the file systems will be performed, +and unless this fails, the system will resume multi-user operations. +.Pp +.Sy Cold starts. +These are processor-type dependent. +On an 11/780, there are two floppy files for each disk controller, +both of which cause boots from unit 0 of the root file system +of a controller located on mba0 or uba0. +One gives a single user shell, while the other invokes the multi-user +automatic reboot. +Thus these files are +.Tn HPS +and +.Tn HPM +for the single +and multi-user boot from +.Tn MASSBUS +RP06/RM03/RM05 disks, +.Tn UPS +and +.Tn UPM +for +.Tn UNIBUS +storage module controller and disks +such as the +.Tn EMULEX +SC-21 +and +.Tn AMPEX +9300 pair, +.Tn RAS +and +.Tn RAM +to boot from +.Tn MSCP +controllers and disks such as the RA81, +or +.Tn HKS +and +.Tn HKM +for RK07 disks. +There is also a script for booting from the default device, +which is normally a copy of one of the standard multi-user boot scripts, +but which may be modified to perform other actions +or to boot from a different unit. +The situation on the 8600 is similar, with scripts loaded from the console RL02. +.Pp +Giving the command +.Pp +.Dl >>>BOOT HPM +.Pp +would boot the system from (e.g.) an RP06 and run the automatic consistency +check as described in +.Xr fsck 8 . +(Note that it may +be necessary to type control-P +and halt the processor +to gain the attention of the +.Tn LSI-11 +before getting the >>> prompt.) +The command +.Pp +.Dl >>>BOOT ANY +.Pp +invokes a version of the boot program in a way which allows you to +specify any system as the system to be booted. +It reads from the console a device specification (see below) followed +immediately by a pathname. +.Pp +The scripts may be modified for local configuration if necessary. +The flags are placed in register 11 (as defined in +.Aq Pa sys/reboot.h ) . +The boot device is specified in register 10. +The encoding of this register is also defined in +.Aq Pa sys/reboot.h . +The current encoding has a historical basis, and is shown in the following +table: +.Pp +.Bd -unfilled -offset indent -compact +bits usage +0-7 boot device type (the device major number) +8-15 disk partition +16-19 drive unit +20-23 controller number +24-27 adaptor number (UNIBUS or MASSBUS as appropriate) +.Ed +.Pp +The adaptor number corresponds to the normal configuration on the 11/750, +and to the order in which adaptors are found on the 11/780 and 8600 +(generally the same as the numbers used by +.Tn UNIX ) . +.Pp +On an 11/750, the reset button will boot from the device +selected by the front panel boot device switch. In systems +with RK07's, position B normally selects the RK07 for boot. +This will boot multi-user. To boot from RK07 with boot flags you +may specify +.Pp +.Bd -unfilled -offset indent -compact +.Li \&>>>B/ Ns Fl n No DMA0 +.Ed +.Pp +where, giving a +.Ar n +of 1 causes the boot program +to ask for the name of the system to be bootstrapped, +giving a +.Ar n +of 2 causes the boot program to come up single +user, and a +.Ar n +of 3 causes both of these actions to occur. +The ``DM'' specifies RK07, the ``A'' represents the adaptor number +.Pf ( Tn UNIBUS +or +.Tn MASSBUS ) , +and the ``0'' is the drive unit number. +Other disk types which may be used are DB +.Pq Tn MASSBUS , +DD (TU58), +and DU +.Pf ( Tn UDA-50/RA +disk). +A non-zero disk partition can be used by adding (partition times 1000 hex) +to +.Ar n . +.Pp +The boot procedure on the Micro +.Tn VAX +II +is similar. +A switch on the back panel sets the power-up action +to autoboot or to halt. +When halted, the processor may be booted using the same syntax +as on the 11/750. +.Pp +The 11/750 boot procedure uses the boot roms to load block 0 off of +the specified device. The /usr/mdec directory contains a number +of bootstrap programs for the various disks which should be placed +in a new pack by +.Xr disklabel 8 . +Similarly, the Micro +.Tn VAX +II boot procedure loads a boot parameter block +from block 0 of the disk. +The +.Xr rdboot +.Dq bootstrap +contains the correct parameters for an +.Tn MSCP +disk such +as the RD53. +.Pp +On any processor, the +.Em boot +program +finds the corresponding file on the given device +.Pf ( Pa vmunix +by default), loads that file +into memory location zero, and starts the program at the entry address +specified in the program header (after clearing off the high bit +of the specified entry address). +.Pp +The file specifications used with +.Dq BOOT ANY +or +.Dq \&B/3 +are of the form: +.Pp +.Dl device(adaptor,controller,unit,minor) +.Pp +where +.Ar device +is the type of the device to be searched, +.Ar adaptor +is the +.Tn UNIBUS +or +.Tn MASSBUS +number of the adaptor to which the device is attached, +.Ar controller +is the unit number of the controller or +.Tn MASSBUS +tape formatter on that adaptor, +.Ar unit +is the unit number of the disk or transport slave unit of the tape, +and +.Ar minor +is the disk partition or tape file number. +Leading adaptor or controller numbers default to 0. +Normal line editing characters can be used when typing the file specification. +The following list of supported devices may vary from installation to +installation: +.Pp +.Bd -unfilled -offset indent -compact +hp MASSBUS disk drive +up UNIBUS storage module drive +ht TE16,TU45,TU77 on MASSBUS +kra storage module on a KDB50 +mt TU78 on MASSBUS +hk RK07 on UNIBUS +ra storage module on a MSCP-compatible UNIBUS controller +rb storage module on a 730 IDC +rl RL02 on UNIBUS +tm TM11 emulation tape drives on UNIBUS +tms TMSCP-compatible tape +ts TS11 on UNIBUS +ut UNIBUS TU45 emulator +.Ed +.Pp +For example, +to boot from a file system which starts at cylinder 0 +of unit 0 of a +.Tn MASSBUS +disk, type +.Ql hp(0,0)vmunix +to the boot prompt; +.Ql hp(2,0,1,0)vmunix +would specify drive 1 on +.Tn MASSBUS +adaptor 2; +.Ql up(0,0)vmunix +would specify a +.Tn UNIBUS +drive, +.Ql hk(0,0)vmunix +would specify +an RK07 disk drive, +.Ql ra(1,0,0,0)vmunix +would specify a +.Tn UDA50 +disk drive on a second +.Tn UNIBUS , +and +.Ql rb(0,0)vmunix +would specify a +disk on a 730 +.Tn IDC . +For tapes, the minor device number gives a file offset; +.Ql mt(1,2,3,4) +would specify the fifth file on slave 3 of the formatter +at +.Ql drive +2 on mba 1. +.Pp +On an 11/750 with patchable control store, +microcode patches will be installed by +.Em boot +if the file +.Pa psc750.bin +exists in the root of the filesystem from which the system is booted. +.Pp +In an emergency, the bootstrap methods described in the paper +.%T Installing and Operating 4.3bsd +can be used to boot from a distribution tape. +.Sh FILES +.Bl -tag -width /usr/mdec/xxboot -compact +.It Pa /vmunix +system code +.It Pa /boot +system bootstrap +.It Pa /usr/mdec/xxboot +sector-0 boot block for 750, xx is disk type +.It Pa /usr/mdec/bootxx +second-stage boot for 750, xx is disk type +.It Pa /pcs750.bin +microcode patch file on 750 +.El +.Sh SEE ALSO +.Xr arff 8 , +.Xr halt 8 , +.Xr reboot 8 , +.Xr shutdown 8 +.Sh HISTORY +The +.Nm +command appeared in +.Bx 4.0 . diff --git a/sbin/reboot/reboot.8 b/sbin/reboot/reboot.8 new file mode 100644 index 0000000..2fd2abb --- /dev/null +++ b/sbin/reboot/reboot.8 @@ -0,0 +1,88 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)reboot.8 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt REBOOT 8 +.Os +.Sh NAME +.Nm reboot , +.Nm halt +.Nd +stopping and restarting the system +.Sh SYNOPSIS +.Nm halt +.Op Fl nq +.Nm reboot +.Op Fl nq +.Sh DESCRIPTION +The +.Nm halt +and +.Nm reboot +utilities flush the file system cache to disk, send all running processes +a SIGTERM (and subsequently a SIGKILL) and, respectively, halt or restart +the system. +The action is logged, including entering a shutdown record into the login +accounting file. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl n +If the +.Fl n +option is specified, +the file system cache is not flushed. +This option should probably not be used. +.It Fl q +If the +.Fl q +option is specified, +the system is halted or restarted quickly and ungracefully, and only +the flushing of the file system cache is performed. +This option should probably not be used. +.El +.Pp +Normally, the +.Xr shutdown 8 +utility is used when the system needs to be halted or restarted, giving +users advance warning of their impending doom. +.Sh SEE ALSO +.Xr sync 1 , +.Xr utmp 5 , +.Xr boot 8 , +.Xr shutdown 8 +.Sh HISTORY +A +.Nm reboot +command appeared in +.At v6 . diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c new file mode 100644 index 0000000..df5515a --- /dev/null +++ b/sbin/reboot/reboot.c @@ -0,0 +1,204 @@ +/* + * Copyright (c) 1980, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef lint +static char copyright[] = +"@(#) Copyright (c) 1980, 1986, 1993\n\ + The Regents of the University of California. All rights reserved.\n"; +#endif /* not lint */ + +#ifndef lint +static char sccsid[] = "@(#)reboot.c 8.1 (Berkeley) 6/5/93"; +#endif /* not lint */ + +#include <sys/reboot.h> +#include <signal.h> +#include <pwd.h> +#include <errno.h> +#include <syslog.h> +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +void err __P((const char *fmt, ...)); +void usage __P((void)); + +int dohalt; + +int +main(argc, argv) + int argc; + char *argv[]; +{ + register int i; + struct passwd *pw; + int ch, howto, lflag, nflag, qflag, sverrno; + char *p, *user; + + if (!strcmp((p = rindex(*argv, '/')) ? p + 1 : *argv, "halt")) { + dohalt = 1; + howto = RB_HALT; + } else + howto = 0; + lflag = nflag = qflag = 0; + while ((ch = getopt(argc, argv, "lnq")) != EOF) + switch(ch) { + case 'l': /* Undocumented; used by shutdown. */ + lflag = 1; + break; + case 'n': + nflag = 1; + howto |= RB_NOSYNC; + break; + case 'q': + qflag = 1; + break; + case '?': + default: + usage(); + } + argc -= optind; + argv += optind; + + if (geteuid()) + err("%s", strerror(EPERM)); + + if (qflag) { + reboot(howto); + err("%s", strerror(errno)); + } + + /* Log the reboot. */ + if (!lflag) { + if ((user = getlogin()) == NULL) + user = (pw = getpwuid(getuid())) ? + pw->pw_name : "???"; + if (dohalt) { + openlog("halt", 0, LOG_AUTH | LOG_CONS); + syslog(LOG_CRIT, "halted by %s", user); + } else { + openlog("reboot", 0, LOG_AUTH | LOG_CONS); + syslog(LOG_CRIT, "rebooted by %s", user); + } + } + logwtmp("~", "shutdown", ""); + + /* + * Do a sync early on, so disks start transfers while we're off + * killing processes. Don't worry about writes done before the + * processes die, the reboot system call syncs the disks. + */ + if (!nflag) + sync(); + + /* Just stop init -- if we fail, we'll restart it. */ + if (kill(1, SIGTSTP) == -1) + err("SIGTSTP init: %s", strerror(errno)); + + /* Ignore the SIGHUP we get when our parent shell dies. */ + (void)signal(SIGHUP, SIG_IGN); + + /* Send a SIGTERM first, a chance to save the buffers. */ + if (kill(-1, SIGTERM) == -1) + err("SIGTERM processes: %s", strerror(errno)); + + /* + * After the processes receive the signal, start the rest of the + * buffers on their way. Wait 5 seconds between the SIGTERM and + * the SIGKILL to give everybody a chance. + */ + sleep(2); + if (!nflag) + sync(); + sleep(3); + + for (i = 1;; ++i) { + if (kill(-1, SIGKILL) == -1) { + if (errno == ESRCH) + break; + goto restart; + } + if (i > 5) { + (void)fprintf(stderr, + "WARNING: some process(es) wouldn't die\n"); + break; + } + (void)sleep(2 * i); + } + + reboot(howto); + /* FALLTHROUGH */ + +restart: + sverrno = errno; + err("%s%s", kill(1, SIGHUP) == -1 ? "(can't restart init): " : "", + strerror(sverrno)); + /* NOTREACHED */ +} + +void +usage() +{ + (void)fprintf(stderr, "usage: %s [-nq]\n", dohalt ? "halt" : "reboot"); + exit(1); +} + +#if __STDC__ +#include <stdarg.h> +#else +#include <varargs.h> +#endif + +void +#if __STDC__ +err(const char *fmt, ...) +#else +err(fmt, va_alist) + char *fmt; + va_dcl +#endif +{ + va_list ap; +#if __STDC__ + va_start(ap, fmt); +#else + va_start(ap); +#endif + (void)fprintf(stderr, "%s: ", dohalt ? "halt" : "reboot"); + (void)vfprintf(stderr, fmt, ap); + va_end(ap); + (void)fprintf(stderr, "\n"); + exit(1); + /* NOTREACHED */ +} |