02 September 2018 | 3 min read

What the heck is "Bolt.services"

Hurm.. I notice slow boot startup on my Fedora 28 workstation

[rnm@robbinespu (/home/rnm)] 
$ systemd-analyze time
Startup finished in 1.890s (kernel) + 4.702s (initrd) + 1min 20.163s (userspace) = 1min 26.756s
graphical.target reached after 58.148s in userspace

So plymouth-quit-wait service took more than 25 seconds and.. bolt services also part of the culprit

[rnm@robbinespu (/home/rnm)] 
$ systemd-analyze blame | head
         25.124s bolt.service
         25.118s plymouth-quit-wait.service
         13.389s firewalld.service
         12.672s akmods.service
         11.922s udisks2.service
         11.453s accounts-daemon.service
          9.690s vmware.service
          9.125s lvm2-monitor.service
          8.730s dkms.service
          8.085s systemd-udev-settle.service

I never heard of bolt.services , it’s apparently a Thunderbolt system deamon to manage thunderbolt 3 devices.

[rnm@robbinespu (/home/rnm)] 
$ dnf info bolt
Last metadata expiration check: 2 days, 6:51:24 ago on Sat 01 Sep 2018 09:06:59 AM +08.
Installed Packages
Name         : bolt
Version      : 0.4
Release      : 1.fc28
Arch         : x86_64
Size         : 281 k
Source       : bolt-0.4-1.fc28.src.rpm
Repo         : @System
From repo    : updates-testing
Summary      : Thunderbolt device manager
URL          : https://github.com/gicmo/bolt
License      : LGPLv2+
Description  : bolt is a system daemon to manage thunderbolt 3 devices via a D-BUS
             : API.  Thunderbolt 3 features different security modes that require
             : devices to be authorized before they can be used. The D-Bus API can be
             : used to list devices, enroll them (authorize and store them in the
             : local database) and forget them again (remove previously enrolled
             : devices). It also emits signals if new devices are connected (or
             : removed). During enrollment devices can be set to be automatically
             : authorized as soon as they are connected.  A command line tool, called
             : boltctl, can be used to control the daemon and perform all the above
             : mentioned tasks.

I don’t know and where it comes and apparently active on my system

[rnm@robbinespu (/home/rnm)] 
$ systemctl status bolt.service
● bolt.service
   Loaded: masked (/dev/null; masked)
   Active: active (running) since Mon 2018-09-03 14:11:53 +08; 1h 50min ago
 Main PID: 1946 (boltd)
    Tasks: 3 (limit: 4915)
   Memory: 1.7M
   CGroup: /system.slice/bolt.service
           └─1946 /usr/libexec/boltd

Sep 03 14:11:28 robbinespu systemd[1]: Starting Thunderbolt system service...
Sep 03 14:11:28 robbinespu boltd[1946]: bolt 0.4 starting up.
Sep 03 14:11:28 robbinespu boltd[1946]: config: loading user config
Sep 03 14:11:53 robbinespu boltd[1946]: store: loading devices
Sep 03 14:11:53 robbinespu boltd[1946]: power: force_power support: no
Sep 03 14:11:53 robbinespu boltd[1946]: udev: enumerating devices
Sep 03 14:11:53 robbinespu systemd[1]: Started Thunderbolt system service.
Sep 03 15:58:43 robbinespu systemd[1]: bolt.service: Current command vanished from the unit file, execution of the command list won't be resumed.

Even though I don’t appear to have any Thunderbolt devices…

[rnm@robbinespu (/home/rnm)] 
$ boltctl list

As quick solution let just permanently disable the service.

[rnm@robbinespu (/home/rnm)] 
$ systemctl mask bolt
Created symlink /etc/systemd/system/bolt.service → /dev/null

Robbi Nespu | Bash, Fedora, Linux, SystemD

Discussion and feedback