xref: /freebsd/sbin/savecore/savecore.8 (revision 51e16cb8)
18fae3551SRodney W. Grimes.\" Copyright (c) 1980, 1991, 1993
28fae3551SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
38fae3551SRodney W. Grimes.\"
48fae3551SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
58fae3551SRodney W. Grimes.\" modification, are permitted provided that the following conditions
68fae3551SRodney W. Grimes.\" are met:
78fae3551SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
88fae3551SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
98fae3551SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
108fae3551SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
118fae3551SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
12fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors
138fae3551SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
148fae3551SRodney W. Grimes.\"    without specific prior written permission.
158fae3551SRodney W. Grimes.\"
168fae3551SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
178fae3551SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
188fae3551SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
198fae3551SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
208fae3551SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
218fae3551SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
228fae3551SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
238fae3551SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
248fae3551SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
258fae3551SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
268fae3551SRodney W. Grimes.\" SUCH DAMAGE.
278fae3551SRodney W. Grimes.\"
280a5c04a8SMitchell Horne.Dd April 4, 2022
298fae3551SRodney W. Grimes.Dt SAVECORE 8
309fe48c6eSRuslan Ermilov.Os
318fae3551SRodney W. Grimes.Sh NAME
328fae3551SRodney W. Grimes.Nm savecore
338fae3551SRodney W. Grimes.Nd "save a core dump of the operating system"
348fae3551SRodney W. Grimes.Sh SYNOPSIS
357c7fb079SRuslan Ermilov.Nm
368fae3551SRodney W. Grimes.Fl c
37349d039bSPawel Jakub Dawidek.Op Fl v
38349d039bSPawel Jakub Dawidek.Op Ar device ...
397c7fb079SRuslan Ermilov.Nm
40628d16a3SDoug Barton.Fl C
41628d16a3SDoug Barton.Op Fl v
42349d039bSPawel Jakub Dawidek.Op Ar device ...
43628d16a3SDoug Barton.Nm
440a5c04a8SMitchell Horne.Fl L
450a5c04a8SMitchell Horne.Op Fl fvZz
460a5c04a8SMitchell Horne.Op Fl m Ar maxdumps
470a5c04a8SMitchell Horne.Op Ar directory
480a5c04a8SMitchell Horne.Nm
4906691045SCraig Rodrigues.Op Fl -libxo
50bc7ed46bSGleb Smirnoff.Op Fl fkuvz
51eeff0b1bSPawel Jakub Dawidek.Op Fl m Ar maxdumps
52edc4f96eSBill Fenner.Op Ar directory Op Ar device ...
538fae3551SRodney W. Grimes.Sh DESCRIPTION
541fa8142dSRuslan ErmilovThe
551fa8142dSRuslan Ermilov.Nm
561fa8142dSRuslan Ermilovutility
57edc4f96eSBill Fennercopies a core dump into
581fa8142dSRuslan Ermilov.Ar directory ,
59edc4f96eSBill Fenneror the current working directory if no
601fa8142dSRuslan Ermilov.Ar directory
61edc4f96eSBill Fennerargument is given,
628fae3551SRodney W. Grimesand enters a reboot message and information about the core dump into
638fae3551SRodney W. Grimesthe system log.
648fae3551SRodney W. Grimes.Pp
658fae3551SRodney W. GrimesThe options are as follows:
66eeff0b1bSPawel Jakub Dawidek.Bl -tag -width ".Fl m Ar maxdumps"
6706691045SCraig Rodrigues.It Fl -libxo
6806691045SCraig RodriguesGenerate output via
6906691045SCraig Rodrigues.Xr libxo 3
7006691045SCraig Rodriguesin a selection of different human and machine readable formats.
7106691045SCraig RodriguesSee
7206691045SCraig Rodrigues.Xr xo_parse_args 3
7306691045SCraig Rodriguesfor details on command line arguments.
74628d16a3SDoug Barton.It Fl C
75628d16a3SDoug BartonCheck to see if a dump exists,
76628d16a3SDoug Bartonand display a brief message to indicate the status.
77628d16a3SDoug BartonAn exit status of 0 indicates that a dump is there,
78628d16a3SDoug Barton1 indicates that none exists.
79628d16a3SDoug BartonThis option is compatible only with the
80628d16a3SDoug Barton.Op Fl v
81628d16a3SDoug Bartonoption.
828fae3551SRodney W. Grimes.It Fl c
83f9b52c93SPhilippe CharnierClear the dump, so that future invocations of
84f9b52c93SPhilippe Charnier.Nm
858fae3551SRodney W. Grimeswill ignore it.
868fae3551SRodney W. Grimes.It Fl f
875fb7027cSDavid E. O'BrienForce a dump to be taken even if either the dump was cleared or if the
885fb7027cSDavid E. O'Briendump header information is inconsistent.
894c98f36dSDag-Erling Smørgrav.It Fl k
904c98f36dSDag-Erling SmørgravDo not clear the dump after saving it.
910a5c04a8SMitchell Horne.It Fl L
920a5c04a8SMitchell HorneInstruct
930a5c04a8SMitchell Horne.Nm
940a5c04a8SMitchell Horneto generate and save a kernel dump of the running system, rather than
950a5c04a8SMitchell Hornecopying one from a dump device.
96eeff0b1bSPawel Jakub Dawidek.It Fl m Ar maxdumps
97eeff0b1bSPawel Jakub DawidekMaximum number of dumps to store.
98eeff0b1bSPawel Jakub DawidekOnce the number of stored dumps is equal to
99eeff0b1bSPawel Jakub Dawidek.Ar maxdumps
100eeff0b1bSPawel Jakub Dawidekthe counter will restart from
101eeff0b1bSPawel Jakub Dawidek.Dv 0 .
102bc7ed46bSGleb Smirnoff.It Fl u
103bc7ed46bSGleb SmirnoffUncompress the dump in case it was compressed by the kernel.
1048fae3551SRodney W. Grimes.It Fl v
105f9b52c93SPhilippe CharnierPrint out some additional debugging information.
106ff869641SPhilip PaepsSpecify twice for more information.
1070a5c04a8SMitchell Horne.It Fl Z
1080a5c04a8SMitchell HorneCompress the dump (see
1090a5c04a8SMitchell Horne.Xr zstd 1 ) .
1100a5c04a8SMitchell HorneThis option is only supported in conjunction with the
1110a5c04a8SMitchell Horne.Fl L
1120a5c04a8SMitchell Horneoption.
1130a5c04a8SMitchell HorneRegular dumps can be configured for compression with zstd using
1140a5c04a8SMitchell Horne.Xr dumpon 8 .
1158fae3551SRodney W. Grimes.It Fl z
11664a16434SMark JohnstonCompress the dump (see
117dff462c3SKris Kennaway.Xr gzip 1 ) .
11864a16434SMark JohnstonThe dump may already be compressed if the kernel was configured to
11964a16434SMark Johnstondo so by
12064a16434SMark Johnston.Xr dumpon 8 .
12164a16434SMark JohnstonIn this case, the option has no effect.
1220a5c04a8SMitchell Horne.Pp
1230a5c04a8SMitchell HorneIf used in conjunction with the
1240a5c04a8SMitchell Horne.Fl L
1250a5c04a8SMitchell Horneoption, the requested live dump will be compressed with gzip.
1268fae3551SRodney W. Grimes.El
1278fae3551SRodney W. Grimes.Pp
1281fa8142dSRuslan ErmilovThe
1291fa8142dSRuslan Ermilov.Nm
1301fa8142dSRuslan Ermilovutility
131edc4f96eSBill Fennerlooks for dumps on each device specified by the
132edc4f96eSBill Fenner.Ar device
133edc4f96eSBill Fennerargument(s), or on each device in
134edc4f96eSBill Fenner.Pa /etc/fstab
1351fa8142dSRuslan Ermilovmarked as
1361fa8142dSRuslan Ermilov.Dq dump
1371fa8142dSRuslan Ermilovor
1381fa8142dSRuslan Ermilov.Dq swap .
1391fa8142dSRuslan ErmilovThe
1401fa8142dSRuslan Ermilov.Nm
1411fa8142dSRuslan Ermilovutility
142edc4f96eSBill Fennerchecks the core dump in various ways to make sure that it is complete.
1438fae3551SRodney W. GrimesIf it passes these checks, it saves the core image in
1448fae3551SRodney W. Grimes.Ar directory Ns Pa /vmcore.#
145edc4f96eSBill Fennerand information about the core in
14620ba6b0dSRuslan Ermilov.Ar directory Ns Pa /info.# .
147480f31c2SKonrad WitaszczykIf the core is encrypted, it saves the dump key in
148480f31c2SKonrad Witaszczyk.Ar directory Ns Pa /key.# .
149480f31c2SKonrad WitaszczykThe core can be later decrypted using
150480f31c2SKonrad Witaszczyk.Xr decryptcore 8 .
15110187caeSRobert WatsonFor kernel textdumps generated with the
15210187caeSRobert Watson.Xr textdump 4
15310187caeSRobert Watsonfacility, output will be stored in the
15410187caeSRobert Watson.Xr tar 5
15510187caeSRobert Watsonformat and named
15620ba6b0dSRuslan Ermilov.Ar directory Ns Pa /textdump.tar.# .
15720ba6b0dSRuslan ErmilovThe
15820ba6b0dSRuslan Ermilov.Dq #
15920ba6b0dSRuslan Ermilovis the number from the first line of the file
1608fae3551SRodney W. Grimes.Ar directory Ns Pa /bounds ,
1618fae3551SRodney W. Grimesand it is incremented and stored back into the file each time
162f9b52c93SPhilippe Charnier.Nm
1638fae3551SRodney W. Grimessuccessfully runs.
1648fae3551SRodney W. Grimes.Pp
1651fa8142dSRuslan ErmilovThe
1661fa8142dSRuslan Ermilov.Nm
1671fa8142dSRuslan Ermilovutility
1688fae3551SRodney W. Grimesalso checks the available disk space before attempting to make the copies.
1698fae3551SRodney W. GrimesIf there is insufficient disk space in the file system containing
1708fae3551SRodney W. Grimes.Ar directory ,
1718fae3551SRodney W. Grimesor if the file
1728fae3551SRodney W. Grimes.Ar directory Ns Pa /minfree
1738fae3551SRodney W. Grimesexists and the number of free kilobytes (for non-superusers) in the
1748fae3551SRodney W. Grimesfile system after the copies were made would be less than the number
1758fae3551SRodney W. Grimesin the first line of this file, the copies are not attempted.
1768fae3551SRodney W. Grimes.Pp
1778fae3551SRodney W. GrimesIf
178f9b52c93SPhilippe Charnier.Nm
1798fae3551SRodney W. Grimessuccessfully copies the kernel and the core dump, the core dump is cleared
1808fae3551SRodney W. Grimesso that future invocations of
181f9b52c93SPhilippe Charnier.Nm
1828fae3551SRodney W. Grimeswill ignore it.
1838fae3551SRodney W. Grimes.Pp
1841fa8142dSRuslan ErmilovThe
1851fa8142dSRuslan Ermilov.Nm
1861fa8142dSRuslan Ermilovutility
1878fae3551SRodney W. Grimesis meant to be called near the end of the initialization file
1888fae3551SRodney W. Grimes.Pa /etc/rc
1898fae3551SRodney W. Grimes(see
1908fae3551SRodney W. Grimes.Xr rc 8 ) .
1918fae3551SRodney W. Grimes.Sh SEE ALSO
192dff462c3SKris Kennaway.Xr gzip 1 ,
1930a5c04a8SMitchell Horne.Xr zstd 1 ,
194e8ae41c3SRuslan Ermilov.Xr getbootfile 3 ,
19506691045SCraig Rodrigues.Xr libxo 3 ,
19606691045SCraig Rodrigues.Xr xo_parse_args 3 ,
1970a5c04a8SMitchell Horne.Xr mem 4 ,
19810187caeSRobert Watson.Xr textdump 4 ,
199138f7e4bSTom Rhodes.Xr tar 5 ,
2007dc5b440SEdward Tomasz Napierala.Xr crashinfo 8 ,
201480f31c2SKonrad Witaszczyk.Xr decryptcore 8 ,
202e2fb2db5SNick Hibma.Xr dumpon 8 ,
2038fae3551SRodney W. Grimes.Xr syslogd 8
2048fae3551SRodney W. Grimes.Sh HISTORY
2058fae3551SRodney W. GrimesThe
2068fae3551SRodney W. Grimes.Nm
207629e80efSPhilippe Charnierutility appeared in
2088fae3551SRodney W. Grimes.Bx 4.1 .
20910187caeSRobert Watson.Pp
21010187caeSRobert WatsonSupport for kernel textdumps appeared in
2112a72feb4SChristian Brueffer.Fx 7.1 .
2126087df9eSRuslan Ermilov.Sh BUGS
2136087df9eSRuslan ErmilovThe minfree code does not consider the effect of compression or sparse files.
214