---
name: "bootlogd"
section: "8"
platform: "linux"
package: "bootlogd"
version: "3.14-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/bootlogd"
---

# bootlogd(8)

record boot messages

## NAME

bootlogd - record boot messages

## SYNOPSIS

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

## DESCRIPTION

**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.

## OPTIONS

- **-d**

  Do not fork and run in the background.

- **-e**

  Print escape characters to the boot log file. This turns off filtering of escape characters and allows tools like GNU [**less**(1)](/less/1.md) to see and use colour control characters (show the log in colour).

- **-c**

  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.

- **-r**

  If there is an existing logfile called *logfile* rename it to *logfile~* unless *logfile~* already exists.

- **-s**

  Ensure that the data is written to the file after each line by calling **fdatasync**(3). This will slow down a [**fsck**(8)](/fsck/8.md) process running in parallel.

- **-v**

  Show version.

- **-l** *logfile*

  Log to this logfile. The default is */var/log/boot*.

- **-p** *pidfile*

  Put process-id in this file. The default is no pidfile.

## NOTES

**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)](/readbootlog/1.md) command can be used to display the boot log without the control characters.

## BUGS

**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.

## AUTHOR

Miquel van Smoorenburg ⟨miquels@\\:cistron\\:.nl⟩

## SEE ALSO

[**dmesg**(8)](/dmesg/8.md), **fdatasync**(3), [**readbootlog**(1)](/readbootlog/1.md)
