[.img] agrandir une image .img de clé d'installation

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
rafmav
yeomen
Messages : 272
Inscription : mer. 11 mars 2009, 13:30

[.img] agrandir une image .img de clé d'installation

Message par rafmav »

Je veux mettre archlinux-2009.08-core-i686.img qui fait 363.8Mo sur une clé USB de 4Go.
J'ai essayé avec la commande:

Code : Tout sélectionner

dd if=archlinux-2009.08-core-i686.img of=/dev/sdb
Ca fonctionne, et la clé boote sans aucun problème! Mais elle est ensuite reconnue comme un disque de 363.8Mo... Et je ne peux rien ajouter d'autre sur la clé.
Si je partitionne la clé avec "fdisk" ou autre et que je fais:

Code : Tout sélectionner

dd if=archlinux-2009.08-core-i686.img of=/dev/sdb1
pour garder environ 3Go dans une autre partition /dev/sdb2:
Ben ça ne boote pas!

Donc j'ai cherché une autre solution, et j'ai commencé par essayer de monter l'image de disque... et là, peu d'aide sur le net : soit ça me marche pas, soit je trouve des truc pour des fichiers en ".img" qui sont en fait des images de cd-rom... sans intérêt ici.

Voici la première partie de la solution que j'ai pu trouver:
CE QUI NE MARCHE PAS:

Code : Tout sélectionner

$ sudo mount archlinux-2009.08-core-i686.img /mnt
mount: /media/NOLIMIT/linux/archlinux-2009.08-core-i686.img n'est pas un périphérique de type bloc (essayer « -o loop » ?)

Code : Tout sélectionner

$ sudo mount -o loop archlinux-2009.08-core-i686.img /mnt
mount: vous devez spécifier le type de système de fichiers

Code : Tout sélectionner

$ sudo mount -o loop -t ext2 archlinux-2009.08-core-i686.img /mnt
mount : type erroné de syst .de fichiers, option erronée, super bloc
        erroné sur /dev/loop2, codepage ou aide manquante ou autre erreur
       Dans quelques cas certaines informations sont utiles dans syslog - essayez
       dmesg | tail  ou quelque chose du genre
dmesg | tail ne sort rien de plus intéressant que le message d'erreur.

CE QUI MARCHE: LOSETUP + MOUNT
J'ai utilisé "losetup" après avoir fouiné sur internet!
Donc commencer par interroger "fdisk" et/ou "file" pour savoir ce qui est dans "archlinux-2009.08-core-i686.img":
* voici fdisk

Code : Tout sélectionner

$fdisk archlinux-2009.08-core-i686.img
Vous devez initialiser cylindres.
Vous pouvez faire cela depuis le menu des fonctions avancées.
Commande (m pour l'aide): p
Disque archlinux-2009.08-core-i686.img: 0 Mo, 0 octets
95 têtes, 61 secteurs/piste, 0 cylindres
Unités = cylindres de 5795 * 512 = 2967040 octets
Identifiant de disque : 0x00000000
                                       Périphérique Amorce  Début        Fin      Blocs     Id  Système
archlinux-2009.08-core-i686.img1   *           1         129      372455   83  Linux
La partition 1 a des débuts physique/logique différents (non Linux?):
     phys=(0, 1, 1) logique=(0, 1, 3)
La partition 1 a des fins physique/logique différentes:
     phys=(46, 94, 61) logique=(128, 52, 41)
Voici file:

Code : Tout sélectionner

$ file archlinux-2009.08-core-i686.img
archlinux-2009.08-core-i686.img: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 address 0x2000, stage2 segment 0x200; partition 1: ID=0x83, active, starthead 1, startsector 63, 744910 sectors, code offset 0x48
J'ai donc pu savoir que les blocs font bien 512 octets (taille habituelle, mais je préfère vérifier) et que le secteur de début est au "startsector" 63: j'ai fait le calcul suivant POUR trouver où commencent, en octets, les données réelles de la partition avec "bc":

Code : Tout sélectionner

512*63
32256
J'ai ainsi enfin pu "attacher" l'image d'archlinux sur un périphérique "loop" non occupé (loop0 ici, mais ça peut-être loop1, loop2, etc...) puis monter le périphérique loop:

Code : Tout sélectionner

$ losetup -o 32256 /dev/loop0 archlinux-2009.08-core-i686.img 
sudo mount /dev/loop0 /mnt -o loop
ET VOILA, MON IMAGE .IMG EST MONTEE, MAIS:

Comment l'agrandir sur place et arriver à mes 4Go?
Y-a-t'il plus simple en ligne de commande ?

Il y a archiso, mais c'est de l'iso donc pour cd-rom; même si ça doit marcher sur clé USB, je trouve qu'il est temps d'avoir un truc spécifique pour les clés...


P.S.: pour démonter tout ça en ligne de commande et ne pas avoir de message d'erreur du type "démontage impossible" ou "ressource occupée:

Code : Tout sélectionner

$ sudo umount /mnt
$ losetup -d /dev/loop0
#rmv$@f29£8µ1
Ma petite paresse me perdra...
Si vous ne voulez pas vous tromper, ne faites rien!
Impossible est impossible: est venue une personne qui ne savais pas que c'était impossible, et qui l'a fait!
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Re: [.img] agrandir une image .img de clé d'installation

Message par Cactus »

As-tu simplement essayer de décompresser l'img sur la clé (dd if=archlinux-2009.08-core-i686.img of=/dev/sdb) puis d'utiliser gparted pour rajouter une partition après les 363.8 Mo ?
Avatar de l’utilisateur
rafmav
yeomen
Messages : 272
Inscription : mer. 11 mars 2009, 13:30

Re: [.img] agrandir une image .img de clé d'installation

Message par rafmav »

:oops: ben non! je vais essayer... je crois que je n'aime pas utiliser les partitionneurs (gparted et autres) sur une partition pré-installée...

pourquoi tu dis "décompresser", avec gunzip ça ne décompresse pas!

pour la solution que j'essaye de trouver, je ne peux pas réellement créer un disque de 4 Go sur la machine (eeepc 4 Go) actuelle pour "simuler" une clé usb disque de 4 Go... sauf astuce à trouver.

bon je continu quand même à m'intéresser à l'agrandissement, juste par curiosité!
#rmv$@f29£8µ1
Ma petite paresse me perdra...
Si vous ne voulez pas vous tromper, ne faites rien!
Impossible est impossible: est venue une personne qui ne savais pas que c'était impossible, et qui l'a fait!
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Re: [.img] agrandir une image .img de clé d'installation

Message par Cactus »

C'est pas vraiment une décompression, mais plutôt une "désencapsulation" (ho, le barbarisme !)...
:capello:
Répondre