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.\" 28*0a5c04a8SMitchell 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 44*0a5c04a8SMitchell Horne.Fl L 45*0a5c04a8SMitchell Horne.Op Fl fvZz 46*0a5c04a8SMitchell Horne.Op Fl m Ar maxdumps 47*0a5c04a8SMitchell Horne.Op Ar directory 48*0a5c04a8SMitchell 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. 91*0a5c04a8SMitchell Horne.It Fl L 92*0a5c04a8SMitchell HorneInstruct 93*0a5c04a8SMitchell Horne.Nm 94*0a5c04a8SMitchell Horneto generate and save a kernel dump of the running system, rather than 95*0a5c04a8SMitchell 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. 107*0a5c04a8SMitchell Horne.It Fl Z 108*0a5c04a8SMitchell HorneCompress the dump (see 109*0a5c04a8SMitchell Horne.Xr zstd 1 ) . 110*0a5c04a8SMitchell HorneThis option is only supported in conjunction with the 111*0a5c04a8SMitchell Horne.Fl L 112*0a5c04a8SMitchell Horneoption. 113*0a5c04a8SMitchell HorneRegular dumps can be configured for compression with zstd using 114*0a5c04a8SMitchell 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. 122*0a5c04a8SMitchell Horne.Pp 123*0a5c04a8SMitchell HorneIf used in conjunction with the 124*0a5c04a8SMitchell Horne.Fl L 125*0a5c04a8SMitchell 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 , 193*0a5c04a8SMitchell Horne.Xr zstd 1 , 194e8ae41c3SRuslan Ermilov.Xr getbootfile 3 , 19506691045SCraig Rodrigues.Xr libxo 3 , 19606691045SCraig Rodrigues.Xr xo_parse_args 3 , 197*0a5c04a8SMitchell 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