Changes

Jump to navigation Jump to search
m
no 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.<ref name="Qemu-install">[https://fedoraproject.org/wiki/Architectures/ARM/Versatile_Express#Versatile_Express], Tutorial ARM/Versatile Express</ref>==
+
==Primeros pasos.==
Lo primero 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.
 
Para fedora:
 
Para fedora:
 
  #yum install qemu
 
  #yum install qemu
O bien:
  −
#yum install qemu-system-arm
   
Para otras distribuciones otra alternativa es bajar la [http://wiki.qemu.org/Download ultima version] de Qemu y compilarla.
 
Para otras distribuciones otra alternativa es bajar la [http://wiki.qemu.org/Download ultima version] de Qemu y compilarla.
 
Una vez termine nos aseguramos que lo tenemos instalado
 
Una vez termine nos aseguramos que lo tenemos instalado
 
  $qemu-system-arm --version
 
  $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 [http://fedoraproject.org/ Pagina Oficial].
 
El siguiente paso es descargar una imagen de Fedora arm que podemos conseguir en su [http://fedoraproject.org/ Pagina Oficial].
Al momento de hacer el tutorial estaban alojadas [http://mirrors.kernel.org/fedora-secondary/releases/17/Images/armhfp/ aqui].
+
Para este tutorial usamos estas:
Necesitamos la imagen .img y el kernel.tar de Versatile Express<ref name="vexpress">[http://www.arm.com/products/tools/development-boards/versatile-express/index.php] Informacion sobre Versatile Express.</ref>
+
*[http://mirrors.kernel.org/fedora-secondary/releases/17/Images/armhfp/Fedora-17-armhfp-vexpress-mmcblk0.img.xz Img]
 +
*[http://mirrors.kernel.org/fedora-secondary/releases/17/Images/armhfp/Fedora-17-armhfp-vexpress-mmcblk0-kernel.tar.xz Kernel]
 +
Necesitamos la imagen .img y el kernel.tar de Versatile Express<ref name="vexpress">[http://www.arm.com/products/tools/development-boards/versatile-express/index.php]Informacion sobre Versatile Express.</ref>
 
Luego las descomprimimos con el comando unxz. por Ejemplo:
 
Luego las descomprimimos con el comando unxz. por Ejemplo:
 
  $unxz Fedora-17-armhfp-vexpress-mmcblk0.img.xz
 
  $unxz Fedora-17-armhfp-vexpress-mmcblk0.img.xz
Line 33: Line 34:     
==Redimensionar imagen==
 
==Redimensionar imagen==
{En construccion}
+
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 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
 +
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.
 +
$ cp Fedora-17-armhfp-vexpress-mmcblk0.img backup.img
 +
Luego redimensionamos 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 todavía 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 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 partición
 +
Command (m for help): d
 +
Partition number (1-4): 2
 +
Partition 2 is deleted
 +
*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
 +
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 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").
 +
$ sudo parted Fedora-17-armhfp-vexpress-mmcblk0.img u b p
 +
  Model:  (file)
 +
  Disk /<path of>/<file>/Fedora-17-armhfp-vexpress-mmcblk0.img: 7257194496B
 +
  Sector size (logical/physical): 512B/512B
 +
  Partition Table: msdos
 +
  Disk Flags:
 +
 +
  Number  Start      End          Size        Type    File system  Flags
 +
  1      32256B      534643199B  534610944B  primary              boot, lba
 +
  2      534643200B  7257194495B  6722551296B  primary  ext4
 +
Ahora que tenemos donde empieza (534643200), creamos un ''loopback block device''<ref name="lofi">[http://en.wikipedia.org/wiki/Loop_device]Loopback block devices</ref> con el comando '''losetup  -f --show -o <start block> <filedisk>'''
 +
$ sudo losetup -f --show -o 534643200 Fedora-17-armhfp-vexpress-mmcblk0.img
 +
/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'''
 +
 
 +
$ sudo e2fsck -f /dev/loop0
 +
  e2fsck 1.42.3 (14-May-2012)
 +
  Pass 1: Checking inodes, blocks, and sizes
 +
  Pass 2: Checking directory structure
 +
  Pass 3: Checking directory connectivity
 +
  Pass 4: Checking reference counts
 +
  Pass 5: Checking group summary information
 +
  rootfs: 18715/82720 files (0.1% non-contiguous), 137245/330527 blocks
 +
 
 +
$ sudo resize2fs /dev/loop0
 +
  resize2fs 1.42.3 (14-May-2012)
 +
  Resizing the filesystem on /dev/loop0 to 1641247 (4k) blocks.
 +
  The filesystem on /dev/loop0 is now 1641247 blocks long.
 +
 
 +
Y borramos el loopback al terminar.
 +
$ sudo losetup -d /dev/loop0
 +
 
 
==Configurar red y ssh==
 
==Configurar red y ssh==
{En construccion}
+
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 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''.
 +
y nos conectamos a la VM de esta forma:
 +
$ ssh root@localhost -p 2222
 +
 
 
==Referencias==
 
==Referencias==
 
<references />
 
<references />

Navigation menu