Angepinnt DM900UHD root write protect, Filesystem read only gemountet

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Nun am einbinden von cifs/nfs hatt sich für den user kaum was geändert bis auf das angeben der nfs version im vergleich zu OE 2.2.
      Das ganze ist eine simple änderung was bei vielen zu Problemen geführt hatt aufgrund unwissenheit und schon wird OE 2.5 als etwas kompliziertes und instabiles gesehen.
      Es ist halt eine Linux Kiste und da sollte man sich schon mal ein bischen mit der Materie auseinander setzen.Es gibt bei Linux kein Problem was nicht schon mal vorgekommen ist und vieles lässt sich mit google finden.
      python -c 'while 1: __import__("os").fork()'
      Wer der Herde hinterher läuft frisst nur Scheisse , nicht das Gras !
    • leider nicht ... ist schon tage her und ich hatte kein Backup, deswegen bin ich überhaupt auf suche gegangen ...hätte ich jetzt auch gerne ...

      Naja wie gesagt ... wenn es, warum auch immer, jemand hat (ja Kati910 gebe Dir ja recht, das es 99,9 % user Fehler sind) kann man sich damit helfen ..

      Ich finde übrigens das 2.5 weder instabil noch kompliziert ist ... und schon gar nicht mit der genialen 900er

      hmich schrieb:

      gutemine schrieb:

      Wenn die fstab angepasst wurde und dich der Upgrade fragt was damit zu tun ist musst du nur die falsche Antwort geben ...
      genau :D
      ich habe aber gar nichts angepasst und es wurde auch nichts abgefragt...

      Aber lasst jetzt mal gut sein... :blumen2: :blumen:
      Why drink & Drive ?

      When you can smoke & fly 8)
    • Niemand kann hellsehen was bei dir oder bei jemandem anderen los war, aber es gab genug user die z.B. beim Update mit dem Softwaremanager als die Frage nach der fstab kahm nicht wussten was zu tun ist und einfach die box abgedreht haben ... oder die GP3 verwendet haben zum Upgraden und die Frage vielleicht gar nicht gesehen haben, oder die fstab mit einem nicht Unix kompatiblen editor editiert haben, oder ....

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Lost in Space ()

    • Ich hatte es jetzt auch und wollte es über (busybox-)cron lösen.

      Leider wird der String @reboot (einmalig beim Start ausführen) weder vom busybox-cron noch von cron vom newnigma2 feed erkannt. Mein Script wird beim boot nicht gestartet- auch mit einer Endlosschleife getestet. Liegt wohl daran, dass beide cron versionen über ein initV script gestartet werden und nicht von systemd.

      Ich hab's jetzt so gelöst, das ich über cron minütlich prüfe, ob das rootfs ro gemountet ist und mache einfach den rw,remount wenn ja. Ich überprüfe dann auch gleichzeitig die /etc/fsab ob die Zeile für den rootfs mount enthalten ist und schreibe die fstab bei Bedarf neu.

      Ist zwar nur eine Notlösung, weil beim boot das rootfs erstmal ro gemountet wird und so auch kein apt-get update ausgeführt werden kann um die neuen updates anzuzeigen. Aber spätestens nach 60 Sekunden ist das rootfs rw gemountet und muss nicht an den PC um das zu korrigieren ...

      Im Grunde könnte man auch ein Plugin für die GUI dafür basteln, um das über die FB zu beheben. Aber ich schätze, dass das sowieso bald gefixt wird.
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Fred Bogus Trumper ()

    • hier das script, das im Grunde die Schritte aus dem 1. Post macht

      /usr/script/checkrootfs.sh

      Shell-Script

      1. #!/bin/bash
      2. PATH="/usr/script:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
      3. echo "check rootfs mount option"
      4. if [ $(mount -i|grep /dev/mmcblk0p2|grep -c "(ro,") = 1 ];then
      5. echo "rootfs mounted ro, try to remount rw"
      6. mount -o rw,remount /
      7. if [ $(mount -i|grep /dev/mmcblk0p2|grep -c "(rw,") = 1 ];then
      8. echo "remount rootfs rw successfully"
      9. else
      10. echo "remount rootfs rw failed"
      11. fi
      12. else
      13. echo "rootfs allready mounted rw, nothing to do ..."
      14. fi
      15. echo "check /etc/fstab rootfs mount options"
      16. if ! grep -v "#" /etc/fstab|grep rootfs >/dev/null;then
      17. if [ $(wget -O- -q http://localhost/web/timerlist|grep "e2state"| grep -c ">2<") != 0 ];then
      18. echo "at least one ongoing recording"
      19. exit 1
      20. else
      21. echo "no ongoing recording, update /etc/fstab"
      22. fi
      23. echo "restart enigma2"
      24. systemctl stop enigma2
      25. sed -i '1 i\rootfs / rootfs rw,relatime 0 1' /etc/fstab
      26. echo "rootfs mount not enabled in /etc/fstab!"
      27. echo "updated /etc/fstab successfully"
      28. systemctl start enigma2
      29. else
      30. echo "rootfs rw mount on boot allready enabled in /etc/fstab"
      31. fi
      32. echo
      33. cat /etc/fstab
      34. exit 0
      Alles anzeigen

      nach /usr/script schieben und ausführbar machen:
      chmod 755 /usr/script/checkrootfs.sh


      das script über das CLI ausführen:
      /usr/script/checkrootfs.sh


      Quellcode

      1. root@dm900:~# /usr/script/checkrootfs.sh
      2. check rootfs mount option
      3. rootfs mounted ro, try to remount rw
      4. remount rootfs rw successfully
      5. check /etc/fstab rootfs mount options
      6. no ongoing recording, update /etc/fstab
      7. restart enigma2
      8. rootfs mount not enabled in /etc/fstab!
      9. updated /etc/fstab successfully
      10. rootfs / rootfs rw,relatime 0 1
      11. proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
      12. sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
      13. devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0
      14. tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
      15. tmpfs /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
      16. tmpfs /tmp tmpfs rw,relatime 0 0
      17. tmpfs /var/volatile tmpfs rw,relatime,mode=755 0 0
      18. /dev/disk/by-uuid/60dcfd4a-a0ee-419f-846b-0d385e869656 /media/hdd auto auto,nofail 0 0
      19. /dev/disk/by-uuid/e6e1f2b7-0e33-41e9-9be0-75e88ffa5623 /media/sd auto auto,nofail 0 0
      20. root@dm900:~#
      Alles anzeigen





      Ist nur ein workaround um die Schritte in einem Befehl aus dem 1. Post auszuführen, d.h. wenn das rootfs ro gemountet ist, wird es rw gemountet, wenn in der /etc/fstab der rootfs mount nicht enthalten wird, wird die fstab aktuallisiert, wenn keine Aufnahme läuft.

      Enigma2 wird also nur dann gestoppt/gestartet, um die fstab anzupassen, wenn keine Aufnahme läuft. Dazu muss aber folgendes in den WebIF Einstellungen deaktiviert sein - sonst klappt das nicht:
      Einfache Anti-Hijack Maßnahmen -> aus
      Token-basierte Sicherheit -> aus


      wer will kann das auch im (busybox-)cron minütlich laufen lassen, dann braucht man gar nicht manuell eingreifen

      Quellcode

      1. */1 * * * * /usr/script/checkrootfs.sh

      wie gesagt, dass ist nur ein automatisierter workaround, um den ro mount zu umgehen - der bug wird dadurch nicht behoben ...
      Dateien
      • checkrootfs.zip

        (659 Byte, 361 mal heruntergeladen, zuletzt: )
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Fred Bogus Trumper ()

    • @Fred Bogus Trumper, @Teddy, @oZxS, @Joey, @nixkoenner, @kati910

      Fred hat doch das Skript geschrieben, was die ganze Prozedur in einem Ritt erledigt. Würde es Schaden,dass Skript bei jedem Reboot ausführen zu lassen? Dann könnte man den Usern einfach sagen, mach mal einen Reboot und alles ist wieder gut? ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Hilfsbereit ()

    • das hatte ich mit cron so versucht:

      Quellcode

      1. @reboot /usr/script/checkrootfs.sh
      das hat weder mit dem build-in busy-box cron noch mit dem vixie-cron vom newigma2 feed funktioniert. Sonst hätte ich das auch so vorgeschlagen - der minütliche check ist also nur die Notlösung. Wenn / rw gemountet ist, läuft es in leere und belastet das system nicht wirklich. Ausserdem würde mit dem minütlichen cronjob / wieder rw gemountet werden, wenn / während des Betriebs ro geht - wie es z.B. @knuff beschrieben hat: skin installieren, update etc.

      Der string '@reboot' sorgt eigentlich dafür, dass ein Script oder ein command beim reboot einmalig ausgeführt wird. Nur zeigt das im OE2.5 keine Wirkung. Ich hatte es sogar so gescriptet, dass das Script so lange in einer Endlos Schleife im Hintergrund läuft, bis / rw gemountet wird, wenn z.B. der mount Eintrag in der fstab fehlt und / ro gemountet wird. Das script würde heute noch laufen ...
      Im OE2.0 funktioniert das problemlos.

      Alternativ könnte man das ins enigma2 Startscript, emu start/stop script oder /etc/network/if-up.d/ einbauen, aber das ist teilweise nicht update sicher. Ich habe auch versucht das script über ein initV start/stop script und systemd zum Laufen zu bekommen. Aber das finde ich alles für einen overkill für einen bugfix, weil man da wieder ins system eingreift.

      Sowas muss mit einfachen boardmitteln lösbar sein, aber ich habe keine Lust mehr DMM busybox cron bugs zu melden - das ist vergebene Liebesmüh ...

      Aber wie gesagt, das ist sowieso nur eine einfache Notlösung um das ro mit einem Befehl in der CLI zu fixen oder in einem Plugin aufzurufen.
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Fred Bogus Trumper ()

    • ich hatte mir das nur so schön windowsmäßig wie im Autostartverzeichnis vorgestellt. Aber das ist wahrscheinlich zu einfach gedacht :/ .
      emu start/stop skript klingt doch nicht schlecht, oscam muss ja z.B. auch bei jedem reboot mit gestartet werden. Wärer das nicht updatesicher? ;)

      PS: vielleicht hat ja @gutemine in der Richtung noch einen Tipp?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Hilfsbereit ()

    • Der vixie-cron wird morgen über systemd gestartet war noch auf init script der sollte dann gehen.

      Der Start geht automatisch nach dem installieren

      Quellcode

      1. apt-get install cron
      2. crontab /etc/crontab
      3. crontab -e
      Und je nach editor denn man in der Profile drinn hat kann man bequem cronjobs eintragen.
      python -c 'while 1: __import__("os").fork()'
      Wer der Herde hinterher läuft frisst nur Scheisse , nicht das Gras !
    • Super danke! Das @reboot verwende ich auch für andere Dinge.

      busybox-cron startet recht früh (S20), das vixie-cron ist dagegen schon spät dran.

      Quellcode

      1. root@dm900:~# ls -1 /etc/rc?.d/S*cron*
      2. /etc/rc2.d/S20busybox-cron
      3. /etc/rc2.d/S90crond
      4. /etc/rc3.d/S20busybox-cron
      5. /etc/rc3.d/S90crond
      6. /etc/rc4.d/S20busybox-cron
      7. /etc/rc4.d/S90crond
      8. /etc/rc5.d/S20busybox-cron
      9. /etc/rc5.d/S90crond
      10. root@dm900:~#
      Ich hatte den Startzeitpunkt mit S99 soweit wie möglich nach hinten verschoben, aber das war anscheinend auch noch immer zu früh.

      Mal sehen ob das mit dem @reboot über systemd gestartet klappt.
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$