JukyParaguay/trabajos2013/xoos/qemu tutorial: Difference between revisions
No edit summary |
|||
| Line 2: | Line 2: | ||
Esta seccion es una compilacion de Tutoriales para la instalacion de fedora con arquitectura arm en qemu. | Esta seccion es una compilacion de Tutoriales para la instalacion 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] | 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 | ||
| Line 14: | Line 14: | ||
*[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.img.xz Img] | ||
*[http://mirrors.kernel.org/fedora-secondary/releases/17/Images/armhfp/Fedora-17-armhfp-vexpress-mmcblk0-kernel.tar.xz Kernel] | *[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> | 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 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 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>. | ||
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 redimencionar la imagen podemos usar el comando '''qemu-img resize <filename> [+ | -]<size>'''. (La VM no debe estar activa!) | ||
| Line 109: | Line 109: | ||
Syncing disks. | Syncing disks. | ||
Ahora debemos redimencionar el filesystem. | Ahora debemos redimencionar el filesystem, Para esto necesitamos la posicion de la particion 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/Device_file_system#Block_devices]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 eligio (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== | ||
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. | |||
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''' | |||
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 /> | ||