Moin,
ein Bananapi steckt zusammen mit anderer Elektronik in einem
Metallgehäuse und erledigt seine Arbeit im Dunkeln, das ganze headless,
also ohne Monitor. Gelegentlich soll das System ausgeschaltet werden,
also über ssh oder ein Webinterface wird "halt -p" aufgerufen. Nach ein
paar Sekunden bleibt der Prozessor stehen, aber die Pinleiste mit der
Peripherie (GPIO, I2C usw) wird nach wie vor mit Spannung versorgt
(genauer gesagt, die 5V und 3V3-Pins). Wenn ich den Schaltplan richtig
verstehe, kann die auch garnicht vom System abgeschaltet werden.
Problem ist, ich kann von außen nicht erkennen, wann der Shutdownvorgang
abgeschlossen ist und ich das System gefahrlos ausschalten kann. Die
onboard-LEDs sind von außen nicht sichtbar.
Meine Idee ist jetzt, auf dem angeschlossenen Display eine Message
auszugeben ("Shutdown Completed") oder eine LED auf der Frontplatte
auszuschalten. Beides geht über i2c-Zugriffe, z.B. aus einem
Python-Skript.
Meine Frage: wo und in welchem init-Skript muss dieser Zugriff erfolgen?
Das ganze soll natürlich möglichst spät stattfinden, z.B. unmittelbar,
bevor die Platte abgemountet wird. Aber sind dann die Kerneltreiber für
i2c und hdd noch aktiv? Mir fehlt bei den ganzen init/shutdown-Scripten
noch etwas der Durchblick.
Was du suchst, steht in dem Script /etc/init.d/halt Die Methode do_stop führt die letzten Kommandos vor dem system halt aus.
Alternativ kannst Du beim Pi die Pegel an den Pins der seriellen Schnittstelle überwachen, wenn der Prozessort in 'halt' geht, werden die PullUps abgeschaltet.
@ Mick Perfekt, das habe ich gesucht, danke! @ Oliver R. Meinst Du die Serielle auf der Pinleiste oder die mit der Bootconsole? Oder beide? Auch für diesen Hinweis danke!
powerdown gibts nicht. Wie gesagt, ein Banana pi mit Armbian (genauer Banana Pro). Es gibt nur ein /sbin/poweroff, und das hat die gleiche Wirkung wie halt -p.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.