Jump to content

jffs2


Gast flavour02

Empfohlene Beiträge

Hi all!!!

 

Hab da mal eine Frage:

 

Wie lange kann ich ein emu auf meiner Box betreiben bis Sie unbrauchbar wird?

Habe in anderen Foren gelesen das nach einiger zeit das jffs2 so stark defragmentiert wird das die Box hinterher nicht mehr zu gebrauchen sei.

Selbst ein neu flashen hätte da kein erfolg mehr.

Stimmt das :?: :?:

Und wenn ja was kann man dagen machen???

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Fuemi !

Mit deiner Gegenfrage kann ich nicht viel anfangen.

 

Ich wollte eigentlich nur wissen ob das jemand bestätigen kann.

Und wenn ja ob es dafür eine Abhilfe gibt (Plugin oder so).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

 

Also ich benutze seit ca. 3 Wochen ein Jffs2 Image. Bisher keine Probleme gehabt, aber das mit dem Fragmenten bei diesem File-System auf der Box hab ich auch schon gelesen. Mal bei Tuxbox nachgucken, ob die was drüber schreiben. Aber wie gesagt, bei mir kein Problem.

 

Das geniale an Jffs2-Images ist halt immer noch, das man alles per FTP tauschen kann, man braucht nicht mehr den Umständlichen weg mit Tuxbox-Flash-Tool usw.

 

Hab sogar ne Anleitung gesehen, wie man jedes Image auf ein Jffs2-Image umbauen kann. Kann ich ja mal bei Interesse hier reinstellen. Ist aber nicht von mir!!!

 

Das werde ich bei Gelegenheit mal testen, falls ich meinen Umschalter für die PCs mal zum laufen bekomme... :evil:

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ecmkey

 

Habs Dir geschickt, incl. der Dateien, die Du brauchst fürs packen usw.

 

@all

 

Hier mal das Howto JFF2 Image basteln 8)

 

1. Vorarbeit

 

- Indy500´s Image saugen ( http://tuxbox.berlios.de/jffs2/flash/Ind.....fs2_1.0.img.bz2

MD5 vom ".bz2" c5571b8240bb4acdc40c11719da67799 )... Programm zum Auspacken unter Windows:

http://dbox.feldtech.com/downloads/untar_utils.zip Einfach in ein frisches Verzeichnis entpacken,

das Indy500_2x_jffs2_1.0.img.bz2 dort reinkopieren, unter MSDOS-Fenster dort reinwechseln,

"bunzip2 *.bz2" eingeben, und es wird ausgepackt !

 

- Indy500´s Image flashen (mit dem DBox-Bootmanager http://dbox.feldtech.com/downloads/setup_dboxboot.exe)

 

- Das Neutrino, welches in Indy500´s Image bootet ist *defekt* !!! Macht aber nix, denn wir wollen uns

nur bestimmte Teile rausziehen, ohne die es Essig ist, mit dem JFFS2-Only !!! Los geht´s...

 

- Die IP des Images ist die 192.168.136.3 - Man kann zwar *irgendwie* mit dem Terminal des Bootman-

agers die IP via "ifconfig eth0 192.168.1.5" (z.B.) ändern, aber die ständig scrollende Errormeldung

[sectionsd] DMX: /dev/dvb/card0/demux0: No such file or directory nervt einem ständig dazwischen.

Es geht, wenn man pro Scroll ein Zeichen tippt; ausprobieren... Aber nicht empfehlenswert !

Dann lieber andersrum: Die IP des PC auf 192.168.136.1 einstellen; PC booten

 

- Box booten; nun müsste ein Connect machbar sein. START-Button-->Ausführen -->"telnet 192.168.136.3"

eingeben ! Einloggen... "BusyBox on dbox login: root", "Password: dbox2" --> drin !

 

- Auslesen des "heiligen" FLFS-Bereiches:

Erstmal eingeben "cat /proc/mtd" - Da sehen wir, daß der FLFS-Bereich unter mtd1 steht !

Eingeben "cat /dev/mtdblock/1 >/tmp/flfsboot.img". Nun Telnet beenden...

Ein FTP-Programm starten, und einloggen (natürlich auch mit IP-Nummer 192.168.136.3)...

In das /tmp wechseln, und das "flfsboot.img" runtersaugen... Ist 131.072 Bytes gross !

Zurück ins /root, und die Kernel-Datei "vmlinuz" runtersaugen... Ist 640.655 Bytes groß !

Achso, das Verzeichnis /boot mit Inhalt (3 Dateien) auch gleich saugen...

 

Mehr braucht man nicht zum JFFS2-Only-Image-Erstellen !!!

 

Die Dateien "vmlinuz", "flfsboot.img" und das /boot GUT AUFHEBEN (für später; siehe weiter unten)

 

- Die IP des PC wieder auf den alten Wert setzen und neu booten...

 

2. "Lieblings"-Image konvertieren in JFFS2-Only

 

- Erstmal das Lieblings-Image flashen... Alle Einstellungen vornehmen (IP-Adresse, Streaming-

Server, Tasteneinstellungen, usw.)

 

- Box neu booten, damit man die Einstellungen (für später) gleich mit-drin hat !!!

 

Gehe nun via Telnet auf die Box... Eingeben "cat /proc/mtd"... Könnte z.B. so aussehen:

 

mtd0: 00020000 00004000 "BR bootloader"

mtd1: 00020000 00020000 "flfs (ppcboot)"

mtd2: 005c0000 00020000 "root (cramfs)"

mtd3: 00100000 00020000 "exchange (jffs2)"

mtd4: 00100000 00020000 "var (jffs2)"

mtd5: 007e0000 00020000 "flash without bootloader"

mtd6: 00800000 00020000 "complete flash"

 

Gut, wir haben es also mit einem Image mit einem CRamFS- und zwei JFFS2-Bereichen zu tun...

Interessant sind also für uns die mtd2, mtd3 und mtd4 !!!

 

Schaun wir doch gleich mal in die "rcS"... Gehe mal mit FTP auf die Box, und guck Dir die Datei

/etc/init.d/rcS an... Die Mount-Befehle sind wichtig !!! So könnte der Part aussehen:

 

...

/bin/mount -n -t proc proc /proc

/bin/mount -t jffs2 /dev/mtdblock/3 /exchange

/bin/mount -t jffs2 /dev/mtdblock/4 /var

/bin/mount -t ramfs ramfs /var/tmp

...

 

Aha, verstehe... Das passt ja logisch zu dem, was wir uns eben unter Telnet angeguckt haben !

 

Wichtig sind nur die beiden jffs2-Bereiche: Aufschreiben !!! (für später)

 

...weiter gehts... Wieder zurück zu Telnet...

 

- Als Erstes ziehst Du Dir das CRamFS raus... Eingeben "cat /dev/mtdblock/2 >/var/tmp/cramfs.img"

Dies liegt dann erstmal im DBox-Speicher !

 

- Als nächstes ziehst Du Dir die JFFS2-Bereiche raus... Am schönsten wäre es, wenn man es genauso

machen könnte; aber es gibt kein Tool (wie Decramfs) für JFFS2 (also kein DeJFFS2 oder sowas)

Also musst Du mounten; am allerbesten man mounted die Speicherbereiche *direkt* ! Das simu-

liert ein JFFS2-Bereich einer *ungebooteten* Box...

 

Eingeben:

"mkdir /var/tmp/exchange3" und

"mkdir /var/tmp/var4" - Jetzt kommt das mounten:

"mount -t jffs2 -o rw /dev/mtdblock/3 /var/tmp/exchange3"

"mount -t jffs2 -o rw /dev/mtdblock/4 /var/tmp/var4"

 

- Nun müssen wir den Krempel TARen, da Du sonst später Schwierigkeiten mit Symlinks usw. bekommst!

Eingeben "cd /tmp" ... dann eingeben "tar -cvf exchange.tar exchange3" ... anschliessend "tar -cvf var.tar var4"

 

Anmerkung: Wenn Du in Deinem Image nur Einen JFFS2-Bereich hast, dann lässt Du das zweite weg, klar !

 

- FTP-Programm starten, und die Dateien "cramfs.img", "exchange.tar" (und "var.tar") saugen...

 

3. Nun geht´s *leider* mit Linux weiter...

...aber die folgenden Dinge müssten auch mit Knoppix oder Suse-Live funzen !

(bisher aber nicht mit Cygwin; es sei denn einer erbarmt sich, die "mkfs.jffs2" umzuschreiben)

 

- Linux booten (als User "root" anmelden)

 

- Du brauchst zwei Tools, die Du unter /bin *IM LINUX* kopierst !!! Einmal "mkfs.jffs2" und einmal "decramfs"

Hier gibts das "decramfs" http://www.streamboard.bc-host.net/wbb2/.....mentid=433&sid=

Und hier gibts das "mkfs.jffs2 " http://www.streamboard.bc-host.net/wbb2/.....entid=1185&sid=

(Kann sein, daß es nur mit Rechtsklick/"Speichern unter..." geht)

 

- Konsole (Bash) starten...

 

- Unter Linux im "Root Directory" ein Verzeichnis "dbox2" erstellen... Solange "cd .." eingeben, bis

es nicht mehr weitergeht ! Dann "mkdir dbox2" eingeben.

 

- Erstmal prüfen, ob "decramfs" und "mkfs.jffs2" einen Laut von sich geben... Beides mal ohne Para-

meter eingeben. Wenn Errors kommen, dann hast Du die Dateien ins falsche /bin kopiert ! Achso, beide

Dateien müssen Ausführ-Rechte bekommen... Eingeben (da, wo man nun ist):

"chmod 755 bin/decramfs"

"chmod 755 bin/mkfs.jffs2"

"chown 0:0 bin/decramfs"

"chown 0:0 bin/mkfs.jffs2"

 

- Das "flfsboot.img", den "vmlinuz", das "cramfs.img", die "exchange.tar", die "var.tar", sowie das

Verzeichnis /boot (incl. Inhalt) ins neue /dbox2 reinkopieren... Am besten (wenn man sich nicht so

auskennt), man kopiert im KDE-Desktop per Drag & Drop !

 

- In das Verzeichnis "dbox2" wechseln (cd dbox2)

 

- Ein Unterverzeichnis erstellen "cdkroot" (mkdir cdkroot)

 

- Eingeben "decramfs cdkroot cramfs.img"

 

- Den Kernel "vmlinuz" im Unterverzeichnis /cdkroot löschen (eingeben: "rm cdkroot/vmlinuz")

 

- Den Indy500-Kernel dort reinkopieren (eingeben: "cp vmlinuz cdkroot")

 

------------------------------------

Editieren der "rcS" und der "fstab":

Am Besten mit dem KDE-Desktop in das /cdkroot/etc wechseln, und mit Rechtsklick auf die "fstab" mit

"Open with --> Texteditor" öffnen... Und *so* muss sie dann aussehen:

 

none /tmp ramfs defaults 0 0

none /proc proc defaults 0 0

 

Meist steht da nur "tmpfs" statt "ramfs"... muss man also so ändern ! Abspeichern, und Editor beenden !

Nun zur "rcS"... Ebenso mit Texteditor öffnen, und die schon weiter oben benannte Passage suchen:

 

...

/bin/mount -n -t proc proc /proc

/bin/mount -t jffs2 /dev/mtdblock/3 /exchange

/bin/mount -t jffs2 /dev/mtdblock/4 /var

/bin/mount -t ramfs ramfs /var/tmp

...

 

Das muss ALLES WEG !!! Also alle mounts !!! Stattdessen kommt an diese Stelle ein langweiliges:

 

...

mount -a

...

 

etc. (hier gehts weiter mit der Original-"rcS")

------------------------------------

 

- Ent-TARen der JFFS2-Sektionen... Eingeben "tar -xvf exchange.tar" und "tar -xvf var.tar"

Da kommen zwar mächtig Errors, aber es passiert nix wirklich Schlimmes *hihi* ;-)

 

- Am besten die Daten aus den, vom TAR erstellten Verzeichnissen, wieder via Drag & Drop in die

entsprechenden Verzeichnisse kopieren. Nur wohin !? Klar, das Eine kommt in /cdkroot/exchange, und das

Andere in /cdkroot/var !!! Aber bitte ohne die Unterverzeichnisse, die TAR da angelegt hat(te) !!!

 

- das /boot (incl. Inhalt) kopieren wir in /cdkroot - Kannst Du ja auch via Drag & Drop machen, wat solls!

Das *irgendwo* versteckelte /boot (falls vorhanden) kann man auch später löschen - wir brauchen jeden-

falls *unser* /boot in /root !!! (latürnich mit Inhalt)

 

- So, nun haben wir alles, was wir brauchen... Nun musst Du nur noch ein paar "Schönheitskorrekturen"

anwenden. Rechte anpassen !!!

 

Eingeben:

"chown -R 500:100 cdkroot/exchange"

"chown -R 500:100 cdkroot/var"

"chown 500:100 cdkroot/vmlinuz" und

"chmod 777 cdkroot/vmlinuz"

"chown 500:100 cdkroot/etc/fstab"

"chown 500:100 cdkroot/etc/init.d/rcS"

"chmod 777 cdkroot/etc/fstab"

"chmod 777 cdkroot/etc/init.d/rcS"

"chown -R 500:100 cdkroot/boot"

"chmod -R 755 cdkroot/boot"

 

Ein Anpassen per Rechtsklick im KDE-Desktop ist nicht zu empfehlen... Hab da schlechte Erfahrungen;

besonders bei Dateien in Unterverzeichnissen - dann lieber so, wie hier beschrieben !

 

4. Erstellen des JFFS2-Only-Images...

 

Eingeben:

"mkfs.jffs2 -b -f -e 0x20000 --pad=0x7c0000 -r cdkroot -o jffs2-root.img" und

"cat flfsboot.img jffs2-root.img >jffs2-only.img"

 

Linux beenden, Windows starten, und mit DBox-Bootmanager "jffs2-only.img" flashen !!!

 

Anmerkung: Meist muss man *zweimal* die Box neu starten. Das JFFS2-Only hat halt

"Rock´n Roll" und braucht einen zweiten Start, bis es sich eingroovet ;-)

 

Good Luck @All

 

Gruß

 

Wello

 

Wie gesagt, richtet keine Fragen an mich wegen der Anleitung oder so, habs zwar schon getestet, aber wie gesagt, die Anleitung ist nicht von mir...

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...