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 ?

hard-disk-partition

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

  1. 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 :
    qemu_resize_raspi-config_1

  2. 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
    qemu fdisk display partition
    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.
    qemu delete partition fdisk
    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.
    qemu partition resized fdisk
    Sauvegardez les informations avec w
    Redémarrez la machine

  3. 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 :
    qemu resize2fs without raspi-configLa partition est passée de 400MB à 4.3GB

A vous les joies de virtualisation du Raspberry Pi avec Qemu !

Vous aimerez aussi...