• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Leap 15.2 bootet mit ca. 1 min Pause

heinerf

Member
Hallo in die Runde,

mein frisch auf einer SSD installiertes Leap 15.2 bootet sehr langsam, das heißt mit einer Pause von >1min, in der gefühlt rein garnichts passiert:
Code:
hein@linux:~> systemd-analyze blame
     1min 6.097s dracut-initqueue.service
          4.887s postfix.service
          4.264s btrfsmaintenance-refresh.service
          3.161s display-manager.service
          2.922s smartd.service
          2.790s plymouth-quit-wait.service
          2.317s lvm2-monitor.service
          1.712s apparmor.service
           881ms udisks2.service
           720ms firewalld.service
           .
           .
           .
Code:
systemd-analyze plot > boot.svg
zeigt folgendes:
0 - 4,5 s kernel
4,5 - 71,5 s initrd
danach geht's zügig weiter mit systemd.

Ich hatte das gleiche Problem schon mit der Leap 15.1.
Habe mir extra eine schnelle SSD eingebaut, damit er schneller bootet. Aber diese 1-min-Pause ist kontraproduktiv.

Gibt's eine Möglichkeit, den Bootvorgang deutlich zu beschleunigen?

Grüße
Hein
 

manzek

Hacker
Das mit der Verzögerung kenne ich eher beim Herunterfahren, wenn der LVM-Monitor-Service aktiviert ist.
Beim Hochfahren habe ich derartige Probleme am ehesten, wenn irgendwelches USB-Gedöns nicht so recht will.

Aber testweise kannst du ja mal den LVM-Monitor-Service abschalten

Code:
systemctl stop lvm2-monitor
systemctl disable lvm2-monitor.service
 
OP
heinerf

heinerf

Member
Code:
# dracut -f
dracut: Executing: /usr/bin/dracut -f
dracut: dracut module 'nvmf' will not be installed, because command 'nvme' could not be found!
dracut: dracut module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut: dracut module 'nvmf' will not be installed, because command 'nvme' could not be found!
dracut: *** Including module: bash ***
dracut: *** Including module: systemd ***
dracut: *** Including module: systemd-initrd ***
dracut: *** Including module: i18n ***
dracut: *** Including module: drm ***
dracut: *** Including module: plymouth ***
dracut: *** Including module: kernel-modules ***
dracut: *** Including module: kernel-modules-extra ***
dracut: *** Including module: resume ***
dracut: *** Including module: rootfs-block ***
dracut: *** Including module: suse-btrfs ***
dracut: *** Including module: suse-xfs ***
dracut: *** Including module: terminfo ***
dracut: *** Including module: udev-rules ***
dracut: Skipping udev rule: 40-redhat.rules
dracut: Skipping udev rule: 50-firmware.rules
dracut: Skipping udev rule: 50-udev.rules
dracut: Skipping udev rule: 91-permissions.rules
dracut: Skipping udev rule: 80-drivers-modprobe.rules
dracut: *** Including module: dracut-systemd ***
dracut: *** Including module: haveged ***
dracut: *** Including module: ostree ***
dracut: *** Including module: usrmount ***
dracut: *** Including module: base ***
dracut: *** Including module: fs-lib ***
dracut: *** Including module: shutdown ***
dracut: *** Including module: suse ***
dracut: *** Including module: suse-initrd ***
dracut: *** Including modules done ***
dracut: *** Installing kernel module dependencies ***
dracut: *** Installing kernel module dependencies done ***
dracut: *** Resolving executable dependencies ***
dracut: *** Resolving executable dependencies done ***
dracut: *** Hardlinking files ***
dracut: *** Hardlinking files done ***
dracut: *** Stripping files ***
dracut: *** Stripping files done ***
dracut: *** Generating early-microcode cpio image ***
dracut: *** Constructing AuthenticAMD.bin ***
dracut: *** Store current command line parameters ***
dracut: Stored kernel commandline:
dracut:  resume=UUID=f8c208b4-25b6-4a7b-9dde-6653f6f20e71
dracut:  root=UUID=fec02e40-246e-4dcc-908c-59aa3c47c313 rootfstype=ext4 rootflags=rw,relatime
dracut: *** Creating image file '/boot/initrd-5.3.18-lp152.66-default' ***
dracut: *** Creating initramfs image file '/boot/initrd-5.3.18-lp152.66-default' done ***
 
OP
heinerf

heinerf

Member
Hallo,
ich möchte mein Anliegen nochmal nach oben bringen.

@Sauerland:
kannst du mit der geposteten Ausgabe etwas anfangen?
Irgendeine Idee?
 
OP
heinerf

heinerf

Member
Moin,

bitte sehr:
Code:
# systemd-analyze blamee
     1min 6.114s dracut-initqueue.service
         11.486s backup-rpmdb.service
          5.584s mandb.service
          5.410s display-manager.service
          4.971s plymouth-quit-wait.service
          4.883s postfix.service
          2.876s smartd.service
          2.863s udisks2.service
          2.743s nscd.service
          2.089s apparmor.service
          1.082s systemd-fsck@dev-disk-by\x2duuid-c8233996\x2daade\x2d4141\x2da06e\x2dfe70f184ddfc.service
          1.073s alsa-restore.service
           728ms firewalld.service
           639ms initrd-switch-root.service
           557ms NetworkManager.service
           406ms systemd-tmpfiles-setup.service
           314ms systemd-random-seed.service
           281ms polkit.service
           242ms logrotate.service
           203ms backup-sysconfig.service
           186ms rsyslog.service
           144ms upower.service
           133ms initrd-parse-etc.service
           120ms systemd-journal-flush.service
           118ms user@1000.service
           113ms home.mount
           106ms tmp.mount
           100ms dev-disk-by\x2duuid-f8c208b4\x2d25b6\x2d4a7b\x2d9dde\x2d6653f6f20e71.swap
            88ms kbdsettings.service
            87ms ModemManager.service
            83ms var.mount
            83ms auditd.service
            81ms systemd-udevd.service
            81ms chronyd.service
            75ms klog.service
            69ms systemd-udev-trigger.service
            66ms dracut-cmdline.service
            55ms systemd-timesyncd.service
            49ms plymouth-read-write.service
            43ms plymouth-switch-root.service
            35ms systemd-journald.service
            34ms systemd-logind.service
            32ms systemd-vconsole-setup.service
            31ms systemd-tmpfiles-setup-dev.service
            31ms systemd-update-utmp.service
            30ms systemd-fsck-root.service
            27ms dracut-pre-udev.service
            26ms systemd-sysctl.service
            25ms mcelog.service
            23ms systemd-modules-load.service
            23ms rtkit-daemon.service
            22ms iscsi.service
            21ms plymouth-start.service
            20ms sysroot.mount
            20ms wpa_supplicant.service
            20ms check-battery.service
            16ms avahi-daemon.service
            15ms user-runtime-dir@1000.service
            14ms systemd-remount-fs.service
            12ms sys-kernel-debug.mount
            10ms initrd-cleanup.service
            10ms systemd-user-sessions.service
             8ms dev-mqueue.mount
             7ms kmod-static-nodes.service
             6ms systemd-update-utmp-runlevel.service
             6ms sys-fs-fuse-connections.mount
             5ms initrd-udevadm-cleanup-db.service
             5ms dracut-shutdown.service
             4ms dev-hugepages.mount

Freue mich auf Lösungsansätze

Hein
 
Was sagt als root:
Code:
systemctl status dracut-initqueue.service
Code:
systemctl status backup-rpmdb.service
Code:
systemd-analyze critical-chain
Code:
lsblk -o NAME,PARTUUID,MOUNTPOINT,FSTYPE
 
OP
heinerf

heinerf

Member
hier die Ausgaben:
Code:
# systemctl status dracut-initqueue.service
● dracut-initqueue.service - dracut initqueue hook
   Loaded: loaded (/usr/lib/systemd/system/../../dracut/modules.d/98dracut-systemd/dracut-initqueue.service; static; vendor preset: disabled)
   Active: inactive (dead) since Thu 2021-04-15 16:17:05 CEST; 2min 47s ago
     Docs: man:dracut-initqueue.service(8)
 Main PID: 308 (code=exited, status=0/SUCCESS)

Apr 15 16:15:58 localhost systemd[1]: Starting dracut initqueue hook...
Apr 15 16:17:05 localhost systemd[1]: Started dracut initqueue hook.
Apr 15 16:17:05 localhost systemd[1]: Stopped dracut initqueue hook.
Code:
# systemctl status backup-rpmdb.service
● backup-rpmdb.service - Backup RPM database
   Loaded: loaded (/usr/lib/systemd/system/backup-rpmdb.service; static; vendor preset: disabled)
   Active: inactive (dead)
Code:
# systemd-analyze critical-chain
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.

graphical.target @12.110s
└─multi-user.target @12.110s
  └─cron.service @12.109s
    └─postfix.service @7.292s +4.815s
      └─time-sync.target @7.276s
        └─chronyd.service @7.163s +112ms
          └─nss-lookup.target @7.137s
            └─nscd.service @4.427s +2.707s
              └─basic.target @4.314s
                └─paths.target @4.314s
                  └─cups.path @4.314s
                    └─sysinit.target @4.306s
                      └─apparmor.service @2.562s +1.743s
                        └─var.mount @2.298s +233ms
                          └─dev-disk-by\x2duuid-6162a418\x2d2f04\x2d47e5\x2da15d\x2d35a2030d1be3.device @2.268s
Code:
# lsblk -o NAME,PARTUUID,MOUNTPOINT,FSTYPE
NAME   PARTUUID                             MOUNTPOINT FSTYPE
sda                                                    
├─sda1 2bd2c32a-01                          /var       ext4
├─sda2 2bd2c32a-02                          /tmp       ext4
├─sda3 2bd2c32a-03                                     
├─sda4 2bd2c32a-04                          /home      ext4
├─sda5 2bd2c32a-05                                     vfat
├─sda6 2bd2c32a-06                          [SWAP]     swap
├─sda7 2bd2c32a-07                                     ext4
├─sda8 2bd2c32a-08                                     ext4
└─sda9 2bd2c32a-09                                     ext4
sdb                                                    
└─sdb1 8e31634d-01                          /          ext4
sr0
 
OP
heinerf

heinerf

Member
Code:
~> cat /etc/fstab
UUID=fec02e40-246e-4dcc-908c-59aa3c47c313  /      ext4  defaults,relatime      1  1
UUID=6162a418-2f04-47e5-a15d-35a2030d1be3  /var   ext4  data=ordered  0  0
UUID=10e82a9b-f9fd-4121-85b3-02e2299b7ffe  /tmp   ext4  data=ordered  0  0
UUID=c8233996-aade-4141-a06e-fe70f184ddfc  /home  ext4  data=ordered  0  2
UUID=f8c208b4-25b6-4a7b-9dde-6653f6f20e71  swap   swap  defaults      0  0
 
OP
heinerf

heinerf

Member
Hallo,

ich möchte nochmal freundlich nachfragen, ob es zu meinem Problem irgendwelche zielführenden Anregungen gibt.

Vorweg schon mal danke

Hein
 

manzek

Hacker
Einer meiner Rechner hat mich immer wieder geärgert, indem beim Booten ähnliche Delays auftraten. Ursache waren bei mir Hardwareinkompatibilitäten der USB-Komponenten auf dem Mainboard.

Welche Hardware ist in deinem Rechner verbaut?

Als nächstes verwirrt mich deine Platten-Konfiguration. Es tauchen vfat-Partitionen auf, obwohl anscheinend kein Windows installiert ist. Ebenso ist auch keine /boot/efi-Partition vorhanden. Dieses Verfahren ist mit dem Aufkommen von Windows 7 bereits so lange etabliert, dass ich schon garnicht mehr weiß, wie eine klassische MBR-Konfiguration ausgesehen hat. Die dazu passende /boot-Partiton sehe ich aber auch nicht.

Des weiteren finde ich in der fstab einen relatime-Eintrag, den ich bei mir auch noch nie gesehen habe. Also wirst du ihn dort selbst reingebastelt haben.


Ich persönlich würde mal eine Standardinstallation ohne weiteren Firlefanz versuchen, die dem heutigen Stand der Technik entspricht, sofern deine Hardware bereits mit UEFI ausgestattet ist, wovon ich jetzt einfach mal ausgehe:


- BIOS/EFI zurücksetzen, CSM abschalten (schaltet EFI-Modus ein)
- Partitionstabelle auf GPT setzen (beispielsweise mit gparted auf einer Live-CD/USB-Stick) Alle Daten werden hierbei gelöscht!
- Festplattenaufteilung ruhig dem Installer überlassen
 
heinerf schrieb:
ich möchte nochmal freundlich nachfragen, ob es zu meinem Problem irgendwelche zielführenden Anregungen gibt.
Du bist sehr freundlich.

Der Bootvorgang ist eine ziemlich komplexe Angelegenheit.
Um dein Problem zu lösen, solltest du ungefähr wissen, was da passiert und du solltest den Vorgang eingrenzen.

Eines gleich vorweg:
Ich habe keine Ahnung von Suse, grub und dracut.
Doch funktioniert dieses Startup auf allen Systemen ähnlich.

Was geschieht da eigentlich?
Es gibt 3 Instanzen, die Parameter benötigen und die in dieser Reihenfolge abgearbeitet werden:
1. Der MBR braucht den Namen des kernels
2. Der Kernel braucht den Namen des initrd, das du offensichtlich mit dracut erzeugst.
3. Das initrd braucht den Namen der Partition auf deiner SSD.
Das sind in etwa die wichtigsten Parameter für die jeweiligen Instanzen.

Bei 1+2 liegt dein Problem mit hoher Wahrscheinlichkeit nicht.
Bei 3 sieht das anders aus.

Wenn der kernel entpackt und im Speicher liegt, entpackt der kernel seinerseits das image initrd
in einen separaten Speicherbereich. Wenn erfolgreich entpackt, dann startet der kernel dort ein
script mit dem Namen init. Dieses init baut im Speicher ein kleines filesystem mit /sys, /proc, /dev, usw.
Danach startet das init ein Programm, ähnlich wie udev und erzeugt die Eintragungen in /dev
Schließlich ladet das init jene modules, die von dracut in das initrd gepackt worden sind.
--------------------------------------------------------------------
* An genau dieser Stelle hat dieses init ein kleines, lauffähiges System erzeugt.
--------------------------------------------------------------------
Dann liest das init die Information:
root=UUID=xxxxxx rootfstype=ext4 rootflags=rw
und prüft, ob diese partition auf deiner SSD vorhanden und gültig ist. Wenn ok, dann
1. Erstellen des directories /rootfs im Speicher (nennt sich initramfs)
2. mount der Partition mit ext4 auf mountpoint /roofs
3. Verschieben von /dev mit allen Inhalten nach /rootfs/dev
4. Entfernen aller system fs wie /sys, /proc aus dem initramfs
5. switch (ähnlich wie chroot) von initramfs nach /rootfs
6. Starten eines nächsten init auf /rootfs/sbin und Entfernen des initramfs

Hier, an dieser Stelle, beginnt nun dein Suse zu arbeiten.
Wie zu sehen, passiert da ziemlich viel im init des initrd.
An der obigen Linie trennen sich also die beiden Welten - System von Suse - einfach ausgedrückt.

Weil sich an dieser Linie schon ein kleines System aufgebaut hat, kann man den Bootvorgang
an der Stelle unterbrechen. Dazu braucht es einen Parameter an das init des initrd.
Der sollte in etwa lauten: "Abbruch und Start einer Rescue Shell an dieser Stelle"
Leider weiß ich nicht, wie dieser Parameter auf deinem System übergeben wird, wahrscheinlich irgendwie im grub.
@Sauerland oder @josef-wien wissen das mit Sicherheit.

Sobald du erfolgreich in dieser rescue shell gelandet bist, hast du beobachtet, ob dieses
Problem aufgetreten ist. Wenn Ja, dann liegt es ober der Linie, wenn Nein, dann liegt es danach.
Hat man diese Information, ist das Problem wesentlich leichter zu orten weil man dann weiß,
wo man entsprechende Werkzeuge einsetzen soll.

Gruß
Gräfin Klara
 

josef-wien

Ultimate Guru
Gräfin Klara schrieb:
@Sauerland oder @josef-wien wissen das mit Sicherheit.
Was mich betrifft, muß ich Dich enttäuschen. Ich habe weder openSUSE noch systemd. Somit habe ich auch keine Ahnung, wozu im laufenden System der Dienst "dracut-initqueue.service" da ist und warum er beim ansonsten erfolgreichen Sytemstart mehr als eine Minute Pause macht.
 
josef-wien schrieb:
Gräfin Klara schrieb:
@Sauerland oder @josef-wien wissen das mit Sicherheit.
Was mich betrifft, muß ich Dich enttäuschen. Ich habe weder openSUSE noch systemd. Somit habe ich auch keine Ahnung, wozu im laufenden System der Dienst "dracut-initqueue.service" da ist und warum er beim ansonsten erfolgreichen Sytemstart mehr als eine Minute Pause macht.
Dito hier.....

Poste mal:
Code:
journalctl -b | grep -i dracut
Code:
dmesg
letzteres als Textdatei.
 
OP
heinerf

heinerf

Member
@manzek
Die vfat-Partition ist eine alte Datenpartition aus Windows-Zeiten, die ich noch nicht abgeschrieben habe. Windows als solches wurde nach dem Einbau der ssd vor Installation von Leap 15.2 allerdings komplett entsorgt.
Der Rechner ist ein Medion Akoya Bj. 2011 und hat definitiv kein UEFI.
Der relatime Eintrag in der fstab stammt von mir. Wurde so in einem Pro-Linux-Artikel in 2015 empfohlen. Da ich noch nie eine ssd eingebaut habe, habe ich mich daran orientiert.
Mein Problem hat aber m.E. auch nichts mit der ssd zu tun, da der Delay genauso auftritt beim Booten von Leap 15.1 auf der alten Festplatte, auch schon vor Einbau der ssd.

@ Sauerland
hier die Ausgabe
Code:
# journalctl -b | grep -i dracut
Apr 21 09:07:37 localhost systemd[1]: Started dracut ask for additional cmdline parameters.
Apr 21 09:07:37 localhost systemd[1]: Starting dracut cmdline hook...
Apr 21 09:07:37 localhost dracut-cmdline[199]: dracut-15.2 dracut-049.1+suse.186.g320cc3d1-lp152.2.21.1
Apr 21 09:07:37 localhost dracut-cmdline[199]: Using kernel command line parameters: resume=UUID=f8c208b4-25b6-4a7b-9dde-6653f6f20e71 root=UUID=fec02e40-246e-4dcc-908c-59aa3c47c313 rootfstype=ext4 rootflags=rw,relatime BOOT_IMAGE=/boot/vmlinuz-5.3.18-lp152.72-default root=UUID=fec02e40-246e-4dcc-908c-59aa3c47c313 splash=silent resume=/dev/disk/by-uuid/f8c208b4-25b6-4a7b-9dde-6653f6f20e71 mitigations=auto quiet
Apr 21 09:07:37 localhost systemd[1]: Started dracut cmdline hook.
Apr 21 09:07:37 localhost systemd[1]: Starting dracut pre-udev hook...
Apr 21 09:07:37 localhost systemd[1]: Started dracut pre-udev hook.
Apr 21 09:07:37 localhost systemd[1]: Starting dracut initqueue hook...
Apr 21 09:08:44 localhost systemd[1]: Started dracut initqueue hook.
Apr 21 09:08:44 localhost systemd[1]: Stopped dracut initqueue hook.
Apr 21 09:08:44 localhost systemd[1]: Stopped dracut pre-udev hook.
Apr 21 09:08:44 localhost systemd[1]: Stopped dracut cmdline hook.
Apr 21 09:08:44 localhost systemd[1]: Stopped dracut ask for additional cmdline parameters.
Wie poste ich eine Textdatei?
 
root=UUID=fec02e40-246e-4dcc-908c-59aa3c47c313 splash=silent resume=/dev/disk/by-uuid/f8c208b4-25b6-4a7b-9dde-6653f6f20e71
Das ist doch doppelt oder sehe ich falsch?
Poste
Code:
cat /proc/cmdline

Edit:
ist hier im log auch doppelt....
Das war es also nicht....
 
Oben