Red Pitaya ausschalten. Wie ?

Die Hardware des Red Pitaya
Antworten
Benutzeravatar
Uli DF5SF
Offline
Beiträge: 110
Registriert: Do Mär 31, 2016 6:32 pm

Red Pitaya ausschalten. Wie ?

Beitrag von Uli DF5SF » Di Jan 10, 2017 5:49 pm


Hallo,
wie schaltet Ihr den Red Pitaya aus. Einfach Spannungsschalter umlegen oder ?

Ich hab im Hinterkopf, dass Linux immer ordnungsgemäß heruntergefahren werden muss.
Sonst kann es zu Fehlern kommen, im schlimmsten Fall Neuinstallation. :oops:
73 de Uli, DF5SF

Benutzeravatar
DD8JM
Site Admin
Offline
Beiträge: 378
Registriert: Mo Dez 01, 2014 1:41 pm

Re: Red Pitaya ausschalten. Wie ?

Beitrag von DD8JM » Di Jan 10, 2017 6:42 pm


Hallo Uli,

ich schalte den RP über den Ein/Aus Schalter, dass nun schon seit mehr als ein Jahr.
Habe zwei von den RP und noch nie Probleme damit gehabt, was auf ein Ein/Ausschalten zurück zu führen wäre.

Ein shutdown ist auch nicht so einfach möglich.

73 Jörg
Die Bässe breit die Höhen schmal das ist der Funk aus Wuppertal.

Benutzeravatar
DD5XX
Offline
Beiträge: 9
Registriert: Di Sep 26, 2017 10:49 am

Re: Red Pitaya ausschalten. Wie ?

Beitrag von DD5XX » Sa Okt 07, 2017 12:30 am


Wenn du einfach den Strom wegnimmst dann läufst du Gefahr, dass du das filesystem auf deiner SDcard beschädigst. In glücklichen Fällen kann der filesystem check beim nächsten Start die Fehler beheben, im worst case ist das Dateisystem im Eimer bzw. nicht ohne detaillierten Kenntnisse wiederherzustellen. Ein sauberes Ausschalten ist also immer anzustreben, wie auch von dir bereits richtig erkannt. Du könntest dich hierzu einfach per SSH an deinem RedPitaya anmelded und auf der Befehlszeile eingeben

Code: Alles auswählen

shutdown -h now
oder wenn du SDcard images von Pavel Demin verwendest, die bereits GNU/Linux Alpine verwenden...
ca. 2-3sek. später sind die Prozesse ordnungsgemäß beendet und daraufhin kannst du deinen Red Pitaya stromlos machen.

vy 73 de
Saki, DD5XX

Benutzeravatar
DH1AKF
Offline
Beiträge: 74
Registriert: Mo Feb 29, 2016 6:30 pm

Re: Red Pitaya ausschalten. Wie ?

Beitrag von DH1AKF » Sa Okt 07, 2017 9:09 am


Hallo Saki,
im Falle von Alpine Linux muss ich Dir widersprechen:
Hier ist das Betriebssystem auf der SD- Karte grundsätzlich im "read only" Modus. Man kann also den Red Pitaya einfach jederzeit ausschalten.
73, Wolfgang

Benutzeravatar
DH1KLM
Offline
Beiträge: 223
Registriert: Sa Mär 26, 2016 9:12 pm

Re: Red Pitaya ausschalten. Wie ?

Beitrag von DH1KLM » Sa Okt 07, 2017 10:50 am


Das dachte ich auch, trotzdem ist mir auch schon mal passiert dass das Alpine Filesystem durch einfaches Ausschalten "kaputt" gegangen ist.
Wäre es denn möglich auf der Startseite einen Button zu platzieren der bei Betätigung den "halt" Befehl ausführen könnte, evtl. mit einer Meldung
im Anschluss ala "now it is safe to turn off your RP" oder so?
73 de Sigi, DH1KLM

Benutzeravatar
DD5XX
Offline
Beiträge: 9
Registriert: Di Sep 26, 2017 10:49 am

Re: Red Pitaya ausschalten. Wie ?

Beitrag von DD5XX » Sa Okt 07, 2017 1:11 pm


Hallo Wolfgang,

Pavel hat lediglich as filesystem der SDkarte auf RO gesetzt. Besser gesagt, er verwendet das erste der drei verfügbaren Betriebsmodi in Alpine, das sind "diskless", "data" oder "sys-mode". Du kannst dich mit dem Befehl

Code: Alles auswählen

cat /etc/mtab
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
devtmpfs /dev devtmpfs rw,nosuid,relatime,size=10240k,nr_inodes=57068,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/mmcblk0p1 /media/mmcblk0p1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
tmpfs / tmpfs rw,relatime,mode=755 0 0
tmpfs /run tmpfs rw,nodev,relatime,size=47616k,mode=755 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
cgroup_root /sys/fs/cgroup tmpfs rw,nosuid,nodev,noexec,relatime,size=10240k,mode=755 0 0
openrc /sys/fs/cgroup/openrc cgroup rw,nosuid,nodev,noexec,relatime,release_agent=/lib/rc/sh/cgroup-release-agent.sh,name=openrc 0 0
oder

Code: Alles auswählen

mount
selbst davon überzeugen. Man sieht hier deutlich, dass das spzielle Dateisystem <tmpfs> für / verwendet wird und lediglich die SDkarte wird auf /media/mmcblk0p1 gemountet. Defaultmäßig geschieht das eben in "read-only". Wenn du den Befehl "rw" absetzt wie auch Pavel in seiner kurzen Anleitung erklärt, dann wird dabei einfach dieser Pfad für die SDkarte "remountet" mit der Option rw. In anderen GNU/Linux Derivaten entspricht es quasi dem Befehl "mount -o remount,rw /partition/identifier /mount/point"

Wenn du das Dateisystem auf read-only betreibst dann kann (!) das schon hilfreich sein, aber das ist kein Garant dafür dass alles gut läuft. Es gibt zwei Arten von Beschädigungen, die auftreten können. Erstens das von uns bereits angesprochene auf Dateisystem-Ebene. Das passiert weil der Kernel Änderungen entgegengenommen hat, diese aber nicht mehr niedergeschrieben wurden. Wenn du in diesem Schritt den Strom trennst, dann kommt es zu Dateikorruptionen. Journale wie bei ext4 usw. können damit sehr gut umgehen und in den meisten Fällen hast du das beim nächsten check und auto-repair wieder gut gemacht. Die read-only Dateisysteme sind vor solchen Schäden geschützt, wie du bereits korrekt erwähnt hast.

Allerdings gibt's auch interne Metadaten auf der SDcard. Diese ist nichts anderes als ein Flashspeicher mit einem integrierten mini-Controller. Auf diesem läuft ein "eigenes" Dateisystem mit Metadaten, um nachverfolgen zu können welche Blöcke gut oder schlecht sind, wie oft sie beschrieben wurden, usw... würdest du in solch einem passenden Moment das Gerät stromlos machen, kann es bös ausgehen und zwar so dass der Controller verrückt spielt und im allerschlimmsten Fall hast du eine defekte SD-Karte, die du nicht mehr (!) reparieren/formatieren kannst. Dein Schreibschutz der SD-Karte (ob im Betriebssystem oder per Schalter auf der SD-Karte) hilft in diesem Fall absolut nicht.

Sigi hat ja wohl diese Erfahrung auch schon -leider Gottes- machen müssen. Auf dem RedPitaya hatte ich es noch nicht erlebt, aber auf einigen Raspberry Pi's auf denen die User einfach "hardcore Power-Off" durchführten :shock: Auch auf einem MediaPlayer und einem anderen embedded Gerät habe ich das schon selbst mal erlebt.

Generell gilt ==> immer schön sauber herunterfahren. Es gibt gute Gründe warum alle Betriebssysteme, Entwickler und sämtliche Anleitungen erklären, man solle ein System "sauber beenden" und nicht einfach nur vom Strom "trennen".

PS: Auf Serverseite, wenn mal ein wichtiges und kritisches Linux-System aus irgendwelchen Gründen hängen sollte, knippst der Administrator nicht einfach den Strom ab. Das könnte FATAL enden !!! hier werden durch Interrupt-Requests (spezielle Tastenkombinationen) direkt an die untersten Schichten des Betriebssystem geschickt und veranlassen solche Sachen wie "Prozesse beenden", "buffer write to disk", usw... dann erst wenn das alles gemacht wurde, könnte man die Hardware stromlos machen und cold reboot durchführen. Alles andere ist Harakiri und nicht empfehlenswert.

Daher empfehle ich immer vorher ein "sync" (das sagt dem Betriebssystem alle im Puffer vorhandenen Daten auf disk niederzuschreiben) oder zumindest ein "shutdown -h now" oder "halt" auszuführen. Skripte wie solche haben schon ein "sync" integriert, da ist man also gut bedient.

vy 73 de
Saki, DD5XX

Antworten