Sujet : [Flasher son tél] Cours sur Odin et les bases d'Android et du Spica
Ceci est un cours complet qui porte sur :
- Le logiciel Odin
- La composition des firmwares (ROMs)
- Quelques bases sur le Spica, notamment l'organisation des partitions
- Les savoirs de base pour utiliser tout cela.
Avant de commencer, le dictionnaire de nounours :
Flash, flasher = Flasher son téléphone veux dire remplacer le firmware de son téléphone par un autre.
Firmware : synonyme : ROM = Le système d'exploitation du téléphone. Dans le cas du Spica, android. C'est un peu comme le windows de votre ordinateur.
Odin = Logiciel NON OFFICIEL, qui s'est échappé des serveurs de samsung on ne sait pas comment. C'est le logiciel qui permet de flasher le Spica.
Fichier OPS = Fichier qui contient une liste des partitions du téléphone, ainsi que le fichier qu'odin doit flasher dans cette partition.
Hub USB = Je déconseille très fortement de brancher votre téléphone sur un hub usb.
Garantie = Perdue. Vous oubliez. Faire un flash avec Odin est une méthode complétement non officielle. Même si vous remettez votre firmware d'origine, ou que vous mettez celui proposé par New Pc Studio, vous devez connaitre les risque et les accepter.
Commençons par le commencement :
Note: en général, les fichiers sont au format .zip ou .rar, pensez a les extraire. Les fichiers .tar ne sont pas a extraire, il doit restés tel quel.
Télécharger Odin Multi Downloader ici : http://www.megaupload.com/?d=J2JCKWQ9
Fichiers OPS : Pour les versions 1.5 et pour les versions 2.1
Télécharger une des ROMs disponibles :
L'une des roms de fabricez : ROM Fabricez 2.1.5, d'autre
versions sont disponibles sur le forum, ou
l'une des roms opérateur ou originale samsung : http://www.frandroid.com/forum/viewtopic.php?id=9181
Je conseille également l'excellent utilitaire IZArc, gratuit, et qui supporte une multitude formats : http://www.izarc.org/
Maintenant sachez que
Odin ne fonctionne pas si New Pc Studio tourne dans la zone de notification !
On commence donc par enlever ca :
Cliquez comme indiquez sur "Fermer la surveillance de connexion du périphérique"
Avant d'utiliser Odin, il faut s'assurer que les drivers son installés.
Pour cela vous devez démarrer votre en 'download mode' :
- Éteignez le téléphone
- Appuyer et maintenez appuyer les boutons : volume bas, photo, raccrocher le téléphone vas s'allumer et afficher ca :
- Branchez le téléphone sur l'ordinateur est allez dans le gestionnaire de périphérique de windows.
Vous devez trouver dans les périphériques USB le Samsung USB composite device :
Si vous ne l'avez pas, recommencez le démarrage du téléphone et la connexion.
Si
vous avez un périphérique non reconnu, réinstallez les drivers. (Lien a
mettre vers un tutoriel a créer. Pour l'instant démerdez vous !)
Vos drivers sont corrects ? Si oui :
- débranchez votre téléphone
- Enlevez et remettez la batterie
C'est partit pour le cours !!
1.1 - Odin, présentation
Odin
est un logiciel d'origine Samsung, qui n'est pas distribué par des
voies officielles. Il est très certainement issu d'une fuite d'un
serveur samsung.
Odin est un logiciel qui permet de flasher son téléphone avec un nouveau firmware.
Odin permet de flasher quasiment n'importe quoi dans sont téléphone, a cause de sont principe de fonctionnement.
Donc si vous mettez n'importe quoi dans Odin, il y a de forte chance de bousiller son téléphone.
Rappel : Pour utiliser Odin sur Windows 7, vous devez l'exécuter en mode de compatibilité Windows XP SP3 et l'exécuter en tant qu'administrateur.
Ces options sont disponibles lorsque vous faites un clic droit sur le fichier de Odin et choisissez Propriétés
1.2 - La fenêtre de Odin
C'est normalement ce que vous avez sous les yeux quand vous lancez Odin. Si ce n'est pas le cas, vous êtes officiellement un boulet!
1.3 - Le fichier OPS
Le fichier OPS est un simple fichier texte (que vous pouvez ouvrir avec le bloc note) qui contient la liste des partitions du téléphone, et ce que odin doit envoyer dedans comme fichiers.
Regardons ce que contient le fichier spica.ops, première version pour android 1.5 :
0,boot
1,Sbl
2,logo
3,zImage
4,factoryfs
5,datafs
6,cache
7,
8,modem
9,efs
A noter que les toutes premières versions du spica.ops qui sont apparues, on la ligne "6, " et non pas "6,cache" car a l'époque on ne savait pas ce qu'était la partition cache (ou elle était, a quoi elle servait, quoi y flasher).
Le fichier spica_jc3.ops contient quasiment la même chose, la différence se situe la :
4,datafs
5,factoryfs
Vous notez la différence ? Les partitions data et factory on été inversées. Ceci est due a un problème de taille des partitions et des fichiers dans les ROM d'android 2.1, la partition 4 était trop petite pour accueillir le système, mais était suffisamment grande pour la partie data, et inversement.
Ce qui signifie que pour flasher une rom 1.5, ou une rom 2.1, ce n'est pas le même fichier OPS, faites bien attention !
1.4 - le contenu d'une ROM
Le contenu des firmwares est très varié, certains comprennent le minimum vital pour le système, d'autres contiennent tous les fichiers du téléphone, certains on le boot.bin et pas d'autres, etc ...
Nous allons voir ensemble le contenu d'une ROM complète telle que la XEIL5.
Téléchargez le fichier http://uploadhyper.com/file/18803/XEIL5 … s.rar.html et décompressez le dans un répertoire de votre choix.
Voila ce que vous allez trouver :
Regardons le contenu de ces fichiers
1.4.1 - Le fichier Bootloader.tar
Ouvrez le fichier avec IZArc (par exemple). On trouve dans cette archive les fichiers suivants :
- boot.bin
- logo.png
- Sbl.bin
BOOT.BIN
C'est
le bootloader, c'est a dire le chargeur de démarrage du téléphone. Il
est en format .bin : un fichier binaire en langage machine, où tous les
octets sont mis a la suite, afin de permettre la bonne exécution de son programme.
C'est le premier programme exécuté par le téléphone. Il sert principalement a :
- Initialiser basiquement le téléphone
- Regarder les boutons pressés lors de l'allumage
- Lancer le 'download mode', le 'recovery mode' ou continuer le démarrage du téléphone
Donc 99% du temps, une fois qu'il a finit de s'executer, il passe la main au Secondary Boot Loader.
SBL.BIN
C'est le Secondary Boot Loader.
Il est aussi en format .bin, directement exécutable.
C'est lui qui est responsable de charger le kernel.
Vous
comprendrez donc que, pour préserver la sécurité lors du flashage de
votre téléphone, il est préférable d'avoir une bonne raison pour
laisser ces deux fichiers dans la rom avant de la mettre dans Odin.
Ceci afin de pas risquer une erreur qui rendrait votre téléphone inutilisable.
Quand faut il flasher le boot.bin et le Sbl.bin ?
Et
bien quand vous désirer passer de Android 1.5 a Android 2.1, et vice
versa. Si vous ne changez pas de version, ce n'est pas nécessaire.
LOGO.PNG
C'est tout bêtement le logo qui est affiché en tout premier au démarrage, et pendant le chargement du kernel.
Je vois d'ici votre envie de le modifier alors attention :
TOUTE MODIFICATION NON MAITRISE DU LOGO, PEUT RENDRE VOTRE TÉLÉPHONE INUTILISABLE
Et on a déjà eu le cas sur le forum, d'un téléphone qui a fini au SAV a cause cela.
Si vous voulez modifier le logo, n'oubliez pas qu'il doit IMPÉRATIVEMENT :
- faire 320 par 480 pixels (largeur x hauteur)
- être moins gros que les 384ko de la partition qui le contient, mais attention on a pas tester la limite de taille, il est possible que ce soit moins que ca.
- enregistrer impérativement au format PNG et en 24bits (profondeur de couleur, ou autre selon le logiciel)
SURTOUT PAS DE 32Bits sinon c'est SAV direct.
Vous êtes prévenus.
1.4.2 - Le fichier Phone.tar
Dans notre cas (je rappelle qu'on regarde la rom XEIL5), il contient le fichier modem.bin. Encore une fois, c'est un format binaire.
Ce fichier est supposé être le responsable de tout ce qui passe coté téléphonie sur votre appareil. Les appels, les sms, la 3G, le support du téléphone en modem internet, etc ....
Ce fichier est en principe présent dans la rom, mais si il ne l'est pas, le mieux est de prendre celui de la version précédente de la rom.
Rappel de précaution : on ne passe pas d'android 1.5 a 2.1 sans flasher un nouveau modem.bin.
Cas général : toujours flasher un modem.bin, même si c'est la version précédente. En cas de doute, préférez demander au lieu de flasher sans savoir.
Nous ne possédons que très peu d'infos sur le modem.bin, alors j'en appel a votre prudence et a votre bonne intelligence, faites attention avant de flasher, après c'est trop tard.
1.4.3 - Le fichier PDA.tar
Il contient les fichiers suivants :
- datafs.rfs
- factoryfs.rfs
- zImage
C'est le cœur du système android. Voyons cela plus en détail, et par le début.
ZIMAGE
C'est
le kernel, = le noyau du système. Pour le système android, il s'agit
d'un noyau linux, version 2.6.27 ou 2.6.29 selon la version d'android,
respectivement 1.5 et 2.1.
Le zImage c'est le fichier qui contient le kernel, une fois la compilation terminée.
Dans
le cas d'android, on part des sources du kernel linux, auquel on
applique des patchs qui modifie le code source, on ajoute les drivers
des périphériques spécifiques du téléphone, et on compile.
Enfin on
fait plus une 'cross compile' pour obtenir du code exécutable sur les
architectures ARM, la technologie du processeur principal présent dans
le téléphone.
Certaines personnes on réussis a re-compiler le
kernel pour ajouter certaines fonctions, mais cela nécessite des
connaissances très avancés sur l'architecture du processeur, linux, et
autres dont on ne fera pas le détail ici.
Sachez tout de même qu'un re-compilation est nécessaire pour obtenir certaines fonctionnalités tels qu'un firewall.
FACTORYFS.RFS
Il contient le système android en tant que tel.
C'est
a dire : le répertoire system, les librairies, les applications de
base, la machine java, les icônes, images, etc etc etc ... qui sont
inclus dans android.
Sans ce fichier, android n'existe pas.
DATAFS.RFS
Il contient plusieurs fichiers qui sont dans le répertoire data du téléphone.
On
y trouve entre autres quelques fichiers intéressants tels que la
configuration des widgets, des applis installées, du papier peint etc
etc...
Il est bien sur indispensable pour le fonctionnement d'android
LE FORMAT .RFS
C'est le format de la partition sur lesquels ces fichiers sont flashés.
Il
s'agit d'un format propriétaire samsung, basé sur le système FAT, avec
l'ajout d'un journal et d'un système pour économiser les cycles
d'écriture de la mémoire flash du téléphone.
A ce jour, et a ma connaissance, il existe un petit script pour décompresser ce format, mais mon essaie s'est avéré infructueux pour faire des modifications : absence de fichiers essentiels, fichiers illisibles, etc ...
1.4.4 - Le fichier CSC.tar
Il contient le fichier cache.rfs.
C'est
le contenu de la partition cache du téléphone. En général ce fichier
n'est pas nécessaire pour le flash d'une rom, mais quand il est
fournis, mieux vaut le mettre !
A noter que pour rooter un téléphone sous android 2.1, on utilise le fichier cache.rfs fournis par LeshaK du forum samdroid, et que apparemment on doit pouvoir injecter des modifs système par ce biais. Mais comme on sait pas gérer le format RFS, on continue de tourner en rond pour l'instant en ce qui concerne d'autres modifs.
1.5 - Les spécificités de Odin (ie, les trucs a savoir)
Odin est sensible au nom des fichiers que l'on met dans une rom, ainsi vous recevrez des messages d'erreur si :
- Le nom du .tar ne contient pas PDA, Boot, phone, csc
- Les fichiers a l'intérieur des .tar ne correspondent pas a ce que l'on viens de voir (modem, zImage, logo, etc...)
- non vérifié : le contenu des boot.tar, phone.tar, et csc.tar. Je veux dire par la que pour certaines rom, les fichiers cache.rfs et modem.bin sont contenus dans le PDA.tar, mais nous n'avons pas essayer d'y mettre un boot.bin ou autre fichier. Ne pas prendre de risque inutiles, c'est bien mieux pour nos téléphones.
1.6 - Cas particulier : les fichiers 'One Package'
Odin dispose d'un mode particulier, le système 'One Package'.
Concrètement, on met dans le fichier .tar tous les fichiers :
- boot.bin
- cache.rfs
- datafs.rfs
- factoryfs.rfs
- logo.png
- modem.bin
- Sbl.bin
- zImage
Bien entendu, il peut manquer certains fichiers, tout dépend de la ROM et/ou de ce que l'on veux flasher.
1.7 - Le Samsung Letter Code
Toutes les roms répondent a un code précis, qui permet de savoir (en gros) :
- Version 1.5 (CUPCAKE) ou 2.1 (ECLAIR)
- Les pays pour lesquels la ROM est conçue, et donc les langues disponibles
- L'année de la ROM
- Le mois
- Et un chiffre qui permet une indication sur la version.
Exemple : ROM I5700XEIL5 :
-I5700 : indique que c'est une ROM pour le I5700 (ca tombe bien, c'est pour le spica !)
-XE : c'est pour la localisation, ici XE = Bulgaria, Estonia, Kazakhstan, Latvia, Lithuania, Russia, Ukraine
Le meme code indique aussi les langues disponibles : XE = en,et,lt,lv,ru,uk(az,bg,de,fr,ka,kk,mk,ro,sr)
-I : indique l'année : 2009
-L : indique le mois : décembre
-5 : indique le numéro de la version produite pendant le mois indiqué : 5ème version du mois de décembre 2009
Autre exemple : ROM I570EXXJCE :
-I570E : indique que c'est une ROM pour le I5700, le E indique que c'est une version Eclair 2.1
-XX = Austria, Belgium, France, Germany, Hungary, Italy, Spain, United Kingdom
Langues disponibles : XX = de,en,es,fr,hu,it,nl,pt(cs,da,el,fi,no,pl,sl,sv,tr)
-J : indique l'année : 2010
-C : indique le mois : mars
-E
: indique le numéro de la version produite pendant le mois indiqué : E
= 15 en hexadécimal : 15ème version du mois de mars 2010
Le code complet est disponible ici : Samsung Letter Code
A noter qu'a ce jour, et a ma connaissance, aucune rom n'existe pour d'autres version que android 1.5 et android 2.1. Dans pas de version 1.1,1.6 ou autres.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Assez de théorie, on passe au cours pratique !
2 - Rappels
Vous n'êtes pas obligé de flasher tous les fichiers d'une ROM, et même je vous le déconseille. Cependant, vous devez maintenant savoir quoi flasher et quand.
Piqure de rappel :
- Avec windows 7, toujours exécuter Odin en mode de compatibilité XP SP3 et en Administrateur
- Toujours fermer le programme résident de New Pc Studio avant de lancer Odin
-
On ne flash le boot.bin et le Sbl.bin uniquement quand on change de
version d'android, ou de localisation de la ROM (voir le 'Samsung
Letter Code')
- On ne change le logo.png que si on est sur de ce que l'on fait
- On flash toujours les factoryfs.rfs, datafs.rfs, sinon on ne flash pas. (Vous n'installez pas windows avec un cd vierge !)
- Si disponible, on flash le fichier cache.rfs
- On flash toujours le fichier modem.bin correspondant, ou a défaut, celui de la version précédente.
- On flash toujours avec le fichier OPS correspondant a la version d'android que l'on veux installer.
En général, on regarde bien ce que l'on fait, on vérifie deux fois, on regarde le contenu des fichiers .tar etc etc ... Rien d'autre que du bon sens !
2.1 - Les boutons de Odin
Toujours commencer par cliquer sur le bouton RESET FILE, pour effacer les fichiers choisis au flash d'avant.
Selon le contenu des ROMs, vous devez soit :
Mettre
les fichiers blabla-Bootloader.tar, blabla-Phone.tar, blabla-PDA.tar et
CSC.tar, en cliquant sur les boutons correspondants.
Dans ce cas la case 'One package' a droite doit être vide, et la case a cocher a gauche 'One package' doit être décochée.
Soit mettre le fichier 'One Package' dans la case correspondante, et cocher l'option 'One Package' a gauche.
Faites attention, souvent après plusieurs on peut se tromper sur ce détail.
2.2 - Les options de Odin
Maintenant on va voir l'utilité des différentes cases a cocher disponibles dans la partie gauche.
One Package
Si vous avez suivit le cours, vous devez savoir quand l'utiliser
Reboot
Coché
par défaut. Je suppose que ca fait rebooter le téléphone a la fin du
flash, mais personne, a ma connaissance, n'a oser le décocher.
Laissez le coché !
Protect OPS
Coché par défaut. Idem que Reboot, laissez le coché ! Personne ne sait ce qu'il pourrait arriver si cette case n'est pas cochée.
Reset Time
Il me semble que c'est le temps (en secondes) entre le moment où Odin commence le flash, et il déclare que le flash s'est passé correctement.
La valeur par défaut de 300 est très bien.
N'y touchez pas !
Debug ONLY
Active les options de débug.
Vous ne devriez jamais en avoir besoin, mais le cocher amène 4 autres options :
- Parameter clear
- Phone EFS Clear : NE COCHEZ JAMAIS CETTE OPTION, vous risquez d'effacer votre IMEI et d'autres infos CAPITALES !
- PDA Format
- Phone Boot Update : NE COCHEZ JAMAIS CETTE OPTION
En gros: NE COCHEZ JAMAIS la case Debug ONLY.
2.3 - Flasher le téléphone !
Une fois que vos fichiers sont prêts a être flashés, NPS coupé, que vous avez bien compris que vous perdez la garantie du téléphone, vous pouvez allumer le téléphone en mode download, puis le brancher a votre ordinateur.
Odin devrais maintenant reconnaitre votre téléphone et afficher quelque chose comme :
Vérifiez une dernière fois la fenêtre de Odin, et cliquez sur le gros bouton "Start" !
La case 'Message' devrait afficher l'avancement de la procédure de flash.
Une
fois terminé, le téléphone redémarre, quand vous voyez le logo du
téléphone s'afficher, peut après vous devriez voir une barre grise
progresser en bas de l'écran : c'est le chargement du kernel.
A ce moment la, vous pouvez débrancher le cable USB et fermer Odin.
2.4 - Les messages d'erreurs
Odin reste bloqué sur "setup connection"
Si vous avez windows 7, vérifiez que vouz l'exécutez en mode de compatibilité XP SP3 et en Administrateur.
ET/OU : Vous avez laisser tourner le programme résidant de NPS.
Enlevez la batterie, coupez NPS et recommencez.
Odin affiche : Invalid Image Type
Vérifiez les noms de vos vos fichiers, et que vous mettez bien le bon fichier au bon endroit.
Odin affiche : Check image files
Vérifiez :
Si vous flashez un 'One package' sans avoir coché l'option, et inversement.
Odin affiche dans la case Message : e - unknow file - 'cache.rfs"
Vérifiez votre fichier OPS. Voir le cours.
Odin affiche : Please connect phones
Votre téléphone n'est pas branché ou pas reconnu.
Vérifiez que vous avez bien brancher le téléphone, et pas sur un hub usb.
Vérifiez les drivers.
Odin affiche dans la case Message : e - big partition size
Veuillez utiliser IZArc pour créer et/ou modifier vos archives .tar.
Ce message apparait car une des archives a un format de compression incorrect.
Dernière modification par nounours (05-04-2010 23:52:10)