Redimensionner votre partition dans Qemu sans raspi-config
Nous avons vu il y a quelques temps comment créer une image pour le Raspberry Pi avec Qemu. Personnellement je m’en sers pour pouvoir faire des tests directement dans Qemu sans monopoliser un Raspberry. Mais l’image de base ne fait que 500MB et raspi-config refuse de l’étendre car ce n’est pas une carte SD. Alors comment faire ?
Nous allons supposer que vous avez maintenant votre image à jour et qu’elle fonctionne correctement dans Qemu. Nous allons agrandir notre système en trois étapes assez simples
- Agrandir l’image. Pour cela la machine doit être arrêtée. Vous pouvez alors utiliser la commande qemu-img de la manière suivante :
qemu-img resize <image_file_name> +4G
La commande va ajouter 4GB à notre fichier. Dans Qemu, cela est visible de la manière suivante grâce à fdisk :
- Redimensionner la partition principale. Vous pouvez à présent relancer votre émulation. La commande que j’utilise est toujours la même :
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -append "root=/dev/sda2 rw vga=normal console=ttyAMA0,115200" -hda rasp.img -redir tcp:5022::22 -serial stdio
Une fois l’image démarrée et que vous êtes connecté, utilisez la commande fdisk pour agrandir la partition. Pour cela utilisez la commande suivante :
fdisk /dev/sda
Affichez les partitions avec la commande p
Notez le bloc de début de la seconde partition. Chez moi la valeur est 125904
Supprimez la seconde partition avec la commande d puis 2. Si vous affichez de nouveau les partitions elle a disparu.
Créez une nouvelle partition avec n puis p puis 2. Là fdisk propose une valeur pour le bloc de départ. Cela doit correspondre a la valeur que vous avez identifiée plus tôt. Si c’est le cas laissez la zone vide. La valeur suivante est le bloc de fin qui est le plus grand possible pour occuper tout l’espace
Si vous affichez de nouveau les informations vous verrez que votre nouvelle partition à un bloc de fin beaucoup plus grand donc que la partition est plus grande.
Sauvegardez les informations avec w
Redémarrez la machine - Agrandir le filesystem. Une fois de nouveau connecté, votre partition n’est toujours pas plus grande ! La partition s’est bien agrandie mais pas le filesystem ! Et c’est notre dernière étape. C’est très simple :
resize2fs /dev/root
Et voilà le résultat :
La partition est passée de 400MB à 4.3GB
A vous les joies de virtualisation du Raspberry Pi avec Qemu !
Pingback: Resize partition in Qemu without raspi-config - 05k6()