Aller au contenu

[GUIDE] Partitionner manuellement sa carte SD


avatar

Recommended Posts

Traduction libre ( mais précise!) du Tuto de Blay0 sur le partitionnement de la carte SD

En raison de termes techniques employés dans le tuto d'origine, le fond du tuto ne sera pas traduit ici, mais je m'engage à vous apporter toute l'aide et/ou compréhension possible. En effet, à l'origine, ce [HOWTO] a été fait pour être un didacticiel!!!

I / REQUIS

* Téléphone Rooté

* busybox installé

* parted (optionnel)

* Sauvegarde de votre SD card (optionnel)

* calculatrice

II / PREREQUIS

Le SDK d'android installé et fonctionnel ( pas de problème avec ADB )si saisies à partir d'un ordi.

Une compréhension globale des partitions, secteurs, blocks, bytes et autres...

Une machine avec un terminal, ou un émulateur de terminal.

III / INSTRUCTIONS

N.D.T : seule la méthode par fdisk sera traduite ici.

Pourquoi? c'est la seule que j'ai faite, elle fonctionne parfaitement, et c'est la seule sur laquelle je pourrai apporter de l'aide.

Cette méthode utilise fdisk, qui fait entre autre partie de Busybox.

Elle peut être utilisée à partir de tout terminal permettant l'adb shell. Mais aussi à partir du téléphone, d'un émulateur de terminal.

// !! \\ Des soucis de compatibilités avec windows obligeront les utilisateurs de cet OS après toute la procédure, à formater directement depuis le PC la partition de la carte Sd en Fat32.

La partition ext2/3/4 ne sera pas touchée, vu que windows ne la reconnaît pas. // !! \\

La première des choses à faire est de désactiver ( ou démonter ) la carte sd du téléphone:

Paramètres --> Carte sd et mémoire --> Désactiver la carte sd.

Puis lancer un terminal, se placer dans le répertoire /tools du sdk, et lancer le shell....

(sauf si vous êtes déjà sur le Legend avec terminal emulator par exemple)

La deuxième chose à faire est d'effacer les premiers blocs de votre carte sd ( les deux premiers MB ) en utilisant l'utilitaire dd:

Il faut donc dans votre terminal taper cette commande :

dd if=/dev/zero of=/dev/block/mmcblk0 bs=131072 count=16

Ce qui va effacer le secteur d'amorçage de votre carte, et remplacer les 2 premiers MB de votre carte sd par des caractères nuls. On peut alors commencer le partitionnement avec fdisk.

Comme cela a été dit, fdisk est un utilitaire (interactif) qui est compris dans busybox, il est donc entièrement opérationnel sous le répertoire /system/xbin

Vous pouvez maintenant lancer fdisk en le pointant vers votre carte sd (rappel de son appellation: dev/block/mmcblk0 ) et avec les paramètres/arguments suivants :

fdisk /dev/block/mmcblk0

... ce qui va vous renvoyer plusieurs informations sur votre écran, n'en tenez pas compte mais lisez par curiosité, et vous ouvrir une commande interactive qui vous sera affichée comme tel :

Command (m for help):

... Vous pourrez la quitter à tout moment en pressant [CTRL+C]. ( Seule la dernière étape ré-écrira les partitions, la marche à suivre restant en mémoire )

Ensuite vous allez changer l'arrangement des secteurs ( réel partitionnement), en tapant "u" et "entrée", s'affiche alors:

Command (m for help): u
Changing display/entry units to sectors

... Vérifiez bien que vous avez une ligne de ce type:

Units = sectors of 1 * 512 = 512 bytes et pas de ce type Units = cylinders of 64 * 512 = 32768 bytes.

Si vous avez le deuxième cas, refaîte la commande "u" de l'étape précédente. Ceci pour partir sur les mêmes calculs que le tuto ( en secteur et pas en cylindres... )

... Vous tapez ensuite "p", puis " entrée" Cela vous affiche les infos actuelles de votre carte sd. Il s'agit ici de l'exemple de MA carte, vous aurez des infos différentes, d'où l'utilité de la calculatrice...

Command (m for help): p

Disk /dev/block/mmcblk0: 8018 MB, 8018460672 bytes
4 heads, 16 sectors/track, 244704 cylinders, total 15661056 sectors
Units = sectors of 1 * 512 = 512 bytes

             Device Boot      Start         End      Blocks  Id System

Et c'est là que le plus compliqué commence.

On part de l'exemple d'ici, avec les chiffres du tuto...

Que voit on? une carte sd de 8G, plus exactement 8018MB, soit 8018460672 bytes.

Soit un total de 15661056 secteurs de 512 bytes chacun, ce qui fait 7647 MB si on les divise par 2048 (512x4 = 2048)

Votre première partition primaire sera en fat32.... celle ou vous mettrez votre musique.... et tout le reste. A vous de voir la taille qu'elle fera.

Votre deuxième partition primaire sera en ext2/3/4 au choix, elle occupera le reste de place de la sd, par les applis et tout le contenu data, en general entre 512 et 1G.

Dans votre cas, vous prenez le nombre total de secteurs, que vous divisez par 2048, cela vous donne la taille dispo en MB que vous scindez en deux comme bon vous semble.

Donc pour notre cas, on veut une partition de 7000 MB en fat32 et une de 647 MB pour la partition ext.

Donc la première partition commencera au secteur 256 ( une histoire de "erase blocks" et d'amorçage..) et se terminera au secteur 14335999 (14335999/2048 = ?)

Et la deuxième partition commencera à 14336000 (secteur limitrophe à celui qui se trouve avant... ) jusqu'à fin.

En clair, toujours en ligne de commande, il vous faut créer les partitions.

Vous créez une nouvelle partition ("n") et vous choisissez son type : primaire ("p") à laquelle vous donnez le numéro "1" en tapant "entrée" entre chaque argument:

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1

Vous commencez votre partition a 256 et vous la terminez à ([votre choix X 2048 ]- 1), ce qui donne pour notre exemple (7000 X 2048) -1 = 14335999 :

First sector (16-15661055, default 16): 256
Last sector or +size or +sizeM or +sizeK (256-15661055, default 15661055): 14335999

Et on continue en créant une deuxième ("2") partition primaire qui correspondra à notre partition ext.

Elle commencera donc pour vous à (votre choix X 2048) et se terminera par ... le reste! en tappant juste "entrée" ce qui mettra la valeur par défaut.

Ou pour notre exemple (7000 X 2048)=14336000 et se termine par défaut à 15661055 .

(ben oui, car les secteurs commencent à 0, donc le dernier secteur est le 15661055...)

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 2

First sector (16-15661055, default 16): 14336000
Last sector or +size or +sizeM or +sizeK (14336000-15661055, default 15661055): 15661055

Enfin !

Pour voir votre travail, et récompenser votre patience, allez voir les nouvelles partitions que vous allez créer:

Tapez "p" dans la commande:

Command (m for help): p

Disk /dev/block/mmcblk0: 8018 MB, 8018460672 bytes
4 heads, 16 sectors/track, 244704 cylinders, total 15661056 sectors
Units = sectors of 1 * 512 = 512 bytes

             Device Boot      Start         End      Blocks  Id System
/dev/block/mmcblk0p1             256    14335999     7167872  83 Linux
/dev/block/mmcblk0p2        14336000    15661055      662528  83 Linux

Vous voyez donc deux partitions primaires brutes, une d'environ 7G et des poussières, l'autre d'environ 647 MB.

Toujours pareil, en fonction de votre carte, les chiffres seront différents !!!

Mais encore faut il créer la partition Fat32...

Pour cela, dans l'invite de commande, tapez la lettre "t" et visez la partition "1", que vous désignez avec "c" comme partition compatible Win95/fat32, toujours en tapant "entrée" entre les arguments :

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): c
Changed system type of partition 1 to c (Win95 FAT32 (LBA))

Ré-affichez votre travail grace à la commande "p" puis "entrée":

Disk /dev/block/mmcblk0: 8018 MB, 8018460672 bytes
4 heads, 16 sectors/track, 244704 cylinders, total 15661056 sectors
Units = sectors of 1 * 512 = 512 bytes

             Device Boot      Start         End      Blocks  Id System
/dev/block/mmcblk0p1             256    14335999     7167872   c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2        14336000    15661055      662528  83 Linux

Vous êtes contents de vous?

Vous êtes sûrs de la taille de vos partitions??????

Alors allez formater tout ça en tapant dans la commande "w" suivie par "entrée" :

Command (m for help): w
The partition table has been altered!

Et voilà.... votre carte sd est partitionnée.

Il faut maintenant la formater correctement.

Pour formater la partition fat32, tapez dans votre terminal :

mkfs.vfat /dev/block/mmcblk0p1

Pour formater la partition en ext2 :

mkfs.ext2 -m0 -b4096 /dev/block/mmcblk0p2

Pour formater en ext3 (si vous avez les outils installés sur votre téléphone, auquel cas vous aurez un message d'erreur)

mke2fs -j -m0 -b4096 /dev/block/mmcblk0p2

Et enfin, si vous voulez tenter un formatage en ext4 ( qui fonctionne chez moi ) :

mke2fs -j -m0 -b4096  -Oextents,uninit_bg,dir_index /dev/block/mmcblk0p2

A partir de la vous avez une carte sd au top de sa forme!

Activer votre data2ext ou votre a2sd au choix.... mais pas les deux en même temps!

Et profiter!

Avatar.

P.S : Cette manip est valable pour toute carte sd, et est renouvelable en cas de message "sd endommagée", mais toutes les données seront perdues...

Modifié par avatar
  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Salut,

Tant mieux si ça peut servir! C'est une méthode de formatage et partitionnement plus que bonne, mais c'est vrai que pour nous français, la version anglaise de Blay0 est assez rebutante à lire.....

Même la patition ext4 passe sur la rom B 0.5.

Avatar.

Lien vers le commentaire
Partager sur d’autres sites

Problème lors du partitionnement de ma carte

J ai effectue 2 fois l opération et je n arrive pas a monter ma carte il me dis carte vide et ne monte pas.

chose étrange lorsque je retourne sous fdisk et que je fais p j obtient

Command (m for help): p

p

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders

Units = cylinders of 64 * 512 = 32768 bytes

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 5 224000 7167872 c Win95 FAT32 (LBA)

/dev/block/mmcblk0p2 224001 242560 593920 83 Linux

Command (m for help):

Le start du la première partition est a 5 au lieu des 256 que j ai rentre et vérifié par 2 fois, de plus la carte est protégé en écriture si je la monte sur un lecteur sd windows.

Une idee?

Lien vers le commentaire
Partager sur d’autres sites

Command (m for help): p

p

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders

Units = cylinders of 64 * 512 = 32768 bytes

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 5 224000 7167872 c Win95 FAT32 (LBA)

/dev/block/mmcblk0p2 224001 242560 593920 83 Linux

Salut,

Combien as tu de secteurs? 15523840 ? (total sectors)

Ta carte a été formatée comment avant? ntfs? fat32 fat16 ?

Car apparament c'est ta taille de cluster qui diffère.

Essaie de supprimer la/les partitions:

Command (m for help): d
Selected partition 1

Si tu en as 2, tu fais les deux.

Puis tu recrées une seule partition en fat 32

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1

Et tu mets les valeurs par défaut pour partir sur une sd formatée en fat32.

Et tu recommences bien dès le début. En supprimant bien les 2 MB de départ.

Avatar.

Lien vers le commentaire
Partager sur d’autres sites

Autant pour moi

Sous windows le support sd de ma carte mini sd avez son switch de protection casse.

La carte n est pas RAW comme je le craigne toutefois le w ne ma pas formatter ma fat32 .

je l ai fais sous windows et la pas de carte vide et ma carte est montee.

Pour ma carte voila ce que j ai obtenu la première fois avant toute création de partition

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors

Units = sectors of 1 * 512 = 512 bytes.

Je vais effectuer tes manips et je te tiens au courant ,peut etre pas ce soir il commence a etre tard.

Lien vers le commentaire
Partager sur d’autres sites

je viens d effectuer la manip plusieurs fois ca donne

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors

Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 256 15523839 7761792 83 Linux

Command (m for help): t

t

Selected partition 1

Hex code (type L to list codes): c

c

Changed system type of partition 1 to c (Win95 FAT32 (LBA))

Command (m for help): p

p

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors

Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 256 15523839 7761792 c Win95 FAT32 (LB

A)

Command (m for help): w

w

The partition table has been altered!

Calling ioctl() to re-read partition table

#

Le write ne marche pas voir Calling ioctl() to re-read partition table qui me semble anormale

Lien vers le commentaire
Partager sur d’autres sites

Ha !

Voilà qui est mieux,

tu as une taille égale ( 1*512), donc là pas de soucis de départ à 256.

En suivant bien les étapes... résultats garantis 100%!

Avatar.

P.S: Pense à "désactiver" ta carte avant toute manip comme indiqué en début de tuto.

Lien vers le commentaire
Partager sur d’autres sites

Peux tu monter ta carte à l'heure actuelle?

Parametres... Sd et memoire... monter la sd?

Edit: car pour moi, la partition a été ré-écrite dans ce que je lis

"the partition table has been altered"

Modifié par avatar
Lien vers le commentaire
Partager sur d’autres sites

non je ne pouvais pas la monter car elle n était pas formater.

je viens de la formater sous windows Capacity 7932686,336 bytes 7,38 GB.

donc correct.

Je vais recommencer tous et formater a la main ma fat32.il st tard je ferait c demain matin je te tiens au courant.

Lien vers le commentaire
Partager sur d’autres sites

chose étrange lorsque je retourne sous fdisk et que je fais p j obtient

Command (m for help): p
p

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes
4 heads, 16 sectors/track, 242560 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

Device Boot               Start           End              Blocks       Id System
/dev/block/mmcblk0p1        5            224000     7167872     c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2          224001      242560      593920       83 Linux

Pour ma carte voila ce que j ai obtenu la première fois avant toute création de partition


Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes
4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes.

Je vais effectuer tes manips et je te tiens au courant ,peut etre pas ce soir il commence a etre tard.

Je en comprends pas...

Il s'agit de la même carte? car dans une tu as "units= 64*512" et dans l'autre "1*512"

Qu'as tu fais omme manip entre les deux?

Car dans le deuxième cas, tu es tout bon pour le tuto....

Essair un dernier coup de lancer fdisk et dis moi ce qu'il te retourne avec "p", surtout avec la ligne de "units = 1*512"

si tu as ça, le reste pas de problème pour suivre le tuto

Avatar.

Lien vers le commentaire
Partager sur d’autres sites

olivep,

j'ai eu le même soucis que toi en suivant le tuto.

Du coup une fois terminé et que tu obtiens :

The partition table has been altered!

Calling ioctl() to re-read partition table

J'ai branché la carte sd sur mon pc directement et j'ai fait un petit format de la partition en fat32 sous windows.

dans la gestion des disque tu verra que la partition ext est toujours ok du coup.

et la pour ma part j'ai pu monter la carte sd

Lien vers le commentaire
Partager sur d’autres sites

Bah ça alors....

J'ai eu aucun soucis en suivant le tuto....

Et du coup, quand tu mets ton téléphone en lecteur de disque, tu as les deux partitions qui s'ouvrent oui?

Avatar.

Edit: J'ai fait tout ça sous linux... un problème de compatibilité....?

Modifié par avatar
Lien vers le commentaire
Partager sur d’autres sites

Je viens de tester sur une sd que j'avais.

Il faut faire attention au type d'affichage d'unité: secteurs ou cylindre...

Ceci s'effectue avec la commande "u"

Et quand vous tapez "p" lors de la première fois, vous devez avoir :

...
Unités = secteurs de 1 * 512 = 512 octets
...

ET PAS :

...
Unités = cylindres de xxxx * 512 = 999424 octets
...

Si vous avez ce type d'affichage, alors re-tapez "u" + "entrée" et l'affichage reviendra en unité par secteur.

Avatar.

Lien vers le commentaire
Partager sur d’autres sites

Bon j ai procéder a l opération

Command (m for help): p

p

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors

Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 256 14335999 7167872 c Win95 FAT32 (LB

A)

/dev/block/mmcblk0p2 14336000 15523839 593920 83 Linux

Command (m for help): w

w

The partition table has been altered!

Calling ioctl() to re-read partition table

# p

p

p: not found

# fdisk /dev/block/mmcblk0

fdisk /dev/block/mmcblk0

The number of cylinders for this disk is set to 242560.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

p

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders

Units = cylinders of 64 * 512 = 32768 bytes

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 5 224000 7167872 c Win95 FAT32 (LB

A)

/dev/block/mmcblk0p2 224001 242560 593920 83 Linux

Command (m for help):

Le write n a pas fonctionne et si je refais un p derrière j obtient le fameux 64*512.

Si je monte ma carte j ai le message carte vide.

Sous windows je formate ma partition fat32

j ai 7325573,120 bytes 6,82 GB

donc correcte

Je remet la carte dans le telephone elle est monte automatiquement

je refais un fdisk

Command (m for help): p

p

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders

Units = cylinders of 64 * 512 = 32768 bytes

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 5 224000 7167872 b Win95 FAT32

/dev/block/mmcblk0p2 224001 242560 593920 83 Linux

Command (m for help): u

u

Changing display/entry units to sectors

Command (m for help): p

p

Disk /dev/block/mmcblk0: 7948 MB, 7948206080 bytes

4 heads, 16 sectors/track, 242560 cylinders, total 15523840 sectors

Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System

/dev/block/mmcblk0p1 256 14335999 7167872 b Win95 FAT32

/dev/block/mmcblk0p2 14336000 15523839 593920 83 Linux

Command (m for help):

Conclusion:

---Sous windows apparemment il faut formater la partition fat32 sur son pc le w ne marche pas

--avant de faire p il faut inperativement faire u pour avoir une lecture correcte

en espérant que cela aidera je vous laisse dormir et moi je vais me baigner avant manger il fais déjà 30

Lien vers le commentaire
Partager sur d’autres sites

Salut,

J'en conclue que tu as réussi... non sans soucis!

Pour la commande "u", j'avais mis la mise en garde dans le post précédent, vu ce que tu avais marqué auparavant.

Pour le formatage en fat 32.... c'est curieux! Mais en même temps je suis linux et je pense que le tuto d'origine aussi.

C'est quand même curieux qu'un windows n'accepte pas une commande de formatage en fat32......

Je vais modifier le tuto avec tes indications!

Avatar.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

J'en conclue que tu as réussi... non sans soucis!

Pour la commande "u", j'avais mis la mise en garde dans le post précédent, vu ce que tu avais marqué auparavant.

Pour le formatage en fat 32.... c'est curieux! Mais en même temps je suis linux et je pense que le tuto d'origine aussi.

C'est quand même curieux qu'un windows n'accepte pas une commande de formatage en fat32......

Je vais modifier le tuto avec tes indications!

Avatar.

en effet avatar il y a un truc étrange dans tout ca.

car pour ma part j'ai réaliser tout le tuto uniquement depuis le téléphone avec le terminal installé dessus . Donc ma carte j'ai du la mettre sous windows uniquement pour formatter la partition en fat 32.

Peut etre que le problème peut provenir du formatage de la carte à la base quand je l'ai acheté. Elle a été formatté sous windows. Mais cela semble incohérent car avant de faire le tuto j'ai réaliser un formatage depuis le legend... peut etre un simple soucis avec fdisk de busybox.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Effectivement, la version de busybox entre en jeux...

J'ai fait la procédure à partir de la rom B 0.5 et aussi B 0.6, et les deux contiennent la dernière version de busybox "améliorée" avec les outils Blay0.

Le problème vient probablement de là.

Mais le principal c'est que vous ayez réussis !

avatar.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Data2ext a apparement besoin (d'après ce que j'ai lu ) de quelques trucs biens définis:

- Une partition ext2/3/4 avec des blocks de 4kb

- Que l'ordre des partitions soit 1) Fat32 2) Ext

Si ces conditions ne sont pas remplies, d'après Blay0 ça ne fonctionnera pas aux vues de son script.

Du coup je te propose de lancer quand même fdisk sur ta sd, avec la commande "p" afin de vérifier le partitionnement.

Si ça correspond, tu pourras toujours quitter fdisk avec la combinaison [CTRL]+C sans toucher à ta Sd.

Avatar.

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Je confirme ce que dis @solevis:

" CAUTION! When rebooting using data2ext it is imperative to do it via power button! "

-----> "Attention! Quand vous redémarrez votre téléphone en utilisant data2ext, il est impératif de faire cela par le bouuton power"

Donc une fois que tu as fais ta commande "data2ext --enable", tu touches plus rien, tu reboot ton téléphone par le bouton pwer, tu quitteras donc automatiquement l'adb.

Avatar.

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...