Fedora 36 [silverblue]: boot takes almost exactly two minutes

Heya, I’ve spent the last few hours digging through the mountain of old posts about dracut and initrd causing slow boot times, but none of the solutions have worked for me with Fedora SilverBlue 36 (fedora:fedora/36/x86_64/silverblue).

Like the older posts, it seems that dracut-initqueue is causing the issue:

[julia@monolith ~]$ systemd-analyze
Startup finished in 31.776s (firmware) + 3.290s (loader) + 2.439s (kernel) + 1min 25.023s (initrd) + 9.191s (userspace) = 2min 11.721s 
graphical.target reached after 6.060s in userspace
[julia@monolith ~]$ systemd-analyze blame | head -n1
1min 24.393s dracut-initqueue.service
[julia@monolith ~]$ 

I have tried:

  • sudo dracut -f
  • sudo dracut -f --regenerate-all
  • sudo dracut -o "dbus" -f
  • sudo dracut -o "dbus" -f --regenerate-all

All to no avail. I have also checked my kernel cmdline arguments for resume=, with no luck.

I initially thought this might be a systemd unit not starting, since the boot times I was getting were just a touch above 2 minutes, and iirc some systemd units abort if not successful after two minutes, but that doesn’t seem to be the case.

I’m more than happy to provide any and all information required to fix this, and open an issue if necessary, I didn’t wanna do that initially though, in case I’ve done something wrong.

I was always told to look for systemd-analyze critical-chain instead of reading blame output because, “processes run concurrently” and blame doesn’t represent that. I hope I didn’t get it wrong, am I?!

Anyway, I used the command in the post, and I see this:

 ⟹  systemd-analyze blame | head -n1
17.239s dnf-makecache.service

Is this a problem?! I wonder.

dnf makecache runs in the background and shouldn’t be blocking for boot.

1 Like

Welcome to ask.:fedora:edora @karakara

Could you please give us more info’s as :

inxi -Fzx in terminal and post the output as </> Preformatted text here.
So we can see with what kind of Hardware you are fighting.

And beside have a look if everything is OK seeing the boot-log with grep:
sudo sed $'s/\^\[/\E/g' /var/log/boot.log |grep dracut

If there are errors see without grep sudo sed $'s/\^\[/\E/g' /var/log/boot.log if there is something in between who makes trouble.

1 Like

Hi! Heres the additional information that you asked for:

inxi -Fzx in the terminal and post the output as </> preformatted text here.

System:
  Kernel: 5.17.2-300.fc36.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.37-24.fc36 Desktop: GNOME Distro: Fedora release 36 (Thirty Six)
Machine:
  Type: Desktop Mobo: ASRock model: B450 Pro4 serial: <superuser required>
    UEFI: American Megatrends v: P3.60 date: 07/31/2019
CPU:
  Info: 6-core model: AMD Ryzen 5 2600 bits: 64 type: MT MCP arch: Zen+
    rev: 2 cache: L1: 576 KiB L2: 3 MiB L3: 16 MiB
  Speed (MHz): avg: 1493 high: 2093 min/max: 1550/3400 boost: enabled
    cores: 1: 1549 2: 1426 3: 1434 4: 2093 5: 1285 6: 1272 7: 1549 8: 1547
    9: 1373 10: 1329 11: 1515 12: 1546 bogomips: 81434
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
    vendor: Micro-Star MSI driver: amdgpu v: kernel bus-ID: 09:00.0
  Device-2: N/A type: USB driver: snd-usb-audio,uvcvideo bus-ID: 3-2.2:8
  Display: wayland server: X.Org v: 1.22.1.1 compositor: gnome-shell
    driver: gpu: amdgpu resolution: 1: 1600x900~60Hz 2: 1600x900~60Hz
  Message: Wayland GBM/EGL data currently not available.
Audio:
  Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
    vendor: Micro-Star MSI driver: snd_hda_intel v: kernel bus-ID: 09:00.1
  Device-2: AMD Family 17h HD Audio vendor: ASRock driver: snd_hda_intel
    v: kernel bus-ID: 0b:00.3
  Device-3: N/A type: USB driver: snd-usb-audio,uvcvideo bus-ID: 3-2.2:8
  Device-4: Generic USB Audio type: USB
    driver: hid-generic,snd-usb-audio,usbhid bus-ID: 3-2.3:9
  Sound Server-1: ALSA v: k5.17.2-300.fc36.x86_64 running: yes
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: ASRock driver: r8169 v: kernel port: d000 bus-ID: 08:00.0
  IF: enp8s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Broadcom Corp BCM20702A0 type: USB driver: btusb v: 0.8
    bus-ID: 1-4:3
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends
Drives:
  Local Storage: total: 1.14 TiB used: 99.55 GiB (8.5%)
  ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 250GB size: 232.89 GiB
  ID-2: /dev/sdb vendor: Western Digital model: WD10EZEX-08WN4A0
    size: 931.51 GiB
Partition:
  Message: No partition data found.
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
  System Temperatures: cpu: N/A mobo: N/A gpu: amdgpu temp: 44.0 C
  Fan Speeds (RPM): N/A gpu: amdgpu fan: 257
Info:
  Processes: 413 Uptime: 9m Memory: 15.55 GiB used: 2.59 GiB (16.7%)
  Init: systemd Compilers: gcc: N/A Packages: N/A note: see --pkg Shell: Bash
  v: 5.1.16 inxi: 3.3.14

Also, I ran this in toolbox, if it matters.

And beside have a look if everything is OK seeing the boot-log with grep: sudo sed $'s/\^\[/\E/g' /var/log/boot.log | grep dracut

It didn’t look like there were any errors at all in /var/log/boot.log, just [OK]s…

My motherboard has some minor issues (the USB 3.0 header is dead), but I don’t think that should be affecting this in any way.

It could. Attempting to configure a device is repeated several times until it times out.

The commands given can help, as can dmesg and looking at the logs with journalctl. The dmesg entries are given in seconds since power on (with 6 decimal accuracy) so that may offer some clues.

3 Likes

Containers still run against the host kernel, but you’ll probably still want to run journalctl in a regular terminal outside of toolbx.

1 Like

I took a look at dmesg, and in it looks like the messages related to dracut are all in the two or two and a half second range, except for 2 messages – the messages that indicate that dracut-initqueue and dracut-pre-mount have exited successfully, at around eighty seconds. In between those messages seem to be unrelated information related to GPU initialization. I’ve uploaded part of the dmesg output to pastebin.

More or less the same story for journalctl, just the service start/stop messages and those GPU initialization messages I mentioned.

It genuinely looks like dracut is just sitting there doing nothing for a minute and a half…

[   16.457037] usb 3-1: device descriptor read/64, error -110
[   32.329040] usb 3-1: device descriptor read/64, error -110
[   32.545009] usb 3-1: new full-speed USB device number 3 using xhci_hcd
[   48.201063] usb 3-1: device descriptor read/64, error -110
[   64.073035] usb 3-1: device descriptor read/64, error -110
[   64.175055] usb usb3-port1: attempt power cycle
[   64.555009] usb 3-1: new full-speed USB device number 4 using xhci_hcd
[   69.591029] xhci_hcd 0000:0a:00.3: Timeout while waiting for setup device command
[   75.223033] xhci_hcd 0000:0a:00.3: Timeout while waiting for setup device command
[   75.431008] usb 3-1: device not accepting address 4, error -62
[   75.545007] usb 3-1: new full-speed USB device number 5 using xhci_hcd
[   80.855032] xhci_hcd 0000:0a:00.3: Timeout while waiting for setup device command
[   86.487049] xhci_hcd 0000:0a:00.3: Timeout while waiting for setup device command
[   86.695006] usb 3-1: device not accepting address 5, error -62
[   86.695051] usb usb3-port1: unable to enumerate USB device

86-16 Sec. = 70Sec. = 1Min 10Sec. try to connect to USB 3-1
You loose quite a lot of time with your broken USB.

Is it a USB with the cable to the front panel who is not working?
Or is it an USB port soldered to the motherboard?

If it is the first one, you can try to take the cable off on the motherboard and see if this changes something.

1 Like

Just got the chance to try this, and the removable USB header doesn’t seem to be the problem, those errors still appear. Its possible that my motherboard is faulty and needs to be replaced, in all honesty, but I’m not able to replace it at the moment, so I guess I’ll just live with it.

Unless you have any other ideas, I think I’m gonna assume its an issue with my hardware.

Since the attempts to configure the USB device seem to take almost 90 seconds I think that it is likely hardware.

I notice that the problem is with USB 3-1 and that USB 3-2 seems to have a 4-port hub attached. What happens if you disconnect that 4 port hub?
One channel on a controller can interfere with another channel.

3 Likes

After unplugging the hub, I got near instant boot times (ignoring my bios):

[julia@monolith ~]$ systemd-analyze 
Startup finished in 12.596s (firmware) + 3.269s (loader) + 2.146s (kernel) + 1.632s (initrd) + 8.039s (userspace) = 27.684s 
graphical.target reached after 4.867s in userspace
[julia@monolith ~]$ 

After plugging the hub into a USB-2 port, I had a near instant boot as well.

Thanks a million, I would have never figured this out on my own! :sweat_smile:

1 Like