heinerf hat geschrieben: ↑20. Apr 2021, 10:10
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