[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Notes JFFS2


From Frédéric Lehobey <Frederic dot Lehobey at free dot fr>
Subject Notes JFFS2
Date Fri, 29 Jul 2005 13:21:18 +0200

Salut,

  Brutes de décoffrage, sans même les avoir relues, nos notes sur
JFFS2 d'hier soir.

Librement,
Frédéric

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

2005-07-28

Installation de JFFS2 dans le cadre de l'atelier Gulliver du
2005-07-28.

* Jean-Marie découvre que les clefs sont en FAT16 et non en FAT32
comme il le raconte erronément depuis des jours.

* De beaux outils de partitionnement sont :

  - qtparted mystérieusement absent de la sarge (il n'est que dans
    sid). Mais il est incapable de redimensionner (seulement détruire
    et recréer).

  - gparted que nous n'avons pas essayé.

* Avec qtparted nous avons découpé la clef de Jean-Marie (128 Mo) en
  deux morceaux : 83 Mo de FAT16 et environ 40 Mo de libre.

* Le paquet Debian à installer est mtd-tools.

  On y trouve une (vieille) doc :

    zless /usr/share/doc/mtd-tools/mtd-jffs-HOWTO.txt.gz

* Sur la Ubuntu de Fred (noyau 2.6.10-5-386), le module mtdchar (à
  charger selon la doc ci-dessus) passe. En fait tous les modules
  suivants passent :

    mtdchar mtdblock cfi_cmdset_0002 map_rom cfi_probe

* Par contre physmap ne passe pas avec l'erreur :

    FATAL: Error inserting physmap
    (/lib/modules/2.6.10-5-386/kernel/drivers/mtd/maps/physmap.ko):
    Input/output error.

* Problème : il n'y a pas les /dev/mtd0, /dev/mtd1, ...

  Selon

    http://lists.infradead.org/pipermail/linux-mtd/2002-June/005198.html

il suffit de les créer avec MAKEDEV

* À voir ?

    http://www.denx.de/doc/TQM8xxL/advanced-topics.html

http://lists.infradead.org/pipermail/linux-mtd-cvs/2003-June/003122.html
http://lists.infradead.org/pipermail/linux-mtd-cvs/2005-January/004472.html
http://www.cwlinux.com/downloads/linuxbios-sdk/images/docimages/README
http://www.lsweb.de/HOWTO/InstallationNotes.html

* On va suivre :

Probably you don't have the right devices set up on your machine (like me), look for an appropriate MAKEDEV script or do it manually:

   1. mkdir /dev/mtdblock
   2. mknod /dev/mtdblock/0 b 31 0
   3. mknod /dev/mtdblock/1 b 31 1
   4. mknod /dev/mtdblock/2 b 31 2
   5. and so on...

* En fait, nous utilisons :

for a in `seq 0 16` ; do
        mknod /dev/mtd$a c 90 `expr $a + $a`
        mknod /dev/mtdr$a c 90 `expr $a + $a + 1`
        mknod /dev/mtdblock$a b 31 $a
done

pris de :
http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2001-June/003492.html

http://www.enseirb.fr/~kadionik/embedded/uclinux/mtd/howto_mtd.html

Il ne se passe rien : nous n'avons rien dans /proc/mtd alors que selon
le lien ci-dessus, cela devrait ressembler à :

You can see that JFFS2 and MTD are enabled. The FLASH memory has been
found by CFI probing and 2 MTD partitions (/dev/mtd0 and /dev/mtd1)
have been created.

 

You can see the MTD partition listing:

/> cd /proc

/proc> cat mtd

dev: size erasesize name

mtd0: 00040000 00038000 "dBUG (256K)"

mtd1: 001c0000 00040000 "user (1792K)"

* Autres liens :

http://www.spinics.net/lists/mips/msg18569.html
http://lists.infradead.org/pipermail/linux-mtd/2003-December/009028.html


Il faudra peut-être recompiler un noyau avec les bons modules.

Conclusions:

  - le noyau i386 2.6.10-5 de la Ubuntu est pourri (physmap qui ne
marche pas).
  - le noyau powerpc 2.6.11 de la Debian tout autant (pas les modules
mtd, etc...).
  - le noyau i386, 2.4.27 de la Debian accepte les modules mais si la
clef apparaît dans /proc/mtd, nous n'avons toujours pas réussi à la
voir dans /dev/mtd* (problème de création des périphériques ?).

Remarque: jffs2 suit le caractère grand-boutiste du système sur
lequel il est créé (changeable par une option de config à la
création).

Supplément:
Grâce à Jean-Marie et Gulliver (Jonathan Swift) nous apprenons :
http://fr.wikipedia.org/wiki/Endianness