Hatt.Droid Posted June 9, 2010 Share Posted June 9, 2010 (edited) Déplacement du dalvik-cache vers /cache Bonjour tous le monde ! J'ai cherché à travers tout internet une méthode spécifique au milestone permettant de réaliser un déplacement du dalvik-cache vers la partition /cache, mais je n'ai rien trouvé... Du coup, j'ai préparer ce tuto en me basant sur la méthode pour le G1. Après un semi-brick de mon milestone, voilà une méthode fonctionnelle pour alléger la mémoire interne de notre terminal ! Ce hack permet un gain d'environ 60 Mio sur la rom sans perte de performance en lecture/écriture car la partition /cache est du même type de mémoire que celle où était le dalvik-cache. Toutefois il empêche toutes les mise-à-jour OTA (la partition /cache n'étant utilisée que pour cela). Pour ceux qui veulent seulement appliquer le hack, qu'il saute ce paragraphe d'explications pompeuses, même s'il est extrêmement important de savoir ce qui se passe réellement sur votre mobile. Pour comprendre un peu ce qui sera réalisé, nous devons savoir que nous n'allons pas déplacer nous-mêmes le dalvik-cache, pour la bonne et simple raison que si nous procédions de cette manière une fois le déplacement du dalvik-cache terminé (en gros un copier-coller, une création de lien symbolique et un changement de groupe et de droit), le système android aura la fâcheuse tendance de le remettre à son emplacement original à chaque redémarrage du téléphone ! Et quand on sait que pour finaliser le déplacement, on doit redémarrer le portable, on se rend très vite compte que ce n'est pas fonctionnel ! Donc la parade va consister à modifier le script du démarrage du phone pour que notre android redéplace à chaque redémarrage notre dalvik-cache à l'endroit désiré. Ce script de démarrage c'est le fichier 'mot_boot_mode'. Enfin bref, voilà pour les explications. Début du guide : Vous aurez besoin des éléments suivants pour réaliser cette opération : - un milestone rooté - un emulateur de terminal sur votre mobile (ou adb sur votre ordinateur même si ce tutoriel ne traitera pas ce cas) - le fichier "mot_boot_mode" fourni avec ce guide - un backup au cas où [Edit0] : Etape préalable Avant tout cela, il se peut que vous deviez monter la partition /system en lecture/écriture (chez certaines personnes elle n'est qu'en lecture, moi je n'en ai pas eu besoin). Pour cela veuillez taper : - si vous êtes en 2.0 : mount -o remount,rw /dev/block/mtdblock7 /system - si vous tes en 2.0.1/2.1 : mount -o remount,rw /dev/block/mtdblock6 /system Même si vous pensez ne pas en avoir besoin, faites le quand même ça ne coute rien et ça n'est pas dangereux ! :) A ce sujet, super tuto et script de Mikadoh pour monter cette partition rapidement en écriture, ici : https://forum.frandroid.com/forum/viewtopic.php?id=10270 [\Edit0] Copiez le fichier 'mot_boot_mode' à la racine de votre carte sd. Voici les commande à exécuter sur le terminal du mobile pour déplacer le dalvik-cache vers la partition /cache : su cd /system/bin cp mot_boot_mode mot_boot_mode.bin rm mot_boot_mode cp /sdcard/mot_boot_mode . chown root.shell mot_boot_mode chown root.shell mot_boot_mode.bin chmod 755 mot_boot_mode chmod 755 mot_boot_mode.bin [Edit1] : Vérification Très important, après toutes ces opérations, vérifier bien que les bons droits aient été mis sur les fichiers créés, pour cela taper dans le repertoire /system/bin/: cd /system/bin/ ls -l (le terminal sur le mon portable ne me permettant pas de taper "ls -l mot_boot_mode*" pour n'avoir que les fichiers concernés par la modif) Et cherchez la ligne décrivant les deux fichiers importants : "mot_boot_mod" et "mot_boot_mode.bin" Vous devriez avoir ceci : -rwxr-xr-x 1 0 2000 [..] mot_boot_mode -rwxr-xr-x 1 0 2000 [..] mot_boot_mode.bin Les informations importantes sont les droits (-rwxr-xr-x) et le propriétaire des fichiers (2000), ces informations doivent être strictement identiques à celles affichées ici.(les [..] indiquent des infos inutiles pour nous dans ce cas là). [\Edit1] Voilà ! Aprés redémarrez le mobile et attendez... ...attendez... ...oui c'est assez long, mais seulement la première fois (copie de l'ancien contenu du dalvik-cache dans le nouvel emplacement) ! Mais après c'est gagné ! ( hommage à Mr. Pringles ;) ) Si vous avez des problèmes, notamment un téléphone qui ne redémarre plus, pas de panique ! Le booloader est toujours accessible et il ne vous reste plus qu'a reflasher un firmware "service version", comme ça aucune perte de données. Si vous avez des questions, ou si vous constatez des fautes dans mon post n'hésitez pas à m'en faire part, je ne suis pas très disponible mais j'essaierais de corriger et de vous répondre au plus vite. Un peu d'indulgence s'il vous plaît, je suis un lecteur habitué du site et du forum mais ce n'est que mon premier post, je ne maîtrise pas encore la mise en forme du message et toutes ces subtilités ! :D Bon courage à tous ! Edited June 11, 2010 by Hatt.Droid Quote Link to comment Share on other sites More sharing options...
floofloo44 Posted June 9, 2010 Share Posted June 9, 2010 Bravo a toi demain je testerais sa ! Quote Link to comment Share on other sites More sharing options...
scope3d Posted June 10, 2010 Share Posted June 10, 2010 salut , Moi ca déconne a la 2eme ligne de code: $ su su # cd /system/bin cd /system/bin # cp mot_boot_mode mot_boot_mode.bin cp mot_boot_mode mot_boot_mode.bin unable to open `mot_boot_mode.bin'# je suis en 2.0.1 Quote Link to comment Share on other sites More sharing options...
Hatt.Droid Posted June 10, 2010 Author Share Posted June 10, 2010 (edited) Bonjour à toi scope3d, S'il te fait cette erreur c'est qu'il considère qu'il n'y a pas de fichier "mot_boot_mode.bin" et... ...c'est normal ! :) En effet c'est le fichier que ne voulons créer avec la ligne "cp mot_boot_mode mot_boot_mode.bin" et donc il n'y est pas. Par contre le fichier "mot_boot_mode" lui, y est forcément par défaut sinon ton motorola ne démarrerais pas. Tu as du inverser l'ordre des paramètre de la commande "cp", et donc assure de taper "cp mot_boot_mode mot_boot_mode.bin" et non "cp mot_boot_mode.bin mot_boot_mode ". Pour info la commande "cp" est de la forme "cp source destination". Astuce : avec certains emulateurs de terminal, tu as l'auto-complétion (comme sur une vrai console avec la touche 'tab' !) qui permet de terminer ta ligne de commande en fonction des fichiers ou des commandes déjà existantes, de cette manière tu ne pourras pas te tromper sur le nom de fichier. Bon courage ! Edited June 10, 2010 by Hatt.Droid Quote Link to comment Share on other sites More sharing options...
Hatt.Droid Posted June 10, 2010 Author Share Posted June 10, 2010 (edited) Salut ! J'ai rajouté deux éditions importantes dans le tuto : - la première concernant un problème de montage chez certaines personnes - la deuxième pour vérifier que tout est bon et éviter de reflasher comme cela m'est arrivé :) S'il y a un problème faites-m'en part ! Ciao ! Edited June 10, 2010 by Hatt.Droid Quote Link to comment Share on other sites More sharing options...
scope3d Posted June 10, 2010 Share Posted June 10, 2010 Yep , ce soir j'ai pas trop le temps de refaire la manip mais si tu regardes bien il ne me semble pas avoir inversé les commandes ; en fait j'ai juste fait un copié collé de mon shell adb .... Bah je t'en dis plus demain la j'ai vraiment pas le temps . En tous cas mille merci pour ta contribution, perso ca m'interresse carrément cette histoire de dalvvik . a pluch Quote Link to comment Share on other sites More sharing options...
math6837 Posted June 10, 2010 Share Posted June 10, 2010 j ai essayé , j'ai chercher les ligne repertoir mot boot mais elle n'y était pas , ne sachant pas quoi faire j'ai reboot et biensur il ne demarre pas , dc je vais tanter mon backup nandroid , que faire si les repertoires non pas été créés ? Quote Link to comment Share on other sites More sharing options...
math6837 Posted June 10, 2010 Share Posted June 10, 2010 ps: le backup nandroid a fonctioné , maintenant que je suis moin en stress je peux reformulé ma question , j'ai suivi toute les étapes mais quand je fait l edit 1, la ligne mot_boot_mode.bin a pour repertoire fichier 5000 quelquechose et il n'y a pas la ligne mot_boot_mode , que faire dans ce cas ? merci bcp de vos réponses !! Quote Link to comment Share on other sites More sharing options...
Hatt.Droid Posted June 11, 2010 Author Share Posted June 11, 2010 Salut à tous, - pour math6837 : La commande suivante permet de copier le fichier mot_boot _mode de la carte sd vers le répertoire /system/bin: cp /sdcard/mot_boot_mode ./ Il faut bien voir le caractère "point" (".") à la fin de la ligne dans le tuto, sinon pour être sûr tu peut taper : cp /sdcard/mot_boot_mode /system/bin/ Pour le problème de droit, revérifie les après avoir taper les commandes suivantes (bien sûr avec les deux fichiers présents dans /system/bin/) : chown root.shell mot_boot_mode chown root.shell mot_boot_mode.bin chmod 755 mot_boot_mode chmod 755 mot_boot_mode.bin Il est vrai que pour les droits, moi aussi j'ai constaté ce phénomène : la commande parfois ne passe pas du premier coup. Il ne faut prendre cela à la légère et il vaut mieux réessayez plusieurs fois avant de rebooter, car même si les fichiers sont présents, si les droits sont mauvais le téléphone ne bootera pas. - pour scope3d : J'ai bien peur de ne pas comprendre, comment peut il te donner cette erreur alors que tu met "mot_boot_mode.bin" en paramètre d'écriture (destination), la commande cp n'est pas codé de manière à vérifier la non-existence du fichier de destination (j'ai étudié le code durant mes étude ;) ) par contre pour la source "mot_boot_mode", oui. C'est pourquoi d'ailleurs je pensais que tu avais inversé source et destination (sans savoir que c'était un copier-coller du shell). Je continue à y réfléchir mais c'est vrai que je ne vois pas trop où est le problème pour l'instant... Je rappelle que je réalise toutes mes commandes directement sur le téléphone grâce à un émulateur de terminal (chercher "terminal" sur le market il y en a des gratuits) et non avec adb, car j'ai eu des problèmes par le passé (même si il ne devrait pas trop y avoir de différences entre les deux). De plus, on a la chance d'avoir un joli clavier donc autant en profiter pour s'affranchir de l'ordinateur. :P J'ai vérifié sur mon milestone, tous les fichiers sont bien présents au bon endroit et avec les bonts droits, je ré-éxecuterais peut-être le tuto après un restore sur mon téléphone si j'ai le temps. J'espère que je ne répond pas à coter de vos questions, n'hésitez pas à me donner des nouvelles. Bon courage ! :) Quote Link to comment Share on other sites More sharing options...
gregosor78 Posted June 11, 2010 Share Posted June 11, 2010 Perso j'ai constaté que le root.shell (de chown root.shell) me renvoyait un user inconnu en passant par ADB. Bref tout par ligne de commande depuis le terminal et ca marche nickel. Quote Link to comment Share on other sites More sharing options...
Hatt.Droid Posted June 11, 2010 Author Share Posted June 11, 2010 (edited) Salut gregosor78, Ça me rassure qu'il y ai enfin une personne chez qui sa marche, je commençais à croire que j'avais un milestone "magique" sur lequel ça fonctionne ou que mon tuto était complètement pourri... :/ En tout cas, c'est cool pour toi, content que ça marche ! Edited June 11, 2010 by Hatt.Droid Quote Link to comment Share on other sites More sharing options...
Slig Posted June 11, 2010 Share Posted June 11, 2010 En fait j'avais déjà un post sur le déplacement du dalvik-cache : https://forum.frandroid.com/forum/viewtopic.php?pid=147289#p147289 Mais bon c'était mélangé avec le app2sd, donc un tuto plus spécifique c'est bien aussi ;) Quote Link to comment Share on other sites More sharing options...
math6837 Posted June 11, 2010 Share Posted June 11, 2010 merci pour tes réponses hatt.droid !! j'ai rééssayé et ça a fonctionné nikel !!merci bcp pour le tuto , juste une quetsion comment faire la manip inverse pour pouvoir refaire des MAJ OTA au cas ou ? Quote Link to comment Share on other sites More sharing options...
Slig Posted June 12, 2010 Share Posted June 12, 2010 (edited) merci pour tes réponses hatt.droid !! j'ai rééssayé et ça a fonctionné nikel !!merci bcp pour le tuto , juste une quetsion comment faire la manip inverse pour pouvoir refaire des MAJ OTA au cas ou ? Il faudrait remplacer la fin du script par un truc comme ça (puis rebooter) : # remove old symlink, if exist if [ -h /data/dalvik-cache ] ; then rm /data/dalvik-cache # make original dalvik-cache directory mkdir /data/dalvik-cache chown system.system /data/dalvik-cache chmod 771 /data/dalvik-cache rm -r /cache/dalvik-cache fi (ca teste si /data/dalvik-cache est un lien, et si oui ça le remplace par un rep comme l'origine, et supprime celui dans /cache) Par contre il faut avoir assez de place sur /data pour que le cache y soit recréé ! D'ailleurs.... quand on deplace le cache, il est bien de désactiver les mises à jour OTA dans la config du tel !!! Edited June 12, 2010 by Slig Quote Link to comment Share on other sites More sharing options...
Hatt.Droid Posted June 12, 2010 Author Share Posted June 12, 2010 Super Slig pour le script ! Mais je me dis qu'il suffirait juste de virer le "mot_boot_mode" modifié, renommer le "mot_boot_mode.bin" en "mot_boot_mode" (comme la config originale), remettre bien sûr les bons droits, et compter sur le fait qu'Android remet à chaque démarrage le dalvik-cache au bon endroit. L'avantage c'est qu'on revient exactement dans la config originale du portable et qu'il n'y a que 3 lignes de commande à passer. Je n'ai pas essayé encore, mais ça me parait fonctionnel. A tester ! Pour ton tuto, en effet je l'avais trouvé en recherchant les termes "dalvik-cache" sur le forum, mais j'avais un peu de mal à différencier les étapes pour le dalvik-cache et les étapes pour l'app2sd, du coup j'ai laissé tomber car j'avais un peu peur de mettre mon milestone neuf d'une semaine en l'air :mad: . Comme j'aime bidouiller, j'ai préferé recommencer du début et faire que ce qui m'intéressais : le dalvik-cache. Ce qui est marrant c'est que maintenant quand je relis ton tuto je me rends compte de la différence entre les deux (app2sd et dalvik-cache) et je me dis que mon tuto ne sert à rien :lol: Mais bon je me rassure en me disant que je n'étais sûrement pas le seul à ne vouloir que le dalvik-cache déplacé ;) En continuant à bidouiller, on va pouvoir faire des trucs de fou avec nos mobiles, d'ailleurs je prépare un tuto sur comment faire le café avec son Android, et il y aura peut être une option chocolat chaud ! ;) Plus sérieusement, merci Slig en tout cas pour ton tutos sur app2sd+dalvik-cache et ton script sur ce thread, c'est cool ! Quote Link to comment Share on other sites More sharing options...
scope3d Posted June 12, 2010 Share Posted June 12, 2010 Salut Hatt Je viens de reprendre le tuto avec un terminal directement sur le téléphone et je n'ai pas rencontré de soucis de commandes particulier. En revanche quand je fais un ls -l pour vérifier avant de rebooter, les fichiers sont bien présents mais je n'ai pas exactement la même syntaxe que décris plus haut , moi j'ai ca: -rwxr-xr-x root shell 559 "date:heure" mod_boot_mode -rwxr-xr-x root shell 5508 "date:heure" mod_boot_mode.bin Avant de rebooter j'aimerais savoir si ca veut bien dire la même chose . En fait j'ai déja fait une fois la manip , la commande ls -l me renvoyait le même code mais au moment du reboot le tel est resté collé sur le logo de démarrage . Du coup j'ai reflashé vite fait et je me suis remis en 2.0.1 rooté . A titre indicatif le déplacement du cache prends environ combien de temps ? peut etre que je n'ai pas attendu assez longtemps (40 mn environ) ? Quote Link to comment Share on other sites More sharing options...
scope3d Posted June 12, 2010 Share Posted June 12, 2010 Bah finalement , je viens de le rebooter et ca marche nickel , Un énorme merci pour ton ton tuto , c'est clair que ca fait de la place . Quote Link to comment Share on other sites More sharing options...
Slig Posted June 12, 2010 Share Posted June 12, 2010 Mais je me dis qu'il suffirait juste de virer le "mot_boot_mode" modifié, renommer le "mot_boot_mode.bin" en "mot_boot_mode" (comme la config originale), remettre bien sûr les bons droits, et compter sur le fait qu'Android remet à chaque démarrage le dalvik-cache au bon endroit. J'irai pas parier la dessus. Et de même, de manière naturelle le rep cache mis dans /cache il ne le virera pas Après oui, tu peux aussi remettre (toutes) les choses en place à la main et rebooter Quote Link to comment Share on other sites More sharing options...
Sakazaki Posted June 17, 2010 Share Posted June 17, 2010 Merci pour ce tuto! Marche nickel! Par contre j'ai pas réussi avec "connectbot" j'ai du utilisé "better terminal emulator" Quote Link to comment Share on other sites More sharing options...
Hatt.Droid Posted June 17, 2010 Author Share Posted June 17, 2010 (edited) Merci pour ce tuto!Marche nickel! Par contre j'ai pas réussi avec "connectbot" j'ai du utilisé "better terminal emulator" Content que ça ai pu t'aider Sakazaki ! Moi aussi j'utilise "better terminal emulator" qui est juste excellent (par contre payant malheureusement). Pour les gratuits, comme j'ai du dire quelques messages plus haut, il y en a des parfaitement fonctionnels sur le market, l'appli "Android Terminal Emulator" de Jack Palevich ou "Terminal Emulator" de ZTA Technologies, pour ne citer qu'elles, fonctionnent parfaitement. Edited June 17, 2010 by Hatt.Droid Quote Link to comment Share on other sites More sharing options...
laboule Posted June 18, 2010 Share Posted June 18, 2010 bon alors moi ça m'a bien fait planté mon milestone, et je sais pas trop pourquoi, mais le market voulait plus télécharger d'appli puis toutes les applis se sont mise à planter heureusement j'avais fait un backup nandroid juste avant Quote Link to comment Share on other sites More sharing options...
Orsted Mist Posted September 23, 2010 Share Posted September 23, 2010 (edited) ... Edited September 25, 2010 by Orsted Mist Quote Link to comment Share on other sites More sharing options...
math6837 Posted September 24, 2010 Share Posted September 24, 2010 (edited) @Orsetd mist : Sympa ton premier post , premierement t'as aucune crédibilité par le simple fait que ce soit ton premier post , deuxièmement ce hack déplace le dalvik cache de /data a /cache , ce qui te permet un gain de mémoir interne sans endommager du tout ton mobile , mais ça tu le sait pas parce que t'es inscrit depuis hier. En bref tu débarques , tu tentes d’humilier un vrai membre du forum , tu te rates , c'est quoi la suite ? tu te désinscrit et tu revend ton milestone ? Ps: Hatt droid ne voulait pas passé pour un virtuose , mais faire un petit tuto simple pour les gens en galère de mémoire... toi en revanche si par ton post tu voulais essayer de montrer que t'avais "des connaissances" saches que c'est raté , t'es juste passé pour un bouffon. Edited September 24, 2010 by math6837 Quote Link to comment Share on other sites More sharing options...
Orsted Mist Posted September 24, 2010 Share Posted September 24, 2010 (edited) ... Encore un bidouilleur qui bande en tapant trois lignes de commande ! ne t'inquiète pas Mathieu COHEN j'ai vais avoir l'occasion de te revoir sur la toile Edited September 25, 2010 by Orsted Mist Quote Link to comment Share on other sites More sharing options...
Hatt.Droid Posted September 24, 2010 Author Share Posted September 24, 2010 Salut Orsted Mist, Bon pour dire vrai, vu la forme objectivement impolie et non constructive de tes messages j'hésite entre répondre ou pas. Bon allez, on va répondre quand même. :P Pour répondre rapidement aux premières accusations : - je ne prétend pas être un virtuose. - ok si le mot "hack" ne te plait pas, c'est pas grave ! C'est pas ça qui va changer le fond du tuto ! - je n'ai de compte à rendre à personne concernant la compréhension des commandes que je propose. - les commandes sont expliquées (du mieux que je peux) dans le tuto pour les néophytes aux commandes de type sh (bash, csh & cie - généralement ce qui a sur GNU/Linux -) - j'ai essayé d'assister les personnes quand elles avaient un problème sur le téléphone Je suis d'accord que la manipulation n'est pas difficile, mais ce n'est pas le but du tuto, le but c'est juste de proposer de manière très simplifiée et didactique comment gagner de la place sur la rom pour installer plus d'applications. Rien d'autre ! Au fond que ce soit facile, tant mieux ! Il y a un tas de personnes qui débutent sur Android sans même connaître le lien avec GNU/Linux voire même l'existence de ce système, donc proposer un tutoriel m'a parut utile (ne serait-ce que pour faire savoir qu'il est possible de gagner de la place sur la rom du Milestone). Apparemment, d'autre membres du forum ont trouvés ça utile... Si mon utile est nase et sans intérêt j'en appelle aux modérateurs pour supprimer tout le post et ce sera réglé. Je ne donnerais pas suite à cette conversation, je pense avoir répondu à toutes accusations concernant ce tuto et me concernant, trouver d'autres problèmes serait vraiment de la mauvaise foi. Cordialement, Un gros nul avec "juste" 10 ans d'Unix dans les pattes sur a peu près le double de vie humaine mais à part ça je comprends rien à ce que je tape. :P PS : - Il ne faut pas se fier à mon nombre de post, je n'en ai qu'une dizaine pourtant je suis sur le forum (section Milestone) quasiment tous le temps. - J'en appelle aux modérateurs pour la suppression des derniers messages qui ne servent à rien au fil de discussion. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.