Lost in Translation

  • Hallo gutemine,


    Ich bin per Zufall auf diesen Post gestossen. Besten Dank für deine Arbeit.
    Eigentlich wäre mir ja JFS sympatischer (nicht so hoher RAM Verbrauch)...


    Ich habe zum testen mal eine 60GB USB-Disk an meine DM800 angehängt. Ich musste das bestehende XFS Dateisystem neu formatieren. Danach funktionierte mounten und Zugriff (habe einige Filme von der internen Disk kopiert) problemlos.
    Allerdings friert enigma ein wenn ich im Mediaplayer eine SD.ts Datei öffne. Jemand eine Idee woran dies liegen könnte?

  • gute Frage - auf die ich allerdings keine Antwort weis - ich habs damals ja auch nur aus dem CVS gefished und die Tools vom Debian geklaut.


    Getestet habe ich es nur mit kleinen Files auf einem USB stick, insofern gibts da wenig erfahrung. Das ganze war ja auch eher für datenaustausch gedacht, ob es als 'besseres' fielsystem für die Harddisk und die aufnahmen sinn macht müsstet Ihr selbst rausfinden.


    Aber ja für die speziellen features benötigst du einiges an memory, womit es wirklich Sinn nur bei 8* macht. Swapfile würde ich daher auch anlegen auf ein anderes device und mit free kontrollieren ob es auch verwendet wird.


    Kannst du wenn es einfriert noch mit telnet einloggen und mit dmesg nachsehen ob das system etwas zu vermelden hat ?


    Und zum JFS - ich mag keine IBM sachen :)


    Mein persönlicher Liebling wäre advfs - aber das ist zu neu bei den Pinguinen und ob es sich je durchsetzen wird (und unseren alten Kernel unterstützen) ?


    Aber wenn ich die jfs kernel module finde/auftreiben/bauen kann könnte man ja mal dran basteln, es sind ja noch einige Filesysteme auf meiner To-Do Liste


    LG
    gutemine

    2 Mal editiert, zuletzt von gutemine ()

  • Tja, Big Blue ist nun mal Big Blue :) JFS haben sie aber ordentlich hinbekommen... Also wenn ich da bei dir meine Wünsche anbringen darf wär mir ZFS recht sympatisch und ein RT gepatchter 2.6.26er Kernel und die ulibc *LOL*
    Nein, jetzt mal ernsthaft, ich habe die 2.5" USB-Platte nun nochmals neu formatiert und die 1.77GB Datei neu kopiert..


    root@dm800:/media/hdd/movie# time cp -p movie.ts /media/ehdd/
    real 3m 24.85s
    user 0m 5.06s
    sys 2m 20.21s


    Danach der Speicher...


    root@dm800:/media/ehdd# cat /proc/meminfo
    MemTotal: 124904 kB
    MemFree: 2604 kB
    Buffers: 260 kB
    Cached: 80736 kB
    SwapCached: 0 kB
    Active: 36648 kB
    Inactive: 68924 kB
    HighTotal: 0 kB
    HighFree: 0 kB
    LowTotal: 124904 kB
    LowFree: 2604 kB
    SwapTotal: 0 kB
    SwapFree: 0 kB
    Dirty: 0 kB
    Writeback: 0 kB
    Mapped: 35164 kB
    Slab: 8972 kB
    CommitLimit: 62452 kB
    Committed_AS: 55420 kB
    PageTables: 380 kB
    VmallocTotal: 1048524 kB
    VmallocUsed: 6668 kB
    VmallocChunk: 1040008 kB


    Bei der Widergabe mit dem Mediaplayer schmierte enigma ab und startete diesmal gleich neu...


    root@dm800:/media/ehdd# dmesg
    playback!
    VIDEO0: start decode
    flush video decoder
    VIDEO0: first pts 9084b77d
    VIDEO0: resolution changed (1280 720)
    VIDEO0: set blank to 0
    VIDEO0: stop decode
    no decoder left in sync handling so disable xpt_sync
    VIDEO0: progressive changed (1)
    bcmfb: enable manual blit



    Nun kommt's, ein erneuter Versuch funktionierte diesmal. Vorher brachte auch ein kompleter Neustart keine Besserung.


    Speicher diesmal


    root@dm800:/media/ehdd# free
    total used free shared buffers
    Mem: 124904 108620 16284 0 256
    Swap: 0 0 0
    Total: 124904 108620 16284


    Ich denke ich erweise doch gleich mal meinem neuen 1TB WD-MyBook die Ehre und teste wie sich so verhält mit XFS. War nun ein wenig eine Zangengeburt aber wenns dann läuft...
    Gefühlsmässig jedenfalls ist das handling mit schnellem Vorlauf ect. schon mal nicht schlecht unter XFS. Ich werde dann noch ein paar Aufnahmen tätigen direkt mit dem MyBook. Da scheint es zwar noch Sleepmode Firmware Probleme zu geben welche ich allenfalls beachten müsste.


    Ich werde dann zu gegebener Zeit noch Feedback abliefern...

  • na ja das wäre schon mal ein interessanter test ob wenn man das fielsystem mit dd kopiert es auch nachher auf einer größeren Platte resizen geht, die defragmentierung könnte man mal testen, die xfs dump utilities zum sichern, freezen, fielsystemchek (wobei ich nicht sicher bin ob ich alle in den kit gepackt habe - wenn du noch was brauchst rühre dich halt, aus dem debian ist es schnell geklaut)


    Und ja natürlich, ein ordentlicher filesystemcache ist schon was feines.


    Google mal mit man mount xfs, damit findest du auch die zusätzlichen mount optionen mit denen man das bufferen, etc steuern kann damit es sich beim memory nicht zu intensiv bedient.


    Falls das busybox mount damit nicht zurechtkommt kann ich dir auch einen kit mit dem ordentlichen mount binary vom debian machen !


    LG
    gutemine

    3 Mal editiert, zuletzt von gutemine ()

  • Ups, nun läufts wider nicht mehr so rund... Umgestellt auf automount und reboot...
    root@dm800:/autofs# ls /autofs/usbdisk/
    Segmentation fault


    root@dm800:/autofs# dmesg
    XFS mounting filesystem sda1
    Ending clean XFS mount for filesystem: sda1
    Access to block zero: fs: <sda1> inode: 128 start_block : 8365bbb000000000 start_off : 0 blkcnt : 0 extent-state : 0
    Break instruction in kernel code in arch/mips/kernel/traps.c::do_bp, line 697[#1]:
    Cpu 0
    $ 0 : 00000000 10008400 0000007c 80333d90
    $ 4 : 80333d90 00005a60 ffffffff 00003fff
    $ 8 : 000059ea 00000030 00004001 803a0000
    $12 : 803a0000 803a0000 ffffffff 00000000
    $16 : c01d6f70 00000000 10008401 8365bbb0
    $20 : 00000002 00000000 83708920 830b1000
    $24 : ffffffff 802e2d34
    $28 : 8365a000 8365bb08 8365be90 c015b220
    Hi : 00000008
    Lo : 00000000
    epc : c01c471c cmn_err+0x104/0x128 [xfs] Tainted: P
    ra : c015b220 xfs_bmap_search_extents+0x110/0x130 [xfs]
    Status: 10008403 KERNEL EXL IE
    Cause : 00800024
    PrId : 00020000
    Modules linked in: autofs4 bcm7401 cu1216mk3 tu1216 alps_bsbe2 alps_bsbe1 stv0299 alps_bsbe1_c01a ln b_ctrl dreambox_keyboard dreambox_rc2 udf cdfs cifs vfat fat isofs sg xfs exportfs sd_mod sr_mod lcd fp stb_core
    Process ls (pid: 1049, threadinfo=8365a000, task=861ec810)
    Stack : 83133e40 c01c98d4 c01d6f70 00000001 8365bb38 00000000 83133e40 8365bbc0
    83133ea8 c015b220 83133ea8 00000000 806415a0 830b1000 00000080 00000000
    00000000 8365bbb0 00000000 00000000 00000000 00000000 00000000 00000001
    00000010 00000008 00000005 00000000 c015b77c 00000000 00000000 8621de14
    49aed11f 1905a3c0 00000000 8365bbac 8365bbb0 8365bbc0 8365bbe0 8007dff8
    ...
    Call Trace:
    [<c015b220>] xfs_bmap_search_extents+0x110/0x130 [xfs]
    [<c015b77c>] xfs_bmapi+0x338/0x25b0 [xfs]
    [<8007dff8>] pipe_writev+0x2e8/0x5c4
    [<802d6c14>] schedule+0x0/0x9c8
    [<80030000>] run_timer_softirq+0x15c/0x23c
    [<802d6c14>] schedule+0x0/0x9c8
    [<c012b2f0>] autofs4_wait+0x3a4/0x794 [autofs4]
    [<8003ea20>] autoremove_wake_function+0x0/0x44
    [<8003a2f8>] __rcu_process_callbacks+0xdc/0x268
    [<8003a4a8>] rcu_process_callbacks+0x24/0x48
    [<8002bc7c>] tasklet_action+0x90/0x10c
    [<c01b6f18>] kmem_alloc+0x98/0x194 [xfs]
    [<80005728>] do_IRQ+0x24/0x34
    [<c017793c>] xfs_dir2_leaf_getdents+0x93c/0xa88 [xfs]
    [<80050050>] __alloc_pages+0xf0/0x468
    [<c016f9fc>] xfs_dir2_put_dirent64_direct+0x0/0xc0 [xfs]
    [<8004d53c>] filemap_nopage+0x3ac/0x4e0
    [<c016f9fc>] xfs_dir2_put_dirent64_direct+0x0/0xc0 [xfs]
    [<c01703ac>] xfs_dir2_getdents+0x11c/0x1b4 [xfs]
    [<c016f9fc>] xfs_dir2_put_dirent64_direct+0x0/0xc0 [xfs]
    [<c01afbd4>] xfs_readdir+0xa4/0x118 [xfs]
    [<c01bc7b0>] linvfs_readdir+0x128/0x270 [xfs]
    [<c01bc6f0>] linvfs_readdir+0x68/0x270 [xfs]
    [<8000e858>] do_page_fault+0x228/0x3b0
    [<8000e82c>] do_page_fault+0x1fc/0x3b0
    [<800858b0>] filldir64+0x0/0x144
    [<80085ce0>] vfs_readdir+0xec/0x128
    [<800858b0>] filldir64+0x0/0x144
    [<80085d88>] sys_getdents64+0x6c/0x100
    [<8000baf0>] do_ri+0x40/0x278
    [<800850c4>] sys_fcntl64+0x58/0xd8
    [<8000d284>] stack_done+0x20/0x3c
    [<80004bcc>] handle_ri_int+0x20/0x34



    Code: 00020040 16200003 8fbf0024 <0200000d> 8fbf0024 8fb20020 8fb1001c 8fb00018 03e00008

  • das dumpt ganz schön - das autofs das die Dreambox verwendet ist etwas älter und es kann sein das es mit dem xfs nicht zurechtkommt, deswegen auch mein angebot das ordentliche mount binary dazu zu geben :)


    Wenn du dir das Truecrypt plugin auch noch installierst kannst du es auch gleich haben, weil das ist auch ein besipiel wo das busybox mount schon überfordert ist.


    LG
    gutemine

    Einmal editiert, zuletzt von gutemine ()

  • Mein Fehler, ich war wohl ein wenig zu euphorisch nach den ersten Erfolgserlebnissen. Deinen letzten Post hatte ich irgendwie übersehen.


    Mit XFS kenn ich mich noch nicht gross aus. Ich werde mich da ein wenig schlau machen und das Handling auf meinem PC durchspielen. Jedenfalls scheint es äusserst konfigurierbar zu sein, GRIO ect.


    Stichwort Buffer, genau dies hat mich ein wenig daran zweifel lassen ob die DM800 mit ihren 128MB Ram damit klar kommt. Also wenn man den beim Mounten einstellen kann, werde ich mich da mal schlau machen. Die Busybox ist ja auch nicht gerade aktuell. Könnte schon sein das mount zu grosse Einschränkungen hat.


    Resizen wär schon ganz praktisch...


    Besten Dank für die Tipp's. Ich nehme an ich finde irgendwo ein Howto wie ich unter Debian Treiber für den Dreambox Kernel übersetzten kann. Gibts da ein OE SDK oder so was ähnliches?


    LG André

  • für das bauen von enigma2 inklusive kernel und allen treibern die public sind gibts das OE, und eigene sektion im board wo erklärt ist wie man sich eines aufbaut, und auch schönes shellscript von adenin das dir die meiste arbeit abnimmt es einzurichten.


    Das xfs ist eh schon im OE eingebunden, die geposteten kernel Treiber stammen ja von http://www.dreamboxupdate.com wo die ergebnisse der builds von dmm gepostet werden zum runterladen.


    Nur ist xfs halt ohne die tools nutzlos weswgen ich ein bischen basteln musste um es zum laufen zu kriegen bzw. um diese aus dem debian zu klauen.


    Und theoretisch kannst du auch versuchen das jfs ins OE einzubinden (in bitbake fiel wird sich schon finden lassen, aber ob es dann mit dem verwendeten kernel läuft musst du selber rausfinden)


    LG
    gutemine

  • Ich hab mich ein wenig schlau gemacht über XFS...
    Eine im PC formatiere XFS Platte lässt sich erst nach löschen des Logs mittels "xfs_repair" mounten. -> Wechsel der Architektur X86 zu MIPS.
    Danach lässt sich die Platte problemlos mounten. Allerdings wird die Konsole der DM800 ein wenig träge sobald irgendwelche FS Aktionen gemacht werden. Dies obwohl die CPU nicht viel mehr ausgelastet ist als bei ext3.
    Spezielle mount's z.B nach einem "mkfs.xfs -d unwritten=0" funktionieren wie erwartet nicht mit dem Busybox mount.
    Ich hab dann versucht noch dein Truecrypt Plugin zu installieren und dabei mount und umount zerschossen bezw. die Befehle waren nicht mer verfügbar.


    Gibt es eine alternative Methode mount und umount aus dem Plugin auf die Dream zu kopieren? Ich weiss nicht wie es mit den Abhängigkeiten aussieht.


    Sobald ich mehr Zeit habe werde ich noch versuchen ein eigenes OE zu bauen und schauen ob ich unter Debian selbst Anwendungen für die DM800 compilieren kann. Ist die DM800 Big-Endian oder Little-Endian?


    LG André

  • mipsEL = Architektur (Endian Little)


    Und ein reines mount ipk ist schnell gebaut, wobei wenn man das TrueCrypt installiert die mount binaries inklusive aller nötigen libs sauber ersetzt werden, wenn es da Probleme gäbe hätte das schon wer dort im Thread gepostet.


    Aber egal, wie gesagt kit dafür ist in 10 min gemacht, du musst aber bis zum abend warten, dann kannst du weitertesten, weil das das busybox mount bei den intreressanten Sachen schnell an seine Grenzen kommt war abzusehen.


    LG
    gutemine

  • Ok, das wär super nett von dir, dass du dir extra die Mühe machst. Lass dich aber bitte nicht hetzen, ist absolut nicht dringend...
    Hm, keine Ahnung was ich da wohl wieder mal verbockt hatte bei der Installation.
    Ich hatte anhand der Paket Benennung auch auf Little-Endian getippt. Eine Bestätigung erspart mir aber auf jedenfall eventuellen Aerger...


    Besten Dank schon im Voraus. Ich spendier doch glatt ein virtuelles Bier :404:

  • Am Threadnfang ist jetzt auch ein mount ipk das nur einfach das busybox mount/umoutn durch das vom debian ersetzen sollte.


    Nach der installation einfach mount -h eingeben dann solte man sehen das es ein bischen mehr kann und evt. mit mount --version die version überprüfen


    Nur fürs Bier ist es jetzt schon zu pät :)

    Einmal editiert, zuletzt von gutemine ()

  • Hallo gutemine,
    Besten Dank für dein package. Schaade dass es für ein Bier schon zu spät war, verdient hättest du dir dies auf jeden Fall :)


    Die Installation hat auf Anhieb geklappt. Mounten geht nun mit div. Optionen wie z.B "mount -t xfs -o noatime,nodiratime,logbufs=2"


    Auch mittels fstab lässt sich die XFS Partition einbinden z.B "/dev/scsi/host0/bus0/target0/lun0/part1 /media/ehdd xfs defaults,noatime,nodiratime,logbufs=2 0 0"


    Nach dem Mounten lassen sich beliebig Dateien rauf kopieren und im Mediaplayer abspielen oder was auch immer...


    Ein unmount übersteht das Filesystem jedoch nicht, egal mit welchen Optionen zuvor gemountet oder formatiert wurde... Danach ist irgendwie der Wurm drin und es lässt sich auch mit xfs_repair nicht mehr retten.
    Nur ein erneutes Formatieren zeigt Wirkung :)


    Nun habe ich direkt nach dem Formatieren ein xfs_check durchgeführt und siehe da, erste Inkonsistenzen...


    root@dm800:~# xfs_check /dev/scsi/host0/bus0/target0/lun0/part1
    xfs_check: unexpected XFS SB magic number 0x0457d32a
    bad superblock magic number 457d32a, giving up


    Also gleich ein "xfs_repair"


    root@dm800:~# xfs_repair /dev/scsi/host0/bus0/target0/lun0/part1
    Phase 1 - find and verify superblock...
    bad primary superblock - bad magic number !!!


    attempting to find secondary superblock...


    .............................................................found candidate secondary superblock...
    unable to verify superblock, continuing...
    found candidate secondary superblock...
    verified secondary superblock...
    writing modified primary superblock
    xfs_repair: size check failed
    xfs_repair: cannot repair this filesystem. Sorry.



    Evtl. funktioniert "mkfs.xfs" nicht richtig. Ich werde die Platte Morgen mal in meinem PC formatieren und weitere Tests durchführen.


    LG André

  • danke für die tests.


    Die binaries stammen alle zusammen aus dem Debian etch, und sollten eigentlich schon ausgiebig getestet und funktionsfähig sein, allerdings halt nicht mit dem älterne kernel der Dreambox, und auch die xfs kernel module aus dem OE sind dadurch halt nicht die aktuellsten.


    Insofern kann es schon sein das da inkosistenzen passieren können, das ist ja der Grund warum das Zeug getestet gehört.


    LG
    gutemine

  • Ich war auch nie davon ausgegangen das das ganze genauso stabil läuft wie auf einem IRIX System :) Die Dream ist und bleibt ja auch immer eine Spielwiese für Test's und neue Erweiterungen. und das ist auch gut so.
    Darum schätzte ich auch die Arbeit die du und viele andere der Community leisten...


    Ja der Kernel des OE ist ja schon fast prähistorisch. Kann gut sein, dass auch darum die XFS-Treiber noch Probleme bereiten. MIPS wird wohl unter Linux eh noch ein weniger ausgetestet sein als z.B x86.


    Mal schauen welche Erkenntniss weitere Tests ergeben.

  • Mit XFS gibt es auf den Buffalo Linkstations schon seit laengerem Probleme.
    Interessant ist das hier:
    http://oss.sgi.com/bugzilla/show_bug.cgi?id=755


    Hat die CPU der Dreambox diese Abstraktionsmoeglichkeiten?
    Wenn nicht, ist jeder weitere Versuch hoffnungslos.


    Gruss

    Bitte keine unaufgeforderten PNs schicken, sondern im Forum fragen. Ich schaue NIE ohne Auffordung in meine PN-Box.

  • na ja ich würde auf jeden fall mal ein sync eingeben um den gesamten Filesystem cache zu flashen vor den umounten.


    Auf der Kathrein hatten wir auch viel Spass mit nicht ordentlich geflushtem filesystem das dann immer corrupt ging oder änderungen nicht sauber übernommen hat.


    LG
    guxtemine

    Einmal editiert, zuletzt von gutemine ()

  • hi,
    sorry für offtopic aber wie schauts denn allgemein mit dem xfs Dateisystem aus? Ich bin am überlegen ob ich der 1TB Platte in meinem Server mal ein anderes Dateisystem geben soll anstatt ext3. Hat da jemand längergehende Erfahrungen mit XFS? Ist es stabil, Datensicherheit usw oder soll man doch, wenn man mit ext3 zufrieden war, es dabei belassen?

    f®î€ñЧ 宀 ñö† €£€©†®î©

    Einmal editiert, zuletzt von hypnotoad ()

  • na ja es kommt immer drauf an für was du es verwendest - für viele kleine Files ist es ziemlich egal, wenn du wenige Große drauf liegen hast, oder eine Datenbank dann wirst du gewisse features vom xfs durchaus freudvoll zur kenntniss nehmen. Im Prinzip kommt es ja aus der professionellen Ecke womit halt andere Anforderungen zu befriedigen waren und sind.


    Der Dreambox Thread hier und der support ist eher für den datenaustausch gedacht, z.B. die interne harddisk der Dreambox damit zu fahren hat wenig Mehrwert, ausser das das filesystem dir dann mehr memory wegfrisst um vieleicht einen hauch performanter in manchen situationen zu sein


    LG
    gutemine

    2 Mal editiert, zuletzt von gutemine ()