Unterschied: init=/bin/sh <=> kernel boot option -b

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
dbr51
Beiträge: 12
Registriert: 17.10.2005 23:41:33

Unterschied: init=/bin/sh <=> kernel boot option -b

Beitrag von dbr51 » 11.04.2007 04:06:07

Hallo,
ich habe folgenden festgestellt:
Szenario 1:
booten mit

Code: Alles auswählen

root=/dev/hda7 ro resume2=swap:/dev/hda9 init=/bin/sh
dann in der Shell:

Code: Alles auswählen

# mount -o remount,rw /
# mount -t proc proc proc
# mount -t sysfs sysfs /sys
# swapon -a
# echo > /sys/power/suspend2/do_suspend
Es funktioniert sowohl suspend als auch beim Wiedereinschalten das resume.

Aber:
Szenario 2:
booten mit

Code: Alles auswählen

root=/dev/hda7 ro resume2=swap:/dev/hda9 -b
(-b verhindert die Ausführung jeglicher Startskripte, soweit ich das verstanden haben)
dann root-Passwort für system-maintenance-mode, dann weiter wie oben:

Code: Alles auswählen

# mount -o remount,rw /
# mount -t proc proc /proc (hier ist allerdings "/proc" erforderlich statt nur "proc")
# mount -t sysfs sysfs /sys
# swapon -a
# echo > /sys/power/suspend2/do_suspend
Auch hier funktioniert suspend, aber beim anschließenden resume friert das System ein, leider ohne Log-Einträge.

Was kann den Resume-Vorgang stören, wenn init läuft, aber noch keine Startscripts ausgeführt hat. Wenn ich das recht verstehe, sind doch in beiden Szenarien noch keinerlei Treiber geladen, oder? Was sind die prinzipiellen Unterschiede, und könnte ich dem ggf. verantwortlichen Unterschied auf die Spur kommen?
Vielen Dank,
Jonas

jaywalker
Beiträge: 371
Registriert: 14.09.2006 12:13:19

Beitrag von jaywalker » 11.04.2007 11:50:51

Schon mehrfach beide Varianten ausprobiert? Es kann bei suspend schon auch passieren, daß der Rechner mal aufwacht und mal nicht, auch wenn man das jedesmal gleich macht. Bei meinem Rechner hängt das bei irgendwelchen falschen Einstellungen z.B. davon ab, wie lange ich ihn ausgelassen habe, ob er wieder hochfährt.

Grüße
Heiner

dbr51
Beiträge: 12
Registriert: 17.10.2005 23:41:33

Beitrag von dbr51 » 11.04.2007 19:47:37

Ich hab in den letzten zwei Wochen schon alles mögliche ausprobiert, leider vergeblich, siehe http://www.debianforum.de/forum/viewtopic.php?t=82084
Als letzte Option, wenns mit suspend2 nicht klappt, heißt es, man solle den Kernel mit dem Parameter init=/bin/sh starten. Und siehe da, dies ist die allereinzige Möglichkeit, die ich gefunden habe, mit Kernels > 2.6.20 auf meinem Thinkpad nach einem suspend das resume ohne Kernel-Panic hinzubekommen.
Der nächste Schritt, das Problem einzukreisen, ist, init mit möglichst wenig "SchnickSchnack" zu starten, daher die Option -b. Und siehe da, damit funktioniert das resume nicht mehr. Deshalb frage ich mich, was ist bei einem Systemstart mit -b vorhanden, was bei init=/bin/sh fehlt und daher offensichtlich nicht zur Kernel-Panic führt.

Grüße,
Jonas

Antworten