[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