JukyParaguay/trabajos2013/xoos/qemu tutorial: Difference between revisions

mNo edit summary
mNo edit summary
 
Line 1: Line 1:
=Instalacion y configuracion de Qemu=
= Instalación y configuración de Qemu=
Esta seccion es una compilacion de Tutoriales para la instalacion de fedora con arquitectura arm en qemu.
Esta sección es una compilación de Tutoriales para la instalación de fedora con arquitectura arm en qemu.
==Primeros pasos.==
==Primeros pasos.==
Lo primero<ref name="Qemu-install">[https://fedoraproject.org/wiki/Architectures/ARM/Versatile_Express#Versatile_Express]Tutorial ARM/Versatile Express</ref> que necesitamos es instalar Qemu. Lo podemos hacer con el gestor de paquetes.
Lo primero<ref name="Qemu-install">[https://fedoraproject.org/wiki/Architectures/ARM/Versatile_Express#Versatile_Express]Tutorial ARM/Versatile Express</ref> que necesitamos es instalar Qemu. Lo podemos hacer con el gestor de paquetes.
Line 56: Line 56:
  Fedora-17-armhfp-vexpress-mmcblk0.img2        1044225    3688447    1322111+  83  Linux
  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<ref name="resize-fs">[http://askubuntu.com/questions/107228/how-to-resize-virtual-machine-disk]How to resize virtual machine disk.</ref>.
Para eso tenemos varias opciones. Para este tutorial vamos a redimensionar la partición principal<ref name="resize-fs">[http://askubuntu.com/questions/107228/how-to-resize-virtual-machine-disk]How to resize virtual machine disk.</ref>.
La imagen ''Fedora-17-armhfp-vexpress-mmcblk0.img'' descomprimida ocupa aproximadamente 1.8G
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!)
Para redimensionar 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.  
Pero primero crearemos un backup de esta imagen, un simple cp basta.  
  $ cp Fedora-17-armhfp-vexpress-mmcblk0.img backup.img
  $ cp Fedora-17-armhfp-vexpress-mmcblk0.img backup.img
Luego redimencionamos la imagen, por ejemplo si queremos agregarle 5GB escribimos ''+5G''.
Luego redimensionamos la imagen, por ejemplo si queremos agregarle 5GB escribimos ''+5G''.
  $ qemu-img resize Fedora-17-armhfp-vexpress-mmcblk0.img +5G
  $ qemu-img resize Fedora-17-armhfp-vexpress-mmcblk0.img +5G
   Image resized.
   Image resized.
Ya tenemos mas espacio, y la vm puede verlo, pero todavia tenemos las viejas particiones.
Ya tenemos mas espacio, y la vm puede verlo, pero todavía tenemos las viejas particiones.
Con '''fdisk''' vamos a hacer lo siguiente:
Con '''fdisk''' vamos a hacer lo siguiente:
*Escribimos ''p'' para mostrar la tabla de particiones.
*Escribimos ''p'' para mostrar la tabla de particiones.
Line 86: Line 86:
   Fedora-17-armhfp-vexpress-mmcblk0.img1  *          63    1044224      522081    c  W95 FAT32 (LBA)
   Fedora-17-armhfp-vexpress-mmcblk0.img1  *          63    1044224      522081    c  W95 FAT32 (LBA)
   Fedora-17-armhfp-vexpress-mmcblk0.img2        1044225    3688447    1322111+  83  Linux
   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.
Vemos como la segunda partición empieza en el sector 1044225. Lo que vamos a hacer es borrar esa partición de la tabla de particiones y creamos una nueva que empieza en el mismo sector pero termina en otro mucho después. Luego la partición va contener un sistema de archivos valido.
*Escribimos ''d'' (delete) y elegimos la 2da particion
*Escribimos ''d'' (delete) y elegimos la 2da partición
  Command (m for help): d
  Command (m for help): d
  Partition number (1-4): 2
  Partition number (1-4): 2
  Partition 2 is deleted
  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)
*Escribimos ''n'' (new) y elegimos partición primaria, la partición 2, el sector de inicio y fin. (en este caso podemos dejar los valores por defecto)
  Command (m for help): n
  Command (m for help): n
  Partition type:
  Partition type:
Line 109: Line 109:
   
   
  Syncing disks.
  Syncing disks.
Ahora debemos redimencionar el filesystem, Para esto necesitamos la posicion de la particion en el filesystem (el offset).
Ahora debemos redimensionar el filesystem, Para esto necesitamos la posición de la partición en el filesystem (el offset).
Para eso usamos '''parted''' con la imagen y los argumentos ''u'' ''b'' ("unit bytes") y ''p'' ("print").
Para eso usamos '''parted''' con la imagen y los argumentos ''u'' ''b'' ("unit bytes") y ''p'' ("print").
  $ sudo parted Fedora-17-armhfp-vexpress-mmcblk0.img u b p
  $ sudo parted Fedora-17-armhfp-vexpress-mmcblk0.img u b p
Line 124: Line 124:
  $ sudo losetup -f --show -o 534643200 Fedora-17-armhfp-vexpress-mmcblk0.img
  $ sudo losetup -f --show -o 534643200 Fedora-17-armhfp-vexpress-mmcblk0.img
  /dev/loop0
  /dev/loop0
''losetup'' te informa que dispositivo eligio (en este caso /dev/loop0).
''losetup'' te informa que dispositivo eligió (en este caso /dev/loop0).
ahora podemos verificar el filesystem y luego cambiar su tamaño con '''e2fsck -f /dev/loop0''' y '''resize2fs /dev/loop0'''
ahora podemos verificar el filesystem y luego cambiar su tamaño con '''e2fsck -f /dev/loop0''' y '''resize2fs /dev/loop0'''


Line 145: Line 145:


==Configurar red y ssh==
==Configurar red y ssh==
Por defecto el script que vino con el kernel que descargamos ya tiene la configuracion suficiente para poder acceder a internet en modo usuario.<ref name="user-mode">[http://en.wikibooks.org/wiki/QEMU/Networking#User_mode_networking]Modo Usuario</ref>. Pero bloquea todo trafico entrante, por lo que conectarse a travez de ssh, no seria posible.
Por defecto el script que vino con el kernel que descargamos ya tiene la configuración suficiente para poder acceder a internet en modo usuario.<ref name="user-mode">[http://en.wikibooks.org/wiki/QEMU/Networking#User_mode_networking]Modo Usuario</ref>. Pero bloquea todo trafico entrante, por lo que conectarse a través de ssh, no seria posible.
La opcion mas simple seria redirigir algun puerto del host, al puerto 22 de la VM <ref name="port-redirect">[http://en.wikibooks.org/wiki/QEMU/Networking#Redirecting_ports]Redireccionar Puertos</ref> con el argumento '''-redir [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport'''
La opción mas simple seria redirigir algún puerto del host, al puerto 22 de la VM <ref name="port-redirect">[http://en.wikibooks.org/wiki/QEMU/Networking#Redirecting_ports]Redireccionar Puertos</ref> con el argumento '''-redir [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport'''
Entonces para ssh agregamos '''-redir tcp:2222::22''' al script ''boot-vexpress''.
Entonces para ssh agregamos '''-redir tcp:2222::22''' al script ''boot-vexpress''.
y nos conectamos a la VM de esta forma:
y nos conectamos a la VM de esta forma: