Kernel-Panic simulieren/auslösen
-
- Beiträge: 4
- Registriert: 14.07.2006 10:25:38
Kernel-Panic simulieren/auslösen
Hallo Leute,
habe schon seit langem ein "Problem" und hoffe das ihr mir dabei weiterhelfen könnt. Ich möchte eine Kernel-Panic simulieren/auslösen. Vielleicht habt ihr ne Idee wie das relativ einfach zu bewerkstelligen wäre ohne einen schadhaften Kernel neu zu kompilieren.
Grund des Ganzen ist ein Grub-Fallback-Test.
System:
Debian Sarge
2.6.8
MfG
habe schon seit langem ein "Problem" und hoffe das ihr mir dabei weiterhelfen könnt. Ich möchte eine Kernel-Panic simulieren/auslösen. Vielleicht habt ihr ne Idee wie das relativ einfach zu bewerkstelligen wäre ohne einen schadhaften Kernel neu zu kompilieren.
Grund des Ganzen ist ein Grub-Fallback-Test.
System:
Debian Sarge
2.6.8
MfG
Zum Testen vom Grub-Fallback kannst du doch ganz normal rebooten. Grub erkennt ja nicht wirklich ob eine Kernel Panik passiert ist. Von Grub wird ja immer der nächste Fallback Kernel gebootet, außer du setzt explicit den Default-Kernel (mit z.B. grub-set-default 0). Anders ausgedrückt, wenn du verhinderst, daß "grub-set-default" aufgerufen wird, geht Grub immer von einer Kernel Panic aus.
Wenn du ein falschen Kernelparameter "root=" angibst, hast du deine Kernel Panic.
Ein Modul zu schreiben, welches beim Laden eine Kernel Panic auslöst, ist auch ganz leicht. Wenn du das möchtest könnte ich dir ein entsprechendes Grundgerüst posten.
Gruß
gms
Wenn du ein falschen Kernelparameter "root=" angibst, hast du deine Kernel Panic.
Ein Modul zu schreiben, welches beim Laden eine Kernel Panic auslöst, ist auch ganz leicht. Wenn du das möchtest könnte ich dir ein entsprechendes Grundgerüst posten.
Gruß
gms
-
- Beiträge: 4
- Registriert: 14.07.2006 10:25:38
Danke für die schnellen Antworten!
Wäre super wenn du mir Anregungen (Grundgerüst) bezüglich des Moduls posten könntest!
P.S:
"grub-set-default 0 " funktioniert unter Sarge nicht.
MfG
Ich meine das Grub das schon vorher erkennt wenn du falschen "root" angibst und garnicht erst bootet.gms hat geschrieben: Wenn du ein falschen Kernelparameter "root=" angibst, hast du deine Kernel Panic.
Ein Modul zu schreiben, welches beim Laden eine Kernel Panic auslöst, ist auch ganz leicht. Wenn du das möchtest könnte ich dir ein entsprechendes Grundgerüst posten.
Gruß
gms
Wäre super wenn du mir Anregungen (Grundgerüst) bezüglich des Moduls posten könntest!
P.S:
"grub-set-default 0 " funktioniert unter Sarge nicht.
MfG
wenn dem so ist, wie möchtest du dieses Problem dann lösen ?Rootie2000 hat geschrieben:Der Kernelparameter wird von Grub sicherlich nicht überprüftgms hat geschrieben: Ich meine das Grub das schon vorher erkennt wenn du falschen "root" angibst und garnicht erst bootet.
file panic.cRootie2000 hat geschrieben: Wäre super wenn du mir Anregungen (Grundgerüst) bezüglich des Moduls posten könntest!MakefileCode: Alles auswählen
#include <linux/version.h> #include <linux/module.h> MODULE_LICENSE("GPL"); int init_module(void) { panic("do not panic, I will do it for you"); return 0; } void cleanup_module(void) { return; }
Code: Alles auswählen
obj-m := panic.o
Code: Alles auswählen
root@gms4:~/panic# make -C /usr/src/linux SUBDIRS=/root/panic modules root@gms4:~/panic# ls -l panic.ko -rw-r--r-- 1 root root 1893 2006-07-14 13:06 panic.ko
Rootie2000 hat geschrieben: "grub-set-default 0 " funktioniert unter Sarge nicht.
Du mußt Grub ja mitteilen, daß alles bei diesem Bootvorgang in Ordnung war, ansonsten wird automatisch beim nächsten Boot der Fallback-Kernel gebootet.
Gruß
gms
Noch einfacher geht ein Reset per Software:
Aber auf einem System mit nützlichen Daten
würde ich das nicht machen! Die Wirkung ist
praktisch wie Stromausfall![Exclamation :!:](./images/smilies/icon_exclaim.gif)
Dann kann man eigentlich auch direkt den
Reset-Taster benutzen...
Code: Alles auswählen
echo "s" > /proc/sysrq-trigger
sleep 3
echo "b" > /proc/sysrq-trigger
würde ich das nicht machen! Die Wirkung ist
praktisch wie Stromausfall
![Exclamation :!:](./images/smilies/icon_exclaim.gif)
Dann kann man eigentlich auch direkt den
Reset-Taster benutzen...
Beware of programmers who carry screwdrivers.
@cosmaccosmac hat geschrieben:Noch einfacher geht ein Reset per Software:Aber auf einem System mit nützlichen DatenCode: Alles auswählen
echo "s" > /proc/sysrq-trigger sleep 3 echo "b" > /proc/sysrq-trigger
würde ich das nicht machen! Die Wirkung ist
praktisch wie Stromausfall![]()
Die Lösung hatte ich auch kurz im Sinn, aber wenn ich das richtig verstehe, ist das (aus der Sicht des Kernel's) leider nur ein (unsauberer) Reboot und keine wirkliche Kernel Panic.
@Rootie2000
Die Doku zu cosmac's Vorschlag findest du in den Kernel-Sourcen unter "Documentation/sysrq.txt"
Gruß
gms
-
- Beiträge: 4
- Registriert: 14.07.2006 10:25:38
Danke für das Grundgerüst gms !
Frag mich nicht wie es in Sarge geregelt wird aber es funktioniert, es ist noch nichtmal eine
"/boot/grub/default" vorhanden.
gms hat geschrieben:
wenn dem so ist, wie möchtest du dieses Problem dann lösen ?
Du mußt Grub ja mitteilen, daß alles bei diesem Bootvorgang in Ordnung war, ansonsten wird automatisch beim nächsten Boot der Fallback-Kernel gebootet.
Gruß
gms
Frag mich nicht wie es in Sarge geregelt wird aber es funktioniert, es ist noch nichtmal eine
"/boot/grub/default" vorhanden.
Hast du es auch schon durchgetestet ? Laut Manual solltest du diesen Aufruf aus einem rc-Script absetzen:Rootie2000 hat geschrieben: Frag mich nicht wie es in Sarge geregelt wird aber es funktioniert, es ist noch nichtmal eine
"/boot/grub/default" vorhanden.
http://www.gnu.org/software/grub/manual/html_node/Booting-fallback-systems.html hat geschrieben: However, you need to run grub-set-default (see Invoking grub-set-default) when `A' starts correctly or you fix `A' after it crashes, since GRUB always sets next boot entry to a fallback entry. You should run this command in a startup script such as rc.local
-
- Beiträge: 4
- Registriert: 14.07.2006 10:25:38