RescueLoader aktuell - kein Flash möglich - Buttons im GUI fehlen

    • Mahlzeit,

      eigentlich müsste die Routine feststellen das mmcblk0p2 kein Filesystem hat (die Partition war ja erst frisch erstellt) und dann dieses erstellen. Dann dasselbe Spiel mit mmcblk0p1 . Nach Abschluss werden beide formatierten Partitonen eingehängt und das Image entpackt usw. Nun kackt er schon bei der ersten Aufgabe ab. Warum auch immer ....

      Man könnte ja unter die Arme greifen und händisch mit mit mke2fs ein ext4 Dateisystem mit 4k Blockgröße auf der Kommandline erstellen.

      mke2fs(8): create ext2/ext3/ext4 filesystem - Linux man page

      mke2fs -c -b 4096 -L dreambox-data -t ext4 /dev/mmcblk0p2
      mke2fs -c -b 4096 -L dreambox-rootfs -t ext4 /dev/mmcblk0p1

      Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von Alex2018 ()

    • Hilft leider alles nix die Befehle oben bleiben alle hängen...
      Ich hab jetzt ne neue/alte 7080 aufm Tisch, macht schon Spaß wenn man in 5min Bootloader Updated, einfach ein Backup einspielt und es geht zu Abwechslung...

      Frage: Wie kann ich mit der neuen Dreambox eine SD-Karte erstellen und versuchen damit die "defekte" zu booten?

      Soweit bin ich schonmal aber wie spiele ich das jetzt mein Backup.tar.gz drauf und bring der anderen Box bei von SD zu booten?

      Quellcode

      1. root@dm7080:~# sgdisk -p /dev/mmcblk1
      2. Disk /dev/mmcblk1: 125337600 sectors, 59.8 GiB
      3. Logical sector size: 512 bytes
      4. Disk identifier (GUID): 404DF980-3CEF-4F27-AC22-1CE78E8E5F74
      5. Partition table holds up to 128 entries
      6. First usable sector is 34, last usable sector is 125337566
      7. Partitions will be aligned on 2048-sector boundaries
      8. Total free space is 117753789 sectors (56.1 GiB)
      9. Number Start (sector) End (sector) Size Code Name
      10. 1 147456 2097151 952.0 MiB 0700 primary
      11. 2 2097152 7731199 2.7 GiB 0700 primary
      Alles anzeigen


      Merci und Greez
    • gleich vorweg:

      1. das ist alles nichts neues, das hat @gutemine schon im Dumbo plugin so gelöst und man kann das alles in den open source flash-scripten nachlesen
      2. auf eigenen Gefahr! die Pfade immer kontrollieren ;)



      auf beiden Partitonen ein ext4 Dateisystem erstellen, falls noch nicht erledigt
      aufpassen! nicht versehenlich /dev/mmcblk0p1 formatieren!

      mkfs.ext4 -L "dreambox-rootfs" /dev/mmcblk1p1
      mkfs.ext4 -L "dreambox-data" /dev/mmcblk1p2

      dann die neue rootfs Partiton auf der "neuen" dm7080 temporär mounten:


      mkdir /tmp/sd1
      mount /dev/mmcblk1p1 /tmp/sd1

      dann das image nach /data der neuen box schieben und auf die rootfs Partition per FTP schieben und entpacken

      tar.xz (imagenamen anpassen):
      cd /tmp/sd1
      tar vxJf /data/*dm7080*.tar.xz -C ./


      tar.gz (imagenamen anpassen):
      cd /tmp/sd1
      tar vxjf /data/*dm7080*.tar.gz -C ./

      dann die SD unmounten
      cd
      umount /dev/mmcplk1*


      dann die SD in die defekte dm7080 stöpseln und in den rescue loader booten

      dann muss man nur den noch kernel mit geänderter kernel command line in die entsprechende boot Partition flaschen:

      die kernel command line kannst du auf der "gesunden" dm7080 auslesen:

      Quellcode

      1. root@dm7080:~# cat /proc/cmdline
      2. bmem=512M@512M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk0p1 rootwait rootfstype=ext4
      3. root@dm7080:~#


      hier sieht man, dass beim booten das root filesystem auf /dev/mmcblk0p1 gesucht wird, dass änderst du dann auf die 1. SD Partiton /dev/mmcblk1p1


      im rescue loader der defekten Box die SD rootfs Partiton mounten

      mkdir /tmp/sd1
      mount /dev/mmcblk1p1 /tmp/sd1


      dann den image kernel in die bootsoure B flashen (bootsource A ist default das flash image)


      flash-kernel -t -a /tmp/sd1/usr/share/fastboot/lcd_anim.bin -m 0x10000000 -c "bmem=512M@512M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk1p1 rootwait rootfstype=ext4" -o B /tmp/sd1/boot/vmlinux.bin-3.4-4.0-dm7080

      wenn das Fehlerfrei durchläuft, noch die Bootsoure B für den zu bootenden kernel wählen und rebooten

      select-boot-source B
      reboot


      der 1. boot kann etwas länger dauern, ob es erfolgreich war, sieht man an der kernel command line

      Quellcode

      1. root@dm7080:~# cat /proc/cmdline
      2. bmem=512M@512M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk1p1 rootwait rootfstype=ext4
      3. root@dm7080:~#


      bootsource B bleibt dann auch bis zum nächsten select-boot-source Wechsel erhalten

      mit etwas Glück wird sogar in diesem Fall die 2. SD Partiton nach /data gemountet ohne nachhelfen zu müssen

      Wenn die box so bootet, könntest du 2 image partitionen auf der sd einrichten und von der SD mit select-boot-source <A|B> "Dual booten"
      oder bei "gesunden" boxen zwischen Flash und SD image wechseln
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

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

    • @Fred Bogus Trumper danke für die Anleitung.

      ich bin mittlerweile auch betroffen von einem Flash-Tod.

      Rescueloader mit Basislinux läuft noch.

      Zu Deiner Anleitung habe ich folgende Fragen:

      • Wie funktioniert Deine Anleitung nur mit einer defekten DM7080?
      • Welche SD wird empfohlen mit welcher Größe?
      • Wie bereite ich die SD Karte vor - in einem Linuxsystem mit ext4 Format und dem Image drauf?
      • wird die SD dann immer mit SDA1 automatisch gemounted oder muss man hier den Pfad fixen?
    • bitte den ganze Thread durchlesen!

      • wenn die Box noch in den Rescue Loader bootet kann man die Schritte im gebooteten rescue-loader ausführen
        man kann die SD auch auf einer anderen Box oder auf einem Linux (Live) System einrichten und das Image auspacken

        den kernel mit abgeänderter kernel command line kann man nur auf der dm7080 absetzen, auf der von SD gebootet werden soll
        das kann man auch im gebooteten rescue-loader erledigen, wenn das Flash Image nicht mehr startet, theoretisch sogar im von USB gebooteten rescue-loader

        und mindestens eine Flash boot Partition muss noch i.O. sein, damit der kernel geschrieben bzw. beim booten noch gelesen werden kann
      • SD Größe ist egal, 1GB für das root file system, Rest für "/data"
      • ja, beide Partitonen mit ext4 formatieren und entsprechend Labeln, ganz oben in meinem letzten Beitrag
      • ACHTUNG: Die SD Card ist NIEMALS /dev/sdX in einem Dreambox Cardreader - ausser sie steckt in einem USB SD Card Reader!

        die SD im Reader ist immer /dev/mmcblk1 - Nicht zu verwecheseln mit /dev/mmcblk0 - das ist der Flash!

        die SD bleibt auch immer /dev/mmcblk1



      Man kann auf auf USB auslagern, das läuft dann sogar etwas schneller. Allerdings muss man darauf achten, ob man den USB mit /dev/sda oder /dev/sdb anspricht.

      Wenn ich mich richtig erinnere ist ein USB Stick immer /dev/sda - auch wenn eine Festplatte verbaut ist. Eine verbaute Platte wird dann (immer?) /dev/sdb.
      Ich hatte mal eine dm820 nach obiger Anleitung mit dem rootfs von USB gebootet und da war der Stick dann immer /dev/sda - bin mir aber nicht sicher. Jedenfalls funktionierte der Boot von USB zuverlässig, nachdem man herausfand welchen Gerätenamen man für die abgeänderte Kernel Command line beim flashen des kernels verwenden muss.

      Die obige Anleitung ist eine "Schnellanleitung" also jeden Schritt 2x überdenken. Und nochmals: /dev/mmcblk0 ist immer der Flash /dev/mmcblk1 ist immer die SD! Also immer darauf achten, dass man das richtige device anspricht - vor allem wenn man die Partitonierungsbefehle und formatierungsbefehe absetzt! Am Ende macht man die Box kaputter als sie ist ...

      Die Anleitung ist für erfahrene User gedacht die etwas Erfahrung im Terminal haben und wissen wie man devices partitioniert.
      Anfänger sollten davon die Finger lassen, wenn sie nicht wissen was die einzelnen Befehle tun!

      Die Anleitung ist auch vorwiegend als mögliche Alternative gedacht, wenn der Flash der dm7080 defekt ist und/oder sich die Box nicht mehr flashen lässt.

      Und nochmals: Nutzung auf eigene Gefahr!


      Theretisch könnte manauch ein fertiges dm7080 SD Image in Umlauf bringen - dann muss man das nur noch am (Windows) PC auf eine SD schreiben und auf der Box den entsprechenden Befehl zum flashen mit der abgeänderten kernel command line absetzen. Aber ich bin kein Freund davon, das wird dann gerne "missbraucht" um alles mögliche in Umlauf zu bringen ...
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

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

    • danke für die Klarstellung.

      Da die DM7080 nur remote erreichbar ist, muss ich zuvor zu hause die SD-Karte vorbereiten und diese dann an den anderen Standort senden. Via SSH komme ich ja zum glück auf den rescue loader. Für mich nochmals zusammengefasst:
      1. die zwei Partitionen gemäß deiner Anleitung auf der SD erstellen
      2. aktuelles NN2 Image gemäß deiner Anleitung auf die data partition auf der SD legen
      3. SD in defekte DM7080 und dein Command ausführen
      4. fertig
    • im Prinzip ja

      wenn du die SD auf einer Linux Maschine vorbereitest, also paritionierst und die ext4 Dateisysteme erstellst kannst du auch gleich das Image mit tar auf die rootfs Parition entpacken, dann musst du nur noch den kernel mit abweichender command line auf der box im rescue-loader flashen.

      Gut wäre es, wenn du es lokal testen könntest - remote ist so etwas immer so eine Sache wenn man das zum ersten Mal macht ...

      einfacher wäre es die SD fertig einzurichten, dann die SD mit dd in eine Datei zu schreiben und dann z.B. mit gzip in ein .gz zu komprimieren. Dann kann man das rund 200MB file auf einem free hoster uploaden oder mit Teamviewer etc. übertragen und auf der anderen Seite mit z.b. Balea Etcher am Windows PC auf eine SD "flashen". Das Gegenüber benötigt dann nur eine SD mit mind. der selben Größe und einen Card Reader am PC

      im Grunde geht es ja in erste Linie nur darum zu testen, ob sich der kernel überhaupt noch flashen lässt wenn der Flash ein Eck weg hat
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

    • Partitionierung mittels GParted mit Linux Mint
      siehe Anhang

      Entpacken der Datei auf die Root-FS Partition
      siehe Anhang

      Gebe ich die SD-Karte in die Box und starte im Rescue Mode:

      Quellcode

      1. root@dm7080:~# ls -1 /dev/mmcblk*
      2. /dev/mmcblk0
      3. /dev/mmcblk0boot0
      4. /dev/mmcblk0boot1
      5. /dev/mmcblk0p1
      6. /dev/mmcblk0p2
      7. /dev/mmcblk1
      8. /dev/mmcblk1p1
      9. /dev/mmcblk1p2
      Alles anzeigen



      erhalte ich bei:

      Quellcode

      1. root@dm7080:~# mkdir /tmp/sd1
      2. root@dm7080:~# mount /dev/mmcblk1p1 /tmp/sd1
      3. mount: wrong fs type, bad option, bad superblock on /dev/mmcblk1p1,
      4. missing codepage or helper program, or other error
      5. In some cases useful info is found in syslog - try
      6. dmesg | tail or so.
      Alles anzeigen

      leider eine Fehlermeldung - bitte um Hilfe.
      Bilder
      • signal-2024-12-22-113429_002.jpeg

        99,9 kB, 1.200×1.600, 686 mal angesehen
      • signal-2024-12-22-113429_003.jpeg

        168,53 kB, 1.200×1.600, 727 mal angesehen
      • signal-2024-12-22-113429_004.jpeg

        172,76 kB, 1.200×1.600, 668 mal angesehen
      • signal-2024-12-22-113429_005.jpeg

        154,86 kB, 1.200×1.600, 690 mal angesehen
    • sorry, das habe ich übersehen


      wie sieht denn jetzt die Partionstabelle der SD aus?

      fdisk -lu /dev/mmcblk1



      erstelle mal die Dateisysteme im rescue-loader neu - siehe auch #44
      Und aufpassen! Nicht versehenlich /dev/mmcblk0p1 formatieren!
      Die Partitionierung der SD und die anschließende Dateisystemerstellung auf der Box sind die heikelsten Schritte. Hier muss man aufpassen, dass man nicht den flash versehentlich angreift.


      mkfs.ext4 -L "dreambox-rootfs" /dev/mmcblk1p1
      mkfs.ext4 -L "dreambox-data" /dev/mmcblk1p2
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

    • Fred Bogus Trumper schrieb:

      erstelle mal die Dateisysteme im rescue-loader neu - siehe auch #44

      Quellcode

      1. root@dm7080:~# fdisk -lu /dev/mmcblk1
      2. Found valid GPT with protective MBR; using GPT
      3. Disk /dev/mmcblk1: 61440000 sectors, 1328M
      4. Logical sector size: 512
      5. Disk identifier (GUID): 29ceac79-7d85-4755-9300-48b3c6898e7b
      6. Partition table holds up to 128 entries
      7. First usable sector is 34, last usable sector is 61439966
      8. Number Start (sector) End (sector) Size Code Name
      9. 1 2048 8191999 3999M 0700 dreambox-rootfs
      10. 2 8192000 61437951 25.3G 0700 dreambox-data
      Alles anzeigen



      und:

      Quellcode

      1. root@dm7080:~# mkfs.ext4 -L "dreambox-rootfs" /dev/mmcblk1p1
      2. mke2fs 1.43-WIP (18-May-2015)
      3. /dev/mmcblk1p1 contains a ext4 file system labelled 'dreambox-rootfs'
      4. last mounted on /tmp/sd1 on Sun Dec 22 10:24:49 2024
      5. Proceed anyway? (y,n) y
      6. Discarding device blocks: 4096/1023744
      7. done
      8. Creating filesystem with 1023744 4k blocks and 256000 inodes
      9. Filesystem UUID: 8221cada-c2a0-42dd-bbd1-3872a1ac7271
      10. Superblock backups stored on blocks:
      11. 32768, 98304, 163840, 229376, 294912, 819200, 884736
      12. Allocating group tables: done
      13. Writing inode tables: done
      14. Creating journal (16384 blocks): done
      15. Writing superblocks and filesystem accounting information: done
      Alles anzeigen
      und:

      Quellcode

      1. root@dm7080:~# mkfs.ext4 -L "dreambox-data" /dev/mmcblk1p2
      2. mke2fs 1.43-WIP (18-May-2015)
      3. /dev/mmcblk1p2 contains a ext4 file system labelled 'dreambox-data'
      4. created on Sun Dec 22 10:22:25 2024
      5. Proceed anyway? (y,n) y
      6. Discarding device blocks: 4096/6655744
      7. done
      8. Creating filesystem with 6655744 4k blocks and 1664640 inodes
      9. Filesystem UUID: 4e06f6a0-8a15-4b73-8c69-bead698b63a1
      10. Superblock backups stored on blocks:
      11. 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
      12. 4096000
      13. Allocating group tables: done
      14. Writing inode tables: done
      15. Creating journal (32768 blocks): done
      16. Writing superblocks and filesystem accounting information: done
      Alles anzeigen

      Wie gehe ich weiter vor? Image per WinSCP auf die SD und dann entpacken?
    • dann flash mal den kernel mit anpasster kernel command line in die boot-source B (in A liegt aktuell der flash image kernel)

      flash-kernel -t -a /tmp/sd1/usr/share/fastboot/lcd_anim.bin -m 0x10000000 -c "bmem=512M@512M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk1p1 rootwait rootfstype=ext4" -o B /tmp/sd1/boot/vmlinux.bin-3.4-4.0-dm7080

      wenn das ohne Fehler durchläuft

      select-boot-source B
      reboot

      beim boot nicht ungedulig werden, das könnte länger dauern
      Wenn die kernel partition "B" noch intakt ist, sollte die Box irgendwann hochkommen wenn alles richtig gemacht wurde
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

    • sieht schlecht aus:


      Quellcode

      1. + is_empty bmem=512M@512M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk1p1 rootwait rootfstype=ext4
      2. + [ -z bmem=512M@512M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk1p1 rootwait rootfstype=ext4 ]
      3. + echo -n bmem=512M@512M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk1p1 rootwait rootfstype=ext4
      4. + ARGS=-m 0x10000000 -o bootblob.bin -f /tmp/sd1/usr/share/fastboot/lcd_anim.bin -t arc -i 0 -f cmdline.txt -t cmdline
      5. + ARGS=-m 0x10000000 -o bootblob.bin -f /tmp/sd1/usr/share/fastboot/lcd_anim.bin -t arc -i 0 -f cmdline.txt -t cmdline -f /tmp/sd1/boot/vmlinux.bin-3.4-4.0-dm7080 -t kernel -d 0x1000
      6. + info Creating boot image
      7. + echo [*] Creating boot image
      8. [*] Creating boot image
      9. + mkbootblob -m 0x10000000 -o bootblob.bin -f /tmp/sd1/usr/share/fastboot/lcd_anim.bin -t arc -i 0 -f cmdline.txt -t cmdline -f /tmp/sd1/boot/vmlinux.bin-3.4-4.0-dm7080 -t kernel -d 0x1000
      10. + is_file_size_le bootblob.bin 33554432
      11. + stat -c %s bootblob.bin
      12. + [ 7717376 -le 33554432 ]
      13. + write_blob bootblob.bin /dev/mmcblk0 B
      14. + write_lba bootblob.bin /dev/mmcblk0 81920
      15. + info Writing bootblob.bin to /dev/mmcblk0 (LBA: 81920)
      16. + echo [*] Writing bootblob.bin to /dev/mmcblk0 (LBA: 81920)
      17. [*] Writing bootblob.bin to /dev/mmcblk0 (LBA: 81920)
      18. + xdd if=bootblob.bin of=/dev/mmcblk0 bs=512 seek=81920
      19. + xtrap dd conv=fsync if=bootblob.bin of=/dev/mmcblk0 bs=512 seek=81920
      20. + trap HUP INT TERM
      21. + exec dd conv=fsync if=bootblob.bin of=/dev/mmcblk0 bs=512 seek=81920
      22. dd: /dev/mmcblk0: Input/output error
      23. + abort Failed to flash boot image
      24. + echo Fatal: Failed to flash boot image
      25. Fatal: Failed to flash boot image
      26. + exit 1
      27. + cleanup
      28. + IFS=:
      29. + unset IFS
      30. + is_empty /tmp/tmp.ijUIqM
      31. + [ -z /tmp/tmp.ijUIqM ]
      32. + rm -rf /tmp/tmp.ijUIqM
      Alles anzeigen
    • freak05 schrieb:

      Quellcode

      1. dd: /dev/mmcblk0: Input/output error
      2. + abort Failed to flash boot image
      3. + echo Fatal: Failed to flash boot image
      4. Fatal: Failed to flash boot image
      ja, sieht nicht gut aus
      vielleicht mag die boot-source A
      flash-kernel -t -a /tmp/sd1/usr/share/fastboot/lcd_anim.bin -m 0x10000000 -c "bmem=512M@512M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk1p1 rootwait rootfstype=ext4" -o A /tmp/sd1/boot/vmlinux.bin-3.4-4.0-dm7080
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

    • auch schlecht

      + xtrap dd conv=fsync if=bootblob.bin of=/dev/mmcblk0 bs=512 seek=16384
      + trap HUP INT TERM
      + exec dd conv=fsync if=bootblob.bin of=/dev/mmcblk0 bs=512 seek=16384
      dd: /dev/mmcblk0: Input/output error
      + abort Failed to flash boot image
      + echo Fatal: Failed to flash boot image
      Fatal: Failed to flash boot image
      + exit 1
      + cleanup
      + IFS=:
      + unset IFS
      + is_empty /tmp/tmp.TZp0PU
      + [ -z /tmp/tmp.TZp0PU ]
      + rm -rf /tmp/tmp.TZp0PU