JukyParaguay/trabajos2013/xoos/qemu tutorial

Instalacion y configuracion de Qemu

Esta seccion es una compilacion de Tutoriales para la instalacion de fedora con arquitectura arm en qemu.

Primeros pasos.

Lo primero[1] que necesitamos es instalar Qemu. Lo podemos hacer con el gestor de paquetes. Para fedora:

#yum install qemu

Para otras distribuciones otra alternativa es bajar la ultima version de Qemu y compilarla. Una vez termine nos aseguramos que lo tenemos instalado

$qemu-system-arm --version
 QEMU emulator version 1.4.1, Copyright (c) 2003-2008 Fabrice Bellard

El siguiente paso es descargar una imagen de Fedora arm que podemos conseguir en su Pagina Oficial. Para este tutorial usamos estas:

Necesitamos la imagen .img y el kernel.tar de Versatile Express[2] Luego las descomprimimos con el comando unxz. por Ejemplo:

$unxz Fedora-17-armhfp-vexpress-mmcblk0.img.xz
$unxz Fedora-17-armhfp-vexpress-mmcblk0-kernel.tar.xz

y obtendremos los siguientes archivos:

Fedora-17-armhfp-vexpress-mmcblk0.img
Fedora-17-armhfp-vexpress-mmcblk0-kernel.tar

Extraemos el tar:

$tar -x Fedora-17-armhfp-vexpress-mmcblk0-kernel.tar

Accedemos a la carpeta boot del paquete del kernel

$cd armhfp-vexpress-mmcblk0/boot

y ejecutamos el script boot-vexpress o boot-vexpress+x el cual recibe 3 parametros:

  1. El kernel. (contenida en la carpeta boot)
  2. La imagen de Ram inicial. (contenida en la carpeta boot)
  3. La imagen de Fedora que descargamos.

Por ejemplo:

$sudo boot-vexpress vmlinuz-3.4.2-3.fc17.armv7hl initramfs-3.4.2-3.fc17.armv7hl.img /<path>/<to-image>/Fedora-17-armhfp-vexpress-mmcblk0.img

En este momento deberiamos tener la vm corriendo nuestro fedora arm.

Redimensionar imagen

Al correr la vm nos damos cuenta que la imagen que descargamos solo tiene unos 600 MB libres aproximadamente, lo que para nuestro proposito no es suficiente. Vemos las particiones con fdisk:

$ fdisk Fedora-17-armhfp-vexpress-mmcblk0.img 
Welcome to fdisk (util-linux 2.21.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p

Disk Fedora-17-armhfp-vexpress-mmcblk0.img: 1888 MB, 1888485376 bytes
255 heads, 63 sectors/track, 229 cylinders, total 3688448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

                                Device Boot      Start         End      Blocks   Id  System
Fedora-17-armhfp-vexpress-mmcblk0.img1   *          63     1044224      522081    c  W95 FAT32 (LBA)
Fedora-17-armhfp-vexpress-mmcblk0.img2         1044225     3688447     1322111+  83  Linux

Para eso tenemos varias opciones. Para este tutorial vamos a redimencionar la particion principal[3]. La imagen Fedora-17-armhfp-vexpress-mmcblk0.img descomprimida ocupa aproximadamente 1.8G Para redimencionar la imagen podemos usar el comando qemu-img resize <filename> [+ | -]<size>. (La VM no debe estar activa!) Pero primero crearemos un backup de esta imagen, un simple cp basta.

$ cp Fedora-17-armhfp-vexpress-mmcblk0.img backup.img

Luego redimencionamos la imagen, por ejemplo si queremos agregarle 5GB escribimos +5G.

$ qemu-img resize Fedora-17-armhfp-vexpress-mmcblk0.img +5G
 Image resized.

Ya tenemos mas espacio, y la vm puede verlo, pero todavia tenemos las viejas particiones. Con fdisk vamos a hacer lo siguiente:

  • Escribimos p para mostrar la tabla de particiones.
$ fdisk Fedora-17-armhfp-vexpress-mmcblk0.img  
 Welcome to fdisk (util-linux 2.21.2).
 
 Changes will remain in memory only, until you decide to write them.
 Be careful before using the write command.
 
 Command (m for help): p
 
 
 Disk Fedora-17-armhfp-vexpress-mmcblk0.img: 7257 MB, 7257194496 bytes
 255 heads, 63 sectors/track, 882 cylinders, total 14174208 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000
 
                                 Device Boot      Start         End      Blocks   Id  System
 Fedora-17-armhfp-vexpress-mmcblk0.img1   *          63     1044224      522081    c  W95 FAT32 (LBA)
 Fedora-17-armhfp-vexpress-mmcblk0.img2         1044225     3688447     1322111+  83  Linux

Vemos como la segunda particion empieza en el sector 1044225. Lo que vamos a hacer es borrar esa particion de la tabla de particiones y creamos una nueva que empieza en el mismo sector pero termina en otro mucho despues. Luego la particion va contener un sistema de archivos valido.

  • Escribimos d (delete) y elegimos la 2da particion
Command (m for help): d
Partition number (1-4): 2
Partition 2 is deleted
  • Escribimos n (new) y elegimos particion primaria, la particion 2, el sector de inicio y fin. (en este caso podemos dejar los valores por defecto)
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 
Using default value 2
First sector (1044225-14174207, default 1044225): 
Using default value 1044225
Last sector, +sectors or +size{K,M,G} (1044225-14174207, default 14174207): 
Using default value 14174207
Partition 2 of type Linux and of size 6.3 GiB is set
  • Escribimos w para guardar los cambios al disco y salir de fdisk.
Command (m for help): w
The partition table has been altered!

Syncing disks.

Ahora debemos redimencionar el filesystem.

{En construccion}

Configurar red y ssh

{En construccion}

Referencias

  1. [1], Tutorial ARM/Versatile Express
  2. [2] Informacion sobre Versatile Express.
  3. [3] How to resize virtual machine disk.