Ein frisch installierter Gigabyte Brix 1900 bleibt bei beinahe jedem Reboot an folgender Stelle hängen: Shutdown target reached
Auch nach einer Nacht warten passiert hier nichts mehr, die für dieses Problem vorgeschlagenen Lösungen aus dem Netz habe ich alle durch probiert – weder das Deaktivieren des Swap vor dem Shutdown noch das aktivieren der Debug Console für den Shutdown hatten was gebracht (Console war bereits tot nachdem das shutdown target erreicht wurde).
Also habe ich nach einer Möglichkeit gesucht am Ende des Shutdowns noch ein Script zu starten, systemd sollte das ja irgendwie hin bekommen…
Warum am Ende des Shutdowns noch ein Script starten?
Weil ich für Systeme die beim Shutdown hängen in einem meinerer früheren Blog Posts bereits eine Lösung gezeigt habe und diese könnte auch hier weiterhelfen!
Als erstes habe ich jetzt eine Datei (/usr/local/sbin/reboot_instantly.sh) erstellt mit folgendem Inhalt befüllt:
#!/bin/bash
echo 1 > /proc/sys/kernel/sysrq
sync && echo b > /proc/sysrq-trigger
Als nächstes habe ich für den systemd eine Service Datei erstellt (/etc/systemd/system/force_reboot.service):
[Unit]
Description=force reboot[Service]
Type=oneshot
ExecStart=/bin/true
ExecStop=/usr/local/sbin/reboot_instantly.sh[Install]
WantedBy=multi-user.target
Und mit „systemctl enable force_reboot.service“ aktiviert – leider klappt das so überhaupt nicht! Sondern beim Start wird das ganze ausgeführt und die Kistet resettet sich immer dann wenn sie gestartet ist…
Also zurück zum Start und weitergesucht – es gibt tatsächlich genau für diesen Zweck eine passende Lösung, systemd startet alle Scripte die im Verzeichnis /lib/systemd/system-shutdown/ liegen nachdem der shutdown abgeschlossen ist!
Also einfach das Script „reboot_instantly.sh“ dorthin kopiert und leicht modifiziert:
#!/bin/sh
if [ „$1“ = „reboot“ ]; then
echo 1 > /proc/sys/kernel/sysrq
sync && echo b > /proc/sysrq-trigger
fi
Und damit klappt es jetzt auch wieder mit dem Reboot. Beim Shutdown schaltet sich das System allerdings nicht von selbst ab, das muss manuell erledigt werden.
Eigentlich sollte man das auch mit diesem Script nachrüsten können, die folgenden Zeilen sollten das bewerkstelligen:
if [ „$1“ = „poweroff“ ]; then
echo 1 > /proc/sys/kernel/sysrq
sync && echo o > /proc/sysrq-trigger
fi
Klappt aber leider nicht mit dem Gigabyte Brix 1900…
Der kleine Kasten wäre echt ein nettes Gerät für gewisse Zwecke, seine kleinen Macken machen ihn aber aus meiner Sicht nur zu einer Notlösung!
Man macht es nicht jeden Tag, darum schadet es nicht sich's kurz zu notieren... Hier…
Meine Suche bei Google hatte mal wieder keinen vernünftigen Treffer gelandet, das Problem - ich…
Ich muss mal eben etwas Druck ablassen, ein Kunde von mir setzt einen Drucker von…
Wer beim Server bestellen vergessen hat die erweiterte IRMC Lizenz zu ordern, der steht vor…
Ich nutze seit langer Zeit ein System für meine Backups welches in der Nacht von…
Es scheint wohl eine noch nicht so häufig genutzte Kombination zu sein - Apache Guacamole…