Raspbian Tuning #1: Boot to RAM

blaggejoe
2015-04-09
2015-04-29
  • blaggejoe - 2015-04-09

    Hallo

    Mal ne grundsätzliche Frage:
    In wieweit ist das Raspbian-Image mit vorinstalliertem CoDeSys, das auf der 3S-Homepage zum Download angeboten wird, eigentlich für CoDeSys speziell angepasst?
    Lohnt es sich allenfalls einige dieser Optimierungen vorzunehmen?
    http://raspberry.tips/raspberrypi-tutorials/raspberry-pi-performance-tuning-und-tweaks/

    Im speziellen habe ich die Ausschalt-Problematik im Hinterkopf. Also ehrlich: wer fährt seinen Raspi schon sauber herunter bevor er ihn ausschaltet? Bzw. ist man ja vor einem Stromausfall niemals gefeit.
    Idealerweise bootet man das komplette Image ja ins RAM. Wäre das mit dem Raspi 2 und mit Deinstallation aller unnötigen Komponenten (Desktop etc.) evt. möglich?
    Man könnte ja nötigenfalls eine 2. Partition zum speichern von permanenten Daten anlegen.

    Zum Anlegen einer Ramdisk gibts ja hier auch schon einen Eintrag:
    http://forum-de.codesys.com/viewtopic.php?f=18&t=4636&p=14824&hilit=ramdisk#p14824

    Mir ist schon klar, dass der Raspi ausdrücklich nicht für industrielle Anwendungen geeignet ist.
    Allerdings wäre es auch fürs Hobbyprojekt schön, wenn er wenigstens nach jedem Stromunterbruch wieder zuverlässig hochfährt.

    Gruss und einen schönen Tag
    Ralf

     
  • eschwellinger

    eschwellinger - 2015-04-09

    Hallo Ralf,

    wir machen mit dem 3S Image nichts anderes als das wir das original Image von RaspberryPi.org hernehmen
    und über unser Debian Packet die SPS dazu installieren. (Das machen wir deshalb so, das auch jemand der einfach das SD Image erstellen will ohne
    ne Linux Console verwenden zu müssen.... also maximal Userfreundlich)
    Optional kann jeder schon ein bestehendes Image über dieses Debian Packet zur CODESYS SPS machen.

    Ich gebe dir recht, es wäre schön, wenn es 'robuster' (also z.B SD read only) wäre und auch es wäre auch schön wenn vielleicht kleiner und optimierter,
    aber das zu pflegen und für alle User recht zu machen wäre vermutlich ein erheblicher Aufwand.
    Daher haben wir davon erst mal Abstand genommen.

    d.h aktuell muss das jeder für sein Image selber realisieren wenn er das so haben will. (das ist nicht so kompliziert und machen schon viele so...!)
    Es gibt ja genügend Anleitungen dazu, die du ja selber auch schon in deinem Post verlinkt hast.

    Wenn jemand ein geändertes Image allen anderen CODESYS Usern zur Verfügung stellen will, steht dem ja nichts im Wege
    (Vielleicht sogar mit CANopen Unterstützung also Socket CAN im Linux Kernel)
    z.b Wäre auch denkbar das jemand nur ein Script anbietet das dann das original Raspberry PI Image zu einem
    ReadOnly Image umbiegt.... !

    Grüße
    Edwin

     
  • NetFritz - 2015-04-09

    Hallo
    Ein großes Problem beim RPi sind Spannungseinbrüche und dadurch ein defektes Image.
    Ich hatte immer wieder Probleme mit meinem RPi.
    Wahrscheinlich Spannungseinbrüche, Stichleitung zu einer Wetterstation im Garten.
    Wenn ich die SD Karte wieder neu bespielt hatte lief es wieder ein Paar Wochen.
    Ich habe mir jetzt eine USB Power Bank vor meinen RPi gesteckt und überwache meine Ladespannung.
    Wenn die Ladespannung eine gewisse Zeit nicht mehr vorhanden ist, dann sendet mir der RPi eine Mail
    und fährt runter.
    Das läuft jetzt schon über ein 1/2 Jahr problemlos durch.
    So habe ich eine kleine USV für meinen RPi.
    Gruß NetFritz

     
  • blaggejoe - 2015-04-10

    Hallo nochmals

    Danke für die Erläuterungen. Ich bin leider zu wenig Linux-Guru um eine solche Anleitung aus dem Ärmel zu schütteln.
    Wäre es allenfalls eine Lösung statt Raspbian z.B. piCore Linux 6.0 zu verwenden?
    http://forum.tinycorelinux.net/index.ph ... 945.0.html
    Das bootet standartmässig ins RAM und ist von Haus aus schon extrem abgespeckt.
    Es gibt scheinbar auch ein Progrämmchen, das .deb Pakete in die .tcz Programmdateien umwandelt: (deb2tc)
    http://forum.tinycorelinux.net/index.ph ... 325.0.html

    Man müsste dann einfach noch eine Partion erstellen für das Bootprojekt und allfällige remanente Daten.

    Vielleicht sollten wir einen Thread aufmachen mit dem "idealen" CoDeSys Raspberry Linux Image?

     
  • Anonymous - 2015-04-14

    Originally created by: PJ242

    Hallo zusammen. Sehr schönes Thema. Über sowas hatte ich auch schon nachgedacht.
    Könnte man eine Übersicht bekommen, welche Dateien von Codesys regelmäßig auf der SD mit schreibzugriffen beackert werden oder gibt es eine Möglichkeit das sich anzeigen zu lassen? Ich stell mir vor alles komplett in den RAM auszulagern ist auch mit Kanonen auf Spatzen geschossen.

     
  • eschwellinger

    eschwellinger - 2015-04-14

    Hallo,

    http://forum.codesys.com/viewtopic.php? ... nly#p10968

    hier gibt's ja schon ne Anleitung wie man die ganze SD karte READONLY machen kann.
    So generell ist ja nicht CODESYS das Problem sondern eher das Rasbian ... Linux schreibt viele Logfiles.
    CODESYS selber schreibt ein log nach /tmp/codesyscontrol.log aber das ist ja schon im RAM.
    + sollte die Bootapplikation irgendwo ablegen können. (das kann auch für erzeugen der Bootapp ein beschreibbarer Bereich sein,
    der dann wieder danach readonly gemacht wird)

    Grüße
    Edwin

     
  • DasQ - 2015-04-29

    sqashfs wäre eine denkbare variante.
    also die sd in 2 teile aufteilen, für logfiles eine kleine jffs2 partition und via hardlinks die tmpfiles auslagern.

    naja aber viel versprech ich mir dadurch nicht. performance mässig bringt es nicht wirklich viel unter linux aus einem ramdrive zu arbeiten.

    die geschwindogkeit von flashnand und ram ist numinal, wenn überhaupüt vorhanden.
    klar spielt die lese schreibgeschwindigkeit der sd eine rolle. aber da man nur beim booten lesend zugreift ist es dann nur am applikationsstrat zu spühren. würde sagen, kann man vernachlässigen.

     

Log in to post a comment.