1 Dernière modification par tata (29-04-2006 05:22:30)

Sujet : Outils pour cramfs lzma (fbx v4 only)

Petit outils pour les heureux possesseur d'OS unix (non testé sous windows avec mingw/cygwin):

wget http://www.quux.co.uk/usr9105/cramfs-rdb-0.97.tar.gz && tar -xzf cramfs-rdb-0.97.tar.gz && cd cramfs && make
./cramfsck imageroot -x rom #( en root pour qu'il puisse faire les mknod )

Faire vos binaires etc avec votre toolchain préféré (celui de openfreebox, celui du dg834gt, ou un fait maison )

/mkcramfs -r rom imageroot.new

Et voila
edit :
Je viens de voir que f-x.fr proposait egalement de telecharger ce tool
http://www.f-x.fr/files/cramfsLZMA.tar.gz

2

Re : Outils pour cramfs lzma (fbx v4 only)

Et la V3 ?

Après avoir dumpé la flash, je ne parviens pas à

1. monter l'image
`mount -o loop -t cramfs whole_flash.bin /mnt/loop
`
mount: wrong fs type, bad option, bad superblock on /dev/loop/0 [...]

un ` dmesg | tail` me donne
cramfs:wrong magic

2. extraire le contenu de l'image
`cramfsck -x rom whole_flash.bin`

cramfsck: superblock magic not found

3. J'ai pensé à un swap (Big Endian -> Little Endian)
`cramfsswap whole_flash.bin whole_flash.img`

cramfs magic not detected


Quelqu'un a une idée ?


Dans Documentation/filesystems/cramfs.txt (Doc kernel Linux)

[...]
Currently, cramfs must be written and read with architectures of the
same endianness, and can be read only by kernels with PAGE_CACHE_SIZE
== 4096.  At least the latter of these is a bug, but it hasn't been
decided what the best fix is.  For the moment if you have larger pages
you can just change the #define in mkcramfs.c, so long as you don't
mind the filesystem becoming unreadable to future kernels.
[...]

peut être faut-il adapter le PAGE_CACHE_SIZE ? (mais comment ?)

Re : Outils pour cramfs lzma (fbx v4 only)

ZoZ a écrit:

Après avoir dumpé la flash, je ne parviens pas à

1. monter l'image
`mount -o loop -t cramfs whole_flash.bin /mnt/loop

Vous avez dumpé l'ensemble du flash non ? Dedans, il n'y a pas que le cramfs, mais aussi le kernel, CFE (bootloader), etc ...

Il faut couper tout ça ...

La page du Wiki pour ça n'a pas encore été écrite :

Je viens de dumper la totalité de la mémoire flash et j'ai obtenu un RawDump?, comment en extraire les différentes parties ?
Le mieux pour vous est de lire ceci : SplitRawDump

http://www.f-x.fr/wikini/wakka.php?wiki … xQuestions

Il me semble qu'il y a des options dans HairyDairyMaid pour ne prendre que certaines parties.

Sinon vous pouvez chercher 2d 72 6f 6d 31 66 73 2d dans le flash entier.

PS : Pour la v3, pas besoin de cramfsswap, c'est pour la v4

4

Re : Outils pour cramfs lzma (fbx v4 only)

J'ai déjà splitté le contenu de la rom en différentes parties (cfe, kernel, nvram) avec HairyDairyMaid.
Le problème, c'est que je n'arrive pas à monter ces images (que je suppose de type cramfs ? ).

PS : j'ai un "Vous n'avez pas accès en écriture à cette page !" quand j'essaie d'acceder à "SplitRawDump".

Re : Outils pour cramfs lzma (fbx v4 only)

ZoZ a écrit:

J'ai déjà splitté le contenu de la rom en différentes parties (cfe, kernel, nvram) avec HairyDairyMaid.
Le problème, c'est que je n'arrive pas à monter ces images (que je suppose de type cramfs ? ).

CFE, c'est binaire. Kernel c'est un kernel compressé en LZMA. Il n'y a que le romdisk qui est en cramfs.

ZoZ a écrit:

PS : j'ai un "Vous n'avez pas accès en écriture à cette page !" quand j'essaie d'acceder à "SplitRawDump".

Vincent a écrit:

La page du Wiki pour ça n'a pas encore été écrite :.

6

Re : Outils pour cramfs lzma (fbx v4 only)

La page du Wiki pour ça n'a pas encore été écrite :.

smile autant pour moi

CFE, c'est binaire. Kernel c'est un kernel compressé en LZMA. Il n'y a que le romdisk qui est en cramfs.

le romdisk ?

Re : Outils pour cramfs lzma (fbx v4 only)

ZoZ a écrit:
Vincent a écrit:

CFE, c'est binaire. Kernel c'est un kernel compressé en LZMA. Il n'y a que le romdisk qui est en cramfs.

le romdisk ?

Romdisk pour v3/4, miniroot compressé pour v1/2.

Voir http://www.f-b-x.net/#firm

8

Re : Outils pour cramfs lzma (fbx v4 only)

Ok, mais en fait je n'ai pas posé la bonne question smile
Ce que je veux dire : ayant dumpé la flash avec HairyDairyMaid, j'ai trois binaires correspondant au cfe, au kernel, et à la nvram.
C'est tout ce que j'ai.
Ce que je cherche : le root fs
Est-ce que je vais le trouver là dedans, ou bien est-il ailleurs ?