{"id":335,"date":"2026-03-06T21:44:09","date_gmt":"2026-03-06T21:44:09","guid":{"rendered":"https:\/\/hackcuba.net\/?p=335"},"modified":"2026-03-06T21:44:09","modified_gmt":"2026-03-06T21:44:09","slug":"compilacion-instalacion-de-quemu-0-9-0-kqemu-1-3-0pre11-en-linux","status":"publish","type":"post","link":"https:\/\/hackcuba.net\/?p=335","title":{"rendered":"Compilaci\u00f3n\/instalaci\u00f3n de quemu-0.9.0 + kqemu-1.3.0pre11 en Linux"},"content":{"rendered":"\n<p>Antes que nada un saludo a la gente de <strong>BlackHat <\/strong>por permitirme tan amablemente colaborar con mi humilde aporte. Hola a todos y a cada uno de ustedes. Uno de los objetivos de este art\u00edculo es dejar documentado de una vez por todas c\u00f3mo compilar sin problemas (o eso supongo:) <em>qemu<\/em> y <em>kqemu<\/em>, para poder \u00abemular\u00bb sin problemas el sistema que se nos venga en gana (si tienes suficiente RAM&#8230; <em>of course<\/em>).<\/p>\n\n\n\n<p>Para los que no est\u00e9n familiarizados, <em>qemu<\/em> es una aplicaci\u00f3n que se encarga de crear, manejar y, entre otras cosas, hacer que se ejecute una m\u00e1quina virtual, o lo que es lo mismo, un sistema sobre otro. Pues s\u00ed, muy parecido al <em>Vmware <\/em>de Win32, pero sin tanto parecido est\u00e9tico, digamos.<\/p>\n\n\n\n<p>El primer problema conque me encontr\u00e9 en muchos casos es que los documentos sobre c\u00f3mo compilar <em>qemu<\/em> (con su consiguiente beneficio, CFLAGS, CXXFLAGS, etc, ya eso es otro art\u00edculo) eran dependientes de la distribuci\u00f3n, Debian, Slack, Suse, Redhat, Gentoo. La mayor\u00eda de la documentaci\u00f3n relacionada estaba orientada a paquetes precompilados y sujetos a m\u00e9todos de instalaci\u00f3n dependientes, que, como todos sabemos, ocultan un proceso de pre-configuraci\u00f3n muy beneficioso para aquel que estuviera interesado. Quiero decir que compilar los programas da una ventaja muy sustanciosa y que nos pone un paso por delante de los precompilados, m\u00e1s rendimiento por encima de todo y lo m\u00e1s importante: lo que aprendemos con ello. Es por eso que esta mini-gu\u00eda es aplicable a todas las distribuciones actuales de Linux y, c\u00f3mo no, tambi\u00e9n una referencia -en muchos aspectos- para otros sistemas, (BSD, etc).<\/p>\n\n\n\n<p>Este documento est\u00e1 basado en la versi\u00f3n de <em>qemu<\/em> 0.9.0 y de <em>kqemu<\/em> 1.3.0pre11 (<em>kqemu<\/em> es un <em>add<\/em>&#8211;<em>on<\/em> de <em>qemu<\/em>, que realmente es un m\u00f3dulo del Kernel para acelerar la virtualizaci\u00f3n implementando rutinas optimizadas para su objetivo final). Dicho esto, si se sienten motivados y existe esa curiosidad, vamos a lo que importa y a pasar un buen rato.<\/p>\n\n\n\n<p>Deben obtener los <em>files<\/em> necesarios:<\/p>\n\n\n\n<p><a href=\"http:\/\/fabrice.bellard.free.fr\/qemu\/qemu-0.9.0.tar.gz\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/fabrice.bellard.free.fr\/qemu\/qemu-0.9.0.tar.gz<\/a> \u00bb 1.8 Mb<br><a href=\"http:\/\/fabrice.bellard.free.fr\/qemu\/kqemu-1.3.0pre11.tar.gz\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/fabrice.bellard.free.fr\/qemu\/kqemu-1.3.0pre11.tar.gz<\/a> \u00bb 157 Kb<\/p>\n\n\n\n<p>Los que no puedan acceder a la web pueden obtenerlo en los <em>repos<\/em> de Debian existentes en Cuba, localizando el paquete <em>qemu<\/em> en los <em>sources<\/em> (no en los <em>deb<\/em>):<\/p>\n\n\n\n<p><a href=\"ftp:\/\/ftp.softwarelibre.cu\" target=\"_blank\" rel=\"noreferrer noopener\">ftp:\/\/ftp.softwarelibre.cu<\/a><br><a href=\"ftp:\/\/ftp.sld.cu\" target=\"_blank\" rel=\"noreferrer noopener\">ftp:\/\/ftp.sld.cu<\/a><br><a href=\"http:\/\/packages.debian.org\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/packages.debian.org<\/a><\/p>\n\n\n\n<p>Hay una alternativa al final del documento para los que no puedan compilar, pero con el defecto de no tener capa de aceleraci\u00f3n <em>kqemu<\/em> (emulaci\u00f3n m\u00e1s lenta).<\/p>\n\n\n\n<p>Vamos a darle&#8230; Si ya tienes <em>qemu<\/em> no tienes que desinstalar el otro; el prefijo de instalaci\u00f3n ser\u00e1 <em>\/usr\/local\/qemu0.9. <\/em>Despu\u00e9s ajustaremos el <em>$PATH<\/em> para que el <em>Shell <\/em>pueda encontrar los binarios que all\u00ed se alojen.<\/p>\n\n\n\n<p><strong>Nota sobre el Kernel:<\/strong><br>Esta gu\u00eda la estoy escribiendo sobre el Kernel 2.6.21.2, pero \u00e9se no es el punto, sino que a partir del n\u00facleo 2.6.20 el soporte de virtualizaci\u00f3n se ha integrado para plataformas AMD e Intel con la consiguiente mejora que esto trae consigo, haciendo uso tambi\u00e9n del Intel\u00ae VT (que fue introducido en el Pentium IV, modelo seriado 662 y 672), los cuales son un set de extensiones para soportar la virtualizaci\u00f3n m\u00e1s com\u00fanmente conocida como VMX.<\/p>\n\n\n\n<p>Si tienes una de estas series del Kernel y no tienes activado esta nueva caracter\u00edstica, recomiendo hacerlo, lo cual beneficia, claro est\u00e1. Recuerde que cuando se habla de <em>qemu<\/em> se est\u00e1 hablando de virtualizaci\u00f3n que, sin ciertas caracter\u00edsticas de los procesadores, nunca hubieran sido posibles este tipo de aplicaciones. En el Kernel puedes activar la VT en la configuraci\u00f3n del n\u00facleo siguiente:<\/p>\n\n\n\n<p><em>Device Drivers<\/em> \u00bb <em>Virtualizaci\u00f3n<\/em><\/p>\n\n\n\n<p>Y se presenta esto:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"431\" src=\"https:\/\/hackcuba.net\/wp-content\/uploads\/2026\/03\/0x660007-1.png\" alt=\"\" class=\"wp-image-336\" srcset=\"https:\/\/hackcuba.net\/wp-content\/uploads\/2026\/03\/0x660007-1.png 771w, https:\/\/hackcuba.net\/wp-content\/uploads\/2026\/03\/0x660007-1-300x168.png 300w, https:\/\/hackcuba.net\/wp-content\/uploads\/2026\/03\/0x660007-1-768x429.png 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<p>Como se aprecia, la selecci\u00f3n tiene lugar como <code>&lt;M&gt;<\/code>, que indica que se va a compilar como un m\u00f3dulo m\u00e1s del n\u00facleo. Si desean que la virtualizaci\u00f3n vaya insertada dentro del mismo, le asignamos con otra selecci\u00f3n un <code>&lt;*&gt;<\/code>, con el consiguiente aumento (ligero) del <em>size<\/em> del Kernel.<\/p>\n\n\n\n<p>En mi caso poseo un Intel, como se puede apreciar (diablos, \u00a1como me gustar\u00eda probar un AMD2!). Si no lo tienen activado, m\u00e1rquenlo y recompilen el Kernel (recuerden que no es obligatorio) y reinicien con el nuevo Kernel. Este paso no es requerido, pero ayuda tener un Kernel con KVM a la hora de trabajar con m\u00e1quinas virtuales.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Requerimientos en la versi\u00f3n de GCC::<\/h2>\n\n\n\n<p><em>qemu<\/em> es bien conocido por no compilar sobre <em>gcc<\/em>-4.x.x (al menos hasta la versi\u00f3n que describe este documento), por lo que es requerido tener una versi\u00f3n 3.x.x en el sistema para que puedan finalizar esta gu\u00eda. En mi caso tengo dos versiones: <em>gcc<\/em>-4.1.2 y 3.3.6, claro est\u00e1, con rutas diferentes. El compilador que uso por defecto es el gcc4 en un <em>prefix<\/em> com\u00fan, y el <em>gcc3<\/em> en <em>\/opt\/gcc-3.3.6<\/em>. Para que las detecciones del <em>script<\/em> <em>configure<\/em> me detecte el <em>gcc3<\/em>, en vez del <em>gcc4<\/em>, mi variable <code>PATH<\/code> luce as\u00ed.<\/p>\n\n\n\n<p><code>PATH=\"\/opt\/gcc-3.3.6\/bin:\/usr\/sbin:\/sbin:\/bin:\/usr\/bin:<br>\/usr\/local\/bin:\/usr\/local\/lib:\/usr\/local\/sbin\/:\/usr\/X11\/bin:<br>\/usr\/X11\/lib:\/usr\/X11\/lib\/pkgconfig:\/opt\/qt\/bin:<br>\/opt\/kde-3.5.6\/bin:\/usr\/local\/apache2\/bin:\/usr\/local\/MPLAYER:<br>\/usr\/local\/gdb\/bin\"<\/code><\/p>\n\n\n\n<p>Vean como antepongo antes que nada la ruta al directorio donde se aloja <em>gcc3<\/em>. Esto da como consecuencia que cualquier <em>script configure<\/em> (los usados en la compilaci\u00f3n basados en la GNU Toolchain) u otros detecten que el compilador por defecto es <em>gcc3,<\/em> con lo cual van a guardar esa informaci\u00f3n en los <em>makefiles<\/em>, por ejemplo, como una entrada similar a <code>CC=\/opt\/gcc-3.3.6\/bin\/gcc<\/code>.<\/p>\n\n\n\n<p>Si deseas apuntar a un <em>gcc3<\/em> existente -siendo el <em>gcc4<\/em> el establecido por defecto-, s\u00f3lo ejecuta esto:<\/p>\n\n\n\n<p><code>export PATH=\/ruta\/al_directorio_donde_se_aloja_el_gcc3\/:$PATH<\/code><\/p>\n\n\n\n<p>Esto trae como efecto que el compilador <em>gcc3<\/em> se vuelva el compilador por defecto a menos que haya alg\u00fan <em>wrapper<\/em> (modificaci\u00f3n\/implementaci\u00f3n t\u00edpica que lo impida, caso raro) de la distribuci\u00f3n que obligue a hacer lo contrario, ya sabes, \u00abdebes\u00bb compilar <em>qemu<\/em> con <em>gcc3<\/em>&#8230; seguimos d\u00e1ndole.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Compilando <em>qemu<\/em>::<\/h2>\n\n\n\n<p>A veces me cuesta un poco eliminar los <em>sources<\/em> de los programas que compilo. Por eso siempre los pongo en <em>\/tmp<\/em> para que el <em>script<\/em> de limpieza del sistema se encargue de hacerlo por m\u00ed. \u00bfCu\u00e1l es el script de limpieza? Es <em>\/etc\/rc.d\/init.d\/cleanfs<\/em>. Esto es en mi caso; es probable que en su distribuci\u00f3n no se llame as\u00ed y est\u00e9 ubicado en <em>\/etc\/init.d\/<\/em>.<\/p>\n\n\n\n<p>Ejecutemos:<code><br>cd \/tmp<br>tar xzvf qemu-0.9.0.tar.gz<br>cd qemu-0.9.0<br>.\/configure --prefix=\/usr\/local\/qemu0.9 --enable-Alsa<br>make<br>make install<\/code><\/p>\n\n\n\n<p>Agregue <code>--enable-alsa<\/code> si se est\u00e1 usando Alsa como sistema de sonido por defecto. Esto es s\u00f3lo compatible con Linux y distribuciones que usen Alsa, no con el ya casi obsoleto OSS, por lo que la compilaci\u00f3n en un sistema con OSS dar\u00eda como resultado en un error, ya que se intentar\u00eda compilar contra las librer\u00edas libasound de Alsa que no existen, y habr\u00eda que remover ese par\u00e1metro del <em>configure<\/em> en cuesti\u00f3n.<\/p>\n\n\n\n<p>En mi caso, <em>qemu<\/em> se ha compilado contra Alsa y tambi\u00e9n contra libSDL, entre otras que son b\u00e1sicas (como libc, la librer\u00eda est\u00e1ndar de C en Linux ). Veamos:<\/p>\n\n\n\n<p><code>webdeveloper@root-&gt;\/tmp\/qemu-0.9.0$ldd \/usr\/local\/qemu0.9\/bin\/qemu<br>linux-gate.so.1 =&gt; (0xffffe000)<br>libm.so.6 =&gt; \/lib\/libm.so.6 (0xb7eef000)<br>libz.so.1 =&gt; \/lib\/libz.so.1 (0xb7edb000)<br># libasound.so.2 =&gt; \/usr\/lib\/libasound.so.2 (0xb7e1d000)<br># libSDL-1.2.so.0 =&gt; \/usr\/lib\/libSDL-1.2.so.0 (0xb7d8c000)<br>libpthread.so.0 =&gt; \/lib\/libpthread.so.0 (0xb7d74000)<br>libutil.so.1 =&gt; \/lib\/libutil.so.1 (0xb7d70000)<br>librt.so.1 =&gt; \/lib\/librt.so.1 (0xb7d67000)<br>libc.so.6 =&gt; \/lib\/libc.so.6 (0xb7c3e000)<br>\/lib\/ld-linux.so.2 (0xb7f27000)<br>libdl.so.2 =&gt; \/lib\/libdl.so.2 (0xb7c3a000)<\/code><\/p>\n\n\n\n<p>Si todo ha ido bien, vamos a agregar al <code>PATH<\/code> la nueva direcci\u00f3n para que el <em>shell<\/em> pueda encontrar el binario de <em>qemu<\/em> y <em>qemu-img<\/em> cuando lo escribamos en nuestro terminal de preferencia.<\/p>\n\n\n\n<p>Abrimos con un editor el <em>~.\/bashrc<\/em> o <em>\/etc\/profile<\/em> y lo modificamos para que finalmente deba quedar algo as\u00ed:<\/p>\n\n\n\n<p><code>PATH=\"\/opt\/gcc-3.3.6\/bin:\/usr\/sbin:\/sbin:\/bin:\/usr\/bin:<br>\/usr\/local\/bin:\/usr\/local\/lib:\/usr\/local\/sbin\/:<br>\/usr\/X11\/bin:\/usr\/X11\/lib:\/usr\/X11\/lib\/pkgconfig:<br>\/opt\/qt\/bin: \/opt\/kde-3.5.6\/bin:\/usr\/local\/apache2\/bin:<br>\/usr\/local\/MPLAYER:\/usr\/local\/gdb\/bin:\/usr\/local\/qemu0.9\/bin\"<\/code><\/p>\n\n\n\n<p>N\u00f3tese que he agregado otra ruta de b\u00fasqueda al final, aunque si ya tiene una versi\u00f3n de <em>qemu<\/em> instalada, agr\u00e9gelo al inicio del <code>PATH<\/code> para que utilice la nueva versi\u00f3n. Finalizado esto ejecutamos:<\/p>\n\n\n\n<p><code>source ~\/.bashrc<\/code><br>\u00f3<br><code>source \/etc\/profile<\/code><\/p>\n\n\n\n<p>En dependencia de cual de los dos hayamos editado, <code>source<\/code> es una funci\u00f3n interna del <em>shell<\/em> de Linux (<em>bash<\/em>), y es usada para recargar y actualizar las variables de entorno. Generalmente, esta caracter\u00edstica es usada tambi\u00e9n por otros <em>shells<\/em> como <em>sh<\/em>, <em>ksh<\/em>, entre otros.<\/p>\n\n\n\n<p>Pruebe a escribir <em>qemu<\/em>. La salida debe ser algo m\u00e1s larga que esto:<\/p>\n\n\n\n<p><code>#webdeveloper@root-&gt;\/tmp\/qemu-0.9.0$qemu<br>#QEMU PC emulator version 0.9.0, Copyright (c) 2003-2007 Fabrice Bellard<br>#usage: qemu [options] [disk_image]<br>#<br>#'disk_image' is a raw hard image image for IDE hard disk 0<br>#Standard options:<br>#-M machine select emulated machine (-M ? for list)<br>#-fda\/-fdb file use 'file' as floppy disk 0\/1 image<br>#<\/code>&#8230;..<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A medio camino::<\/h2>\n\n\n\n<p>Todo est\u00e1 listo y, si quisi\u00e9ramos, podr\u00edamos comenzar a montar una m\u00e1quina virtual, pero d\u00e9jenme darles una recomendaci\u00f3n: vamos a hacer las cosas como debe ser, al proporcionarle a <em>qemu<\/em> una capa de aceleraci\u00f3n que aumentar\u00e1 en un 39% su velocidad, seg\u00fan he podido medir.<\/p>\n\n\n\n<p><strong>Nota sobre las cabeceras (o <em>headers<\/em>) del n\u00facleo:<\/strong><br>Para compilar <em>kqemu<\/em> necesitar\u00e1s las cabeceras del n\u00facleo. En mi caso, las cabeceras del 2.6.20.2 las ubiqu\u00e9 en <em>\/kernelsource\/linux-2.6.20.2\/<\/em>. Si se intenta compilar <em>kqemu<\/em> con un \u00e1rbol del Kernel previamente limpiado con <code>make mrproper<\/code>, la compilaci\u00f3n falla, debido a que no encuentra ficheros con s\u00edmbolos entre otros ficheros necesarios para la compilaci\u00f3n. As\u00ed que aseg\u00farense de por lo menos ejecutar un <code>make menuconfig<\/code> y salvar la configuraci\u00f3n, y hacer por lo menos un <code>make<\/code> para que se creen los ficheros necesarios; no importa que no compiles el Kernel completamente como tal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Compilando <em>kqemu<\/em>::<\/h2>\n\n\n\n<p>Regresamos un nivel detr\u00e1s (est\u00e1bamos compilando <em>qemu<\/em>, \u00bfs\u00ed?):<\/p>\n\n\n\n<p><code>cd ..<br>tar xzvf kqemu-1.3.0pre11.tar.gz<br>cd kqemu-1.3.0pre11<\/code><\/p>\n\n\n\n<p>Un <code>.\/configure --help<\/code> nos muestra esto:<\/p>\n\n\n\n<p><code>#webdeveloper@root-&gt;\/tmp\/kqemu-1.3.0pre11$.\/configure --help<br>#Usage: configure [options]<br>#Options: [defaults in brackets after descriptions]<br>#<br>#Standard options:<br># --help print this message<br># --prefix=PREFIX install in PREFIX []<br># --kernel-path=PATH set the kernel path (configure probes it)<br>#<br>#Advanced options (experts only):<br># --source-path=PATH path of source code [\/tmp\/qemu-fast\/kqemu-1.3.0pre11]<br># --cross-prefix=PREFIX use PREFIX for compile tools []<br># --cc=CC use C compiler CC [gcc]<br># --host-cc=CC use C compiler CC [gcc]<br># --make=MAKE use specified make [make]<br>#<\/code><\/p>\n\n\n\n<p>Para hacer las cosas con m\u00e1s seguridad y exactitud, vamos a ejecutar en base a donde tengas los <em>headers<\/em> del Kernel el siguiente comando (aj\u00fastelo para su caso y contin\u00fae):<\/p>\n\n\n\n<p><code>.\/configure --kernel-path=\/kernelsource\/linux-2.6.20.2<br>make<br>make install<\/code><\/p>\n\n\n\n<p>El proceso lleva unos segundos. Si todo ha ido bien, podemos cargar el m\u00f3dulo:<\/p>\n\n\n\n<p><code>modprobe kqemu<\/code><\/p>\n\n\n\n<p>Un <code>lsmod | grep kqemu<\/code> deber\u00eda mostrarnos algo como:<\/p>\n\n\n\n<p><code>kqemu 123560 1<\/code><\/p>\n\n\n\n<p>Como sea, puede hacer una b\u00fasqueda para comprobar que el modulo est\u00e1 en su lugar:<\/p>\n\n\n\n<p><code>find \/lib\/modules\/$(uname -r) -name kqemu.ko<\/code><\/p>\n\n\n\n<p>La salida debe ser algo parecida a esto:<\/p>\n\n\n\n<p><code>\/lib\/modules\/2.6.20.2\/misc\/kqemu.ko<\/code><\/p>\n\n\n\n<p>\u00bfTodo perfecto hasta el momento? &#8230;\u00a1genial! Hasta aqu\u00ed se ha cumplido el objetivo fundamental de esta gu\u00eda. De todas formas voy a poner referencias de c\u00f3mo crear espacio para una m\u00e1quina virtual y cargar una en base a una imagen ISO.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creando el espacio que ser\u00e1 usado como disco duro virtual::<\/h2>\n\n\n\n<p>Mis im\u00e1genes virtuales las pongo en <em>\/mnt\/tmp_filesystem<\/em>. Usted al\u00f3jelas donde desee. Para crear 2 Gb de disco virtual ejecutemos:<\/p>\n\n\n\n<p><code>qemu-img create virtual.img 2G<\/code><\/p>\n\n\n\n<p>Creo que no lleva mucha explicaci\u00f3n&#8230; Estoy creando el fichero <em>virtual.img <\/em>de 2 Gb con el par\u00e1metro <code>create<\/code>. Vamos a cargar algo para probar:<\/p>\n\n\n\n<p><code>qemu -m 100 -cdrom gparted-livecd-0.2.5-3.iso -boot d virtual.img -kernel-kqemu<\/code><\/p>\n\n\n\n<p>El par\u00e1metro <code>-m 100<\/code> indica que <em>qemu<\/em> utilizar\u00e1 100 Mb de memoria f\u00edsica para \u00e9l. Con <code>-cdrom gparted-livecd-0.2.5-3.iso<\/code> se carga ese ISO como si estuviera en el CD-ROM. <code>-boot<\/code> indica que lo bootee desde un CD, disco, floppy, etc. Con <code>d<\/code> se indica el <em>device<\/em> que voy a utilizar con el fichero <em>virtual.img<\/em> creado como dispositivo y <code>-kernel-kqemu<\/code> activa el soporte para el acelerador <em>kqemu<\/em>. Al haber cargado el m\u00f3dulo <em>kqemu<\/em> se crea su dispositivo en <em>\/dev\/<\/em>, o sea, <em>\/dev\/kqemu<\/em>, donde <em>qemu<\/em> realizar\u00e1 funciones a trav\u00e9s de \u00e9l (si existiese).<\/p>\n\n\n\n<p>La memoria a utilizar es variable; todo depende de su sistema, aunque si tiene poca memoria, e intenta arrancar <em>qemu<\/em>, se muestra un mensaje indicando que el sistema de ficheros <em>shm<\/em> no tiene suficiente espacio. En este caso se puede hacer lo siguiente:<\/p>\n\n\n\n<p><code>umount \/dev\/shm<br>mount -t tmpfs -o size=109m none \/dev\/shm<\/code><\/p>\n\n\n\n<p>&#8230;o los megas que desee, siempre teniendo en cuenta que se recomienda la mitad de la memoria f\u00edsica -o algo m\u00e1s-, todo depende.<\/p>\n\n\n\n<p><strong>Alternativa r\u00e1pida (dependiente de Internet):<br><\/strong>Si el proceso de compilaci\u00f3n no se ha podido realizar por cualquier causa, puede bajarse binarios de <em>qemu, <\/em>ya compilados para Linux-X86 en el URL:<\/p>\n\n\n\n<p><a href=\"http:\/\/fabrice.bellard.free.fr\/qemu\/qemu-0.9.0-i386.tar.gz\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/fabrice.bellard.free.fr\/qemu\/qemu-0.9.0-i386.tar.gz<\/a><\/p>\n\n\n\n<p>Debes copiarla\/descomprimirla en <em>\/<\/em>. El \u00fanico problema es que la virtualizaci\u00f3n decaer\u00e1 en su rendimiento, ya que <em>kqemu<\/em> no existe. Como sea, se puede emular; aunque cuando inicie <em>qemu<\/em> se queje de que <em>\/dev\/kqemu<\/em> no existe, puede suprimir el mensaje pasando a <em>qemu<\/em> el par\u00e1metro:<\/p>\n\n\n\n<p><code>-no-kqemu<\/code><\/p>\n\n\n\n<p>&#8230;<em>and, <strong>Blackhat<\/strong> for all!, happy day<\/em>.<\/p>\n\n\n\n<p>Escrito por Orestes Leal R. [<a href=\"mailto:orestesleal13022@cha.jovenclub.cu\">orestesleal13022@cha.jovenclub.cu<\/a>]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Antes que nada un saludo a la gente de BlackHat por permitirme tan amablemente colaborar con mi humilde<\/p>\n","protected":false},"author":2,"featured_media":337,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[38,115,41],"class_list":["post-335","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-proyecto-blackhat","tag-proyecto-blackhat","tag-qemu","tag-tips"],"_links":{"self":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=335"}],"version-history":[{"count":1,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/335\/revisions"}],"predecessor-version":[{"id":338,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/335\/revisions\/338"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/media\/337"}],"wp:attachment":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}