Skip to content

Install: update blueos.service to start after docker #3303

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Williangalvani
Copy link
Member

@Williangalvani Williangalvani commented May 13, 2025

this takes blueos out of blame and out of the critical chain, too:

pi@blueos:~ $ systemd-analyze blame
6.819s NetworkManager-wait-online.service
3.357s docker.service
1.185s raspi-config.service
 634ms e2scrub_reap.service
 626ms containerd.service
 514ms dev-mmcblk0p2.device
 424ms blueos.service
 416ms ModemManager.service
 366ms rpi-eeprom-update.service
 351ms NetworkManager.service
 253ms avahi-daemon.service
 251ms bluetooth.service
 241ms polkit.service
 229ms systemd-logind.service
 226ms ssh.service
 221ms dbus.service
 198ms systemd-modules-load.service
 187ms dphys-swapfile.service
 184ms networking.service
 159ms [email protected]
 147ms wpa_supplicant.service
 147ms systemd-udev-trigger.service
 132ms keyboard-setup.service
 132ms systemd-fsck@dev-disk-by\x2dpartuuid-2e57db04\x2d01.service
 127ms sshswitch.service
 120ms systemd-journal-flush.service
  93ms systemd-timesyncd.service
  84ms systemd-journald.service
  80ms systemd-tmpfiles-setup-dev.service
  78ms systemd-udevd.service
  72ms [email protected]
  63ms dev-mqueue.mount
  62ms sys-kernel-debug.mount
  61ms triggerhappy.service
  61ms sys-kernel-tracing.mount
  59ms fake-hwclock.service
  57ms systemd-binfmt.service
  55ms systemd-tmpfiles-setup.service
  55ms kmod-static-nodes.service
  54ms [email protected]
  52ms systemd-remount-fs.service
  50ms [email protected]
  47ms systemd-rfkill.service
  47ms systemd-sysusers.service
  40ms systemd-random-seed.service
  32ms alsa-restore.service
  29ms proc-sys-fs-binfmt_misc.mount
  29ms run-rpc_pipefs.mount
  20ms rpc-statd-notify.service
  20ms systemd-update-utmp.service
  15ms systemd-user-sessions.service
  14ms rc-local.service
  13ms systemd-sysctl.service
  12ms console-setup.service
  10ms ifupdown-pre.service
  10ms sys-fs-fuse-connections.mount
   9ms systemd-update-utmp-runlevel.service
   8ms sys-kernel-config.mount
   7ms [email protected]
   7ms boot-firmware.mount
   4ms modprobe@dm_mod.service
   3ms modprobe@efi_pstore.service
   3ms [email protected]
 871us docker.socket
 
pi@blueos:~ $ systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.

multi-user.target @13.039s
└─docker.service @9.205s +3.357s
 └─network-online.target @9.186s
   └─NetworkManager-wait-online.service @2.365s +6.819s
     └─NetworkManager.service @1.985s +351ms
       └─dbus.service @1.741s +221ms
         └─basic.target @1.731s
           └─sockets.target @1.731s
             └─docker.socket @1.730s +871us
               └─sysinit.target @1.727s
                 └─systemd-timesyncd.service @1.620s +93ms
                   └─systemd-tmpfiles-setup.service @1.540s +55ms
                     └─local-fs.target @1.529s
                       └─run-docker-netns-default.mount @11.210s
                         └─local-fs-pre.target @682ms
                           └─systemd-tmpfiles-setup-dev.service @600ms +80ms
                             └─systemd-sysusers.service @550ms +47ms
                               └─systemd-remount-fs.service @483ms +52ms
                                 └─systemd-journald.socket @421ms
                                   └─system.slice @379ms
                                     └─-.slice @379ms
                                     ```

Copy link

sourcery-ai bot commented May 13, 2025

Reviewer's Guide

The PR updates the BlueOS systemd unit to defer its startup until after Docker has initialized, shifting it out of the critical boot chain and improving overall boot parallelism.

File-Level Changes

Change Details Files
Add Docker startup dependency to BlueOS service
  • Add ‘After=docker.service’ directive
  • Add ‘Requires=docker.service’ directive
install/configs/blueos.service

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @Williangalvani - I've reviewed your changes and they look great!

Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@patrickelectric
Copy link
Member

@Williangalvani did you test it ?

@Williangalvani Williangalvani added move-to-stable Needs to be cherry-picked and move to stable and removed move-to-stable Needs to be cherry-picked and move to stable labels May 14, 2025
@Williangalvani Williangalvani marked this pull request as draft May 14, 2025 14:41
@Williangalvani
Copy link
Member Author

@Williangalvani did you test it ?

yes, this change on itself is not enough. dockerd.service is still waiting for network-online.
changed to draft meanwhile. I did verify the issue only happens on the first boot ever, so it is not a big issue

@patrickelectric
Copy link
Member

I did verify the issue only happens on the first boot ever

Just to be clear, which issue ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants