squashfs Image zu groß

Alles eine Frage des Images
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

squashfs Image zu groß

Beitrag von killajoe »

Hallo zusammen,

hier bin ich mit meiner dbox2 mit Sicherheit richtig aufgehoben 8)

Ich versuche gerade von meiner Nokia Sat Dbox2 mit yadi Snapshot 2.2.0.5 die mtd1-Partition auszulesen und einfach wieder als squashfs-Image zu verpacken, ohne jegliche Änderung. Zumindest vorerst. Wenn das klappt, möchte ich das eine oder andere Programm/Lib der root-Partition hinzufügen.
Nur verstehe ich nicht ganz, warum mein erstelltes Image dann auf einmal viel größer ist als der Ursprung. Mache ich hier etwas falsch?

Wenn ich darf, möchte ich das etwas erläutern:

1. per putty auf die dbox2 und "cd /tmp"
2. "cat /proc/mtd"

Code: Alles auswählen

dev:    size   erasesize  name
mtd0: 00020000 00004000 "BR bootloader"
mtd1: 00660000 00020000 "root (squashfs)"
mtd2: 00160000 00020000 "var (jffs2)"
mtd3: 00020000 00020000 "flfs (u-boot)"
mtd4: 007e0000 00020000 "Flash without bootloader"
mtd5: 00800000 00020000 "Complete Flash"
3. "mkdir root"
4. "mount -t squashfs -o ro /dev/mtdblock/1 root"
5. "tar -cf root.tar root"
6. ich ziehe das Archiv auf meine Linux-Kiste und entpacke es dort: "tar -xf root.tar"
7. packe es wieder zusammen mit "mksquashfs root mtd1.img -be"

mtd1.img hat nun eine Größe von 7.475.200 Bytes. Der Block mtd1 darf jedoch nur eine max. Größe von 6.684.672 Bytes (=660.000 Bytes als hexadezimale Zahl) haben.
Wie kommt das zu Stande? Ich meine, das ist doch die übliche Vorgehensweise.

Ich habe auch schon von der yadi-Website ein MTD1-Snapshot-Update geholt, dieses dann entpackt und einfach wieder mit dem mksquashfs-Befehl gepackt. Aber auch hier ist das Image wieder viel größer als das heruntergeladene mit 5.91 MB.

Ich kann mir das beim besten Willen nicht erklären und hoffe auf eure Hilfe.

TIA!
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

killajoe hat geschrieben:7. packe es wieder zusammen mit "mksquashfs root mtd1.img -be"
Hat mksquashfs LZMA-Unterstützung?
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

Respekt! Vielen Dank für die schnelle Antwort :D

Hmm. Gute Frage, aber wohl eher nicht. Ich muss mal schauen, ob ich das Tool für debian-lenny selbst übersetzt habe oder ich das einfach geladen habe. Melde mich nochmal, wenn sich was getan hat. Vielen Dank schon mal soweit.

Code: Alles auswählen

# mksquashfs -version
mksquashfs version 3.4 (2008/08/26)
copyright (C) 2008 Phillip Lougher <phillip@lougher.demon.co.uk>

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2,
or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

Ein Tuxbox-Image mit Kernel 2.4 nutzt Squashfs 3.0.
Ich weiß nicht, ob mksquashfs 3.4 eine dazu
kompatible Dateistruktur hat, wohl eher nicht.

Warum baust Du Dir nicht ein eigenes Image, anstatt
an einem anderen Image rumzubasteln?
Dein Image ist uralt (http://dboxjffs2.sourceforge.net/):
Yadi Snapshot 2.2.0.5 - Tuxbox CVS Stand vom 22.03.2008
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

Bin eigentlich sehr zufrieden mit dem Image, auch wenn es schon 1,5 Jahre alt ist :wink:

Mir geht es nur darum openvpn zu integrieren. Japp, hab auch schon ein bisschen rumgelesen und mir ist aufgefallen, dass das Thema hin und wieder aufpoppt.

Du hast nicht zufällig squashfs-lzma in der Version 3.0 bei dir rumliegen? Finde auf die schnelle leider nicht den Patch für die 3.0.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: squashfs Image zu groß

Beitrag von dbt »

Das ist aber nur Gefrickel. Openvpn hast du mit einem selbst kompiliertem Image wesentlich einfacher beieinander und dazu noch up2date.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

Infos zu OpenVPN:
http://tuxbox-forum.dreambox-fan.de/for ... 36#p369536

VMWare-Howto zum Selbstkompilieren eines Images:
http://tuxbox-forum.dreambox-fan.de/for ... 13&t=48503

Auf Debian Lenny kannst Du die ersten Schritte zum Einrichten
von Debian überspringen und gleich mit dem Installieren der
nötigen Pakete, CVS checkout und Kompilieren weitermachen.
Als Option für cdk/configure einfach --enable-openvpn hinzufügen
und das Image bauen, fertig. Seit März 2008 gab es viele
Verbesserungen für Neutrino & Co., es lohnt sich ;)
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

Also wenn ein "eigenes" Image zu erstellen doch so einfach ist, dann werd ich mir das mal reinziehn.
Am Ende kommt dann ein 8MB-Image raus, welches ich auf meine Box spiele und dann kein Anzeichen mehr von yadi sondern ausschließlich der cvs-Stand läuft? Hab ich das so richtig erfasst? :D
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

killajoe hat geschrieben:Am Ende kommt dann ein 8MB-Image raus, welches ich auf meine Box spiele und dann kein Anzeichen mehr von yadi sondern ausschließlich der cvs-Stand läuft?
Ja, eine Sicherung des jetzigen Images ist zudem für Notfälle empfehlenswert.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: squashfs Image zu groß

Beitrag von Houdini »

Ja, eine Sicherung des jetzigen Images ist zudem für Notfälle empfehlenswert.
...und für die zu erhaltenen ucodes
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

Dein HowTo ist großartig, wenn nur alles immer so einfach wäre ;-) Vielen Dank hierfür.

Ich bin 1:1 deiner Anleitung gefolgt. Leider bricht er irgendwann (nach ca. 2h bei meinem Athlon XP2500+) ab, weil ihm scheinbar "python" fehlt. Fehlt das bewusst bei dir?

Code: Alles auswählen

/home/tuxbox/compile/hostapps/mklibs/mklibs.py --target powerpc-tuxbox-linux-gnu --libc-extras-dir \
                /home/tuxbox/image/cdkroot/lib/libc_pic \
                -d /home/tuxbox/image/cdkflash/root-neutrino-squashfs/lib \
                -D -L /home/tuxbox/image/cdkflash/root-neutrino/lib:/home/tuxbox/image/cdkflash/root-neutrino/lib/tuxbox/plugins:/home/tuxbox/image/cdkflash/root/lib:/home/tuxbox/image/cdkflash/root/lib/tuxbox/plugins:/home/tuxbox/image/cdkflash/root-squashfs/lib:/home/tuxbox/image/cdkroot/lib:/home/tuxbox/image/cdkroot/lib/tuxbox/plugins \
                --root /home/tuxbox/image/cdkflash/root-neutrino-squashfs \
                `find /home/tuxbox/image/cdkflash/root-neutrino-squashfs/bin/ -path "*bin/?*" -type f` \
                `find /home/tuxbox/image/cdkflash/root-neutrino-squashfs/var/bin/ -path "*bin/?*" -type f` \
                `find /home/tuxbox/image/cdkflash/root-neutrino-squashfs/lib/ -name "libnss_*" -type f` \
                `find /home/tuxbox/image/cdkflash/root-neutrino-squashfs/lib/ -name "libsqlite3*" -type f` \
                `find /home/tuxbox/image/cdkflash/root-neutrino-squashfs/lib/ -name "*.so" -type f` \
                `find /home/tuxbox/image/cdkflash/root-neutrino-squashfs/sbin/ -path "*sbin/?*" -type f`
find: "/home/tuxbox/image/cdkflash/root-neutrino-squashfs/var/bin/": Datei oder Verzeichnis nicht gefunden
/bin/sh: /home/tuxbox/compile/hostapps/mklibs/mklibs.py: /usr/bin/python: bad interpreter: Datei oder Verzeichnis nicht gefunden
make[1]: *** [/home/tuxbox/image/cdkflash/root-neutrino-squashfs/lib/ld.so.1] Fehler 126
make[1]: Leaving directory `/home/tuxbox/compile/cdk'
make: *** [/home/tuxbox/image/cdkflash/root-neutrino-squashfs] Fehler 2
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

hab nun python nachinstalliert und den Build-Prozess erfolgreich beendet:

Code: Alles auswählen

sudo apt-get install --no-install-recommends python
make flash-neutrino-squashfs-all
Leider komme bei beiden (1x und 2x) Images:
!!! If you flash this image these bytes cause 'no system' !!!
Was kann ich dagegen unternehmen?

TIA!
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: squashfs Image zu groß

Beitrag von GetAway »

Versuch es mal mit make flash-semiclean, in hartnäckigen Fällen ein make mostlyclean.
bosmann
Einsteiger
Einsteiger
Beiträge: 268
Registriert: Sonntag 3. September 2006, 14:13

Re: squashfs Image zu groß

Beitrag von bosmann »

probiere einfach zu flashen, mehr wie "kein system" kommt nicht dabei raus.
ich habe diese meldung oft ignoriert, das image lief...

P.S.
sorry GetAway, habe Deine Antwort nicht gesehen...
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

killajoe hat geschrieben:weil ihm scheinbar "python" fehlt. Fehlt das bewusst bei dir?
Eigentlich nicht, vielleicht haben sich irgendwelche Abhängigkeiten
geändert, ich habe python auf jeden Fall dem HowTo hinzugefügt.
Danke für den Hinweis.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

killajoe hat geschrieben:Leider komme bei beiden (1x und 2x) Images:
!!! If you flash this image these bytes cause 'no system' !!!
Was kann ich dagegen unternehmen?
Auf jeden Fall nicht flashen.
Wenn beide Images angemeckert werden, wird sehr
wahrscheinlich keines der beiden Images laufen.
Wenn nur das 2x-Image angemeckert wird, das 1x-
Image aber in Ordnung ist, dann kannst Du auch das
2x-Image flashen, das wird sehr wahrscheinlich
funktionieren.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

Ah, ok. Hab mittlerweile 5-6 Mal das Image neu bauen lassen. Immerhin ist nun das 1x i.O. wobei mir das 2x lieber wäre :wink:

In den Beiträgen von Dir stand was von "Dummy-File". Will zwar nicht unbedingt so eine hinzufügen, aber vllt. bringt dvbsnoop etwas. Das könnte ich sogar gebrauchen. Wie füge ich das dem Image zu?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

killajoe hat geschrieben:Immerhin ist nun das 1x i.O. wobei mir das 2x lieber wäre :wink:
Wenn das 1x-Image in Ordnung ist, funktioniert das
2x-Image trotz Fehlermeldung auch.
killajoe hat geschrieben: vllt. bringt dvbsnoop etwas. Das könnte ich sogar gebrauchen. Wie füge ich das dem Image zu?
Ein neues Verzeichnis anlegen

Code: Alles auswählen

mkdir -p $HOME/customization
dort eine Datei namens root-local.sh anlegen mit folgendem Inhalt

Code: Alles auswählen

#!/bin/sh

flashprefix=$1
buildprefix=$2

echo Hello, this is $0, flashprefix=$1 and buildprefix=$2

make flash-dvbsnoop
die Datei ausführbar machen

Code: Alles auswählen

chmod +x $HOME/customization/*
Das Image neu kompilieren, also ab hier neu[1] beginnen
und folgende Option bei cdk/configure hinzufügen:

Code: Alles auswählen

--with-customizationsdir=$HOME/customization
[1] Ja, auch "rm -rf compile image" ausführen, damit kein Überrest
des vorangegangenen Kompiliervorgangs zurückbleibt, das
vermeidet Probleme, deren Lösung Dich mehr Zeit und Nerven
kosten werden als auf das Neukompilieren zu warten. In der
Zwischenzeit kannst Du was sinnvolleres machen, da während
eines Kompilierprozesses, der in einem leeren Verzeichnis,
ausgehend von einem neuen CVS-checkout, stattfindet, keine
Probleme auftreten sollten. Das ist nicht garantiert, wenn Du
in einem Verzeichnis, wo schon einmal kompiliert wurde, einen
CVS checkout durchführst oder ein nochmaliges cdk/configure
aufrufst. Ich schreibe diesen Hinweis deshalb so ausführlich,
da sich in der jüngeren Vergangenheit häufiger User mit
Kompilierproblemen gemeldet haben, die durch obige Vorgehens-
weise nicht aufgetreten wären.
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

Ah. Sehr schön. Funktioniert. Vielen Dank.

Ein erster erfolgreicher Boot-Vorgang führte ich mit dem 2x-Image bereits durch. Hab dann eine Änderung in der "start_neutrino" vorgenommen und seitdem hängt sie beim Start. Oben links blinkt nur der Cursor. Kommt da kein Start-Bild/Logo (mehr)? Beim ersten Booten kam auch schon kein.
Vielleicht hab ich da irgendwo Mist in der "start_neutrino" gebaut, aber leider ist auch mein Display so voller Streifen, dass ich da überhaupt nix erkennen kann :( Müsste da beim ersten Booten etwas *wichtiges* eingegeben werden?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

killajoe hat geschrieben:Hab dann eine Änderung in der "start_neutrino" vorgenommen und seitdem hängt sie beim Start.
Image neuflashen oder per Telnet oder FTP einloggen und die Datei reparieren.
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

Hab nun das Backup mit dem Hallenberg-Tool geflasht, da kein Zugang mit putty/telnet und ftp möglich war. Kommt mir sehr komisch vor :-?
Wenn ich das Startbild noch einmal ansprechen darf :wink: Wir da keines standardmäßig eingebunden? Wie könnte ich das eins hinzufügen?

TIA!
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: squashfs Image zu groß

Beitrag von rhabarber1848 »

killajoe hat geschrieben:Wir da keines standardmäßig eingebunden?
So ist es.
killajoe hat geschrieben:Wie könnte ich das eins hinzufügen?

Code: Alles auswählen

mkdir -p $HOME/logos
Als LCD-Logo dort eine Datei namens logo-lcd ablegen,
als Bildschirmlogo dort eine Datei namens logo-fb ablegen.
Beide Dateien werden dann vom Bootmanager angezeigt
und während des Bootvorgangs nach dem Laden der
Dbox2-Kernelmodule wieder gelöscht.

Bei cdk/configure eine neue Option hinzufügen:

Code: Alles auswählen

--with-logosdir=$HOME/logos
und neu kompilieren.
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Re: squashfs Image zu groß

Beitrag von DrStoned »

killajoe hat geschrieben:Hab dann eine Änderung in der "start_neutrino" vorgenommen und seitdem hängt sie beim Start.
Die start_neutrino darf nur mit einem UNIX-Editor bearbeitet werden. Vermutlich hast Du einen DOS-Editor verwendet. Geh mal per Telnet auf die Box und gib folgende Befehle ein:

Code: Alles auswählen

dos2unix /var/etc/init.d/start_neutrino
chmod 755 /var/etc/init.d/start_neutrino
reboot
Vorraussetzung ist, dass Deine start_neutrino auch im von mir angegeben Pfad liegt. Ansonsten den Pfad für die Telnet-Befehle an Deine Verhältnisse anpassen.

Greetz von DrStoned :lol: :lol: :lol:
killajoe
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Freitag 18. September 2009, 13:40

Re: squashfs Image zu groß

Beitrag von killajoe »

Japp, das mit dem DOS/Windows-Format ist mir vorhin auch gekommen. Hab da schon meine Erfahrungen machen müssen :lol: Dachte aber eigentlich, dass WinSCP das schon das Ursprungsformat übernimmt. Zu dumm....

Komm aber erst morgen dazu, das zu testen. Werd dann nochmal berichten. Danke schön!