Hard Reboot?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
alfred1
Beiträge: 1
Registriert: 05.01.2022 12:41:09

Hard Reboot?

Beitrag von alfred1 » 05.01.2022 12:51:41

Hallo,

wir haben ein Problem mit einem fehlerhaften Bios bei Server zu denen es nicht so einfach ist physikalischen Zugriff zu bekommen.

Es äussert sich darin das nach einer uptime von ca. mehr als 100 Tagen beim Versuch zu rebooten die Kisten komplett tot sind, bis sie physikalisch
ein und ausgeschalten wurden. RLM/iKVM/iLO etc. ist nicht vorhanden. Das Bios können wir remote momentan nicht upgraden.

Bei einem "Kaltstart" durch ein und ausschalten ist das Problem erstmal weg, eben diesen Kaltstart möchte ich nun gerne haben, z.B. als kleinen Programm.


Man kann dem Kernel eine Option mitgeben "reboot=cold" - leider muss der Server dazu gebootet werden, was ja eben nicht funktioniert.

in reboot.c im Kernel Sourcecode steht in etwa sowas:

#define __va(x) ((void *)((unsigned long) (x)))
*((unsigned short *)__va(0x472)) = 0x0000;

Der Wert kann 0x1234 (warm Start) oder 0x0000 (Kaltstart sein).

Eingewickelt in eine main-Funktion kompiliert das Problemlos, beim Versuch es aufzurufen gibt es aber einen Coredump.
Ebenso als kleines Assembler Programm (movw $0x1234,0x0000) kompiliert es und erzeugt einen Coredump.

Ich vermute das ganze ist irgendwie abgesichert vom Linux Kernel aus.

Habt ihr einen Tip das hinzubekommen??

Alfred

KP97
Beiträge: 3424
Registriert: 01.02.2013 15:07:36

Re: Hard Reboot?

Beitrag von KP97 » 05.01.2022 19:11:36

alfred1 hat geschrieben: ↑ zum Beitrag ↑
05.01.2022 12:51:41
Habt ihr einen Tip das hinzubekommen??
Nein, denn es fehlen jegliche Infos. Selbst ob es sich überhaupt um ein Debian handelt, können wir nur vermuten...

Benutzeravatar
TRex
Moderator
Beiträge: 8069
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Hard Reboot?

Beitrag von TRex » 05.01.2022 19:19:10

Mir fällt dazu noch https://en.wikipedia.org/wiki/Magic_SysRq_key (b) ein:

Code: Alles auswählen

# echo b > /proc/sysrq-trigger
Wenn du kannst, mach das vorher mit s und u, siehe Wiki-Seite. Das ist ziemlich universell, man kann das aber einzeln abschalten (und nicht alle sind in allen Systemen freigeschaltet).
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Antworten