DOKK / manpages / debian 12 / bootlogd / bootlogd.8.en
BOOTLOGD(8) Linux System Administrator's Manual BOOTLOGD(8)

bootlogd - record boot messages

/sbin/bootlogd [-c] [-d] [-e] [-r] [-s] [-v] [ -l logfile ] [ -p pidfile ]

bootlogd runs in the background and copies all strings sent to the /dev/console device to a logfile. If the logfile is not accessible, the messages will be kept in memory until it is.

Do not fork and run in the background.
Print escape characters to the boot log file. This turns off filtering of escape characters and allows tools like GNU less(1) to see and use colour control characters (show the log in colour).
Attempt to write to the logfile even if it does not yet exist. Without this option, bootlogd will wait for the logfile to appear before attempting to write to it. This behavior prevents bootlogd from creating logfiles under mount points.
If there is an existing logfile called logfile rename it to logfile~ unless logfile~ already exists.
Ensure that the data is written to the file after each line by calling fdatasync(3). This will slow down a fsck(8) process running in parallel.
Show version.
Log to this logfile. The default is /var/log/boot.
Put process-id in this file. The default is no pidfile.

bootlogd saves log data which includes control characters. The log is technically a text file, but not very easy for humans to read. To address this the readbootlog(1) command can be used to display the boot log without the control characters.

bootlogd works by redirecting the console output from the console device. (Consequently bootlogd requires PTY support in the kernel configuration.) It copies that output to the real console device and to a log file. There is no standard way of ascertaining the real console device if you have a new-style /dev/console device (major 5, minor 1) so bootlogd parses the kernel command line looking for console=... lines and deduces the real console device from that. If that syntax is ever changed by the kernel, or a console type is used that bootlogd does not know about then bootlogd will not work.

Miquel van Smoorenburg

dmesg(8), fdatasync(3), readbootlog(1)

July 21, 2003 sysvinit