* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Manual: Usando Qemu

Ésta es una actualización y ampliación de:

Manual: Usando Qemu en tres pasos fáciles
http://blogdrake.net/node/1667

INSTALACIÓN DE QEMU
INSTALACIÓN DESDE LAS FUENTES

Las últimas versiones al momento de este manual son:

  • Qemu: 0.8.0
  • Kqemu: 0.7.2

Página de Qemu, sección de descargas:
http://fabrice.bellard.free.fr/qemu/download.html

Las instrucciones sobre la compilación deben funcionar con versiones superiores a menos que los programadores modifiquen la forma y las opciones de compilado. Ante cualquier duda lo mejor es leer el archivo README o INSTALL y revisar las opciones de configure.

Si no se tiene experiencia compilando, la mejor opción por comodidad es usar la instalación por medio de urpmi, pero si te animas a instalar desde las fuentes ten en cuenta que tienes que estar más atento a lo que haces. En Blogdrake está este manual que te será de gran ayuda:

Manual de introducción a la compilación
http://blogdrake.net/node/4143

Personalmente me gusta más compilar las aplicaciones ^_^ Así no hay que esperar por si ya está el último rpm en los repositorios :-P Así que esta compilación de qemu será desde las fuentes. Primero bajamos qemu y kqemu (módulo para el kernel acelerador de qemu).

Ahora los movemos a nuestro directorio de programas y los descomprimimos. Luego copiamos el directorio kqemu al directorio de qemu:

[dalfa@MDV2006 ~]$ mv qemu-0.8.0.tar.gz programas/
«qemu-0.8.0.tar.gz» -> «programas/qemu-0.8.0.tar.gz»

[dalfa@MDV2006 ~]$ cd programas/

[dalfa@MDV2006 programas]$ tar xvfz qemu-0.8.0.tar.gz
[ ... ]

[dalfa@MDV2006 programas]$ cd

[dalfa@MDV2006 ~]$ mv qemu-0.8.0.tar.gz programas/
«qemu-0.8.0.tar.gz» -> «programas/qemu-0.8.0.tar.gz»

[dalfa@MDV2006 programas]$ tar xvfz kqemu-0.7.2.tar.gz 
[ ... ]

[dalfa@MDV2006 programas]$ mv kqemu qemu-0.8.0
«kqemu» -> «qemu-0.8.0/kqemu»

Luego entramos en el directorio qemu-0.8.0:

[dalfa@MDV2006 programas]$ cd qemu-0.8.0

Ahora debemos configurar las fuentes para que se instalen en nuestro sistema. Esto se hace con el archivo configure. Cada aplicación trae su propio configure, así que para conocer qué opciones trae debemos ejecutar configure --help. Y claro, por supuesto, leer antes los archivos README e INSTALL.

NOTA.
Qemu version 0.8.0 no compila bien con gcc 4, así que debe cambiarse el gcc 4 (default en Mandriva) al gcc 3. Quizás en versiones superiores si lo haga, pero por el momento (Mandriva 2006) no.

[dalfa@MDV2006 qemu-0.8.0]$ ./configure --help
ERROR: "gcc" looks like gcc 4.x
QEMU is known to have problems when compiled with gcc 4.x
It is recommended that you use gcc 3.x to build QEMU
To use this compiler anyway, configure with --disable-gcc-check

Si no se desea cambiar el gcc sólo se debe correr configure con --disable-gcc-check, aunque si se compila con gcc 3 kqemu no entrará por las buenas en el kernel y deberá ser forzado con:

[root@MDV2006 qemu-0.8.0]# modprobe  -v --force-vermagic kqemu

Con el gcc 4 no se compila Qemu, make muere en error. Para cambiarlo se hace lo siguiente:

En /var/lib/rpm/alternatives están los archivos de configuración de "alternatives":

[root@MDV2006 alternatives]# pwd
/var/lib/rpm/alternatives

[root@MDV2006 alternatives]# ls | sort

[...]

gcc@

[...]

Ahí está el archivo gcc que dice:

auto
/usr/bin/gcc

/usr/bin/gcc-4.0.1
300400
/usr/bin/gcc-3.3.6
200303

Lo que se hace es cambiar el nivel de prioridad y luego ejecutar:

[root@MDV2006 alternatives]# update-alternatives --verbose --auto gcc
Setting up automatic selection of gcc.
Checking available versions of gcc, updating links in /etc/alternatives ...

(You may modify the symlinks there yourself if desired - see `man ln'.)
Updating gcc (/usr/bin/gcc) to point to /usr/bin/gcc-3.3.6.

El archivo quedará así:

auto
/usr/bin/gcc

/usr/bin/gcc-4.0.1
200303
/usr/bin/gcc-3.3.6
300400

Lo mismo se puede hacer con otro de los archivos que están en /var/lib/rpm/alternatives. Ahora que hemos cambiado continuamos:

[dalfa@MDV2006 qemu-0.8.0]$ ./configure --help

Usage: configure [options]
Options: [defaults in brackets after descriptions]

Standard options:
  --help                   print this message
  --prefix=PREFIX          install in PREFIX []
  --interp-prefix=PREFIX   where to find shared libraries, etc.
                           use %M for cpu name [/usr/gnemul/qemu-%M]
  --target-list=LIST       set target list [i386-user arm-user armeb-user sparc-user 
                           ppc-user mips-user mipsel-user i386-softmmu ppc-softmmu 
                           sparc-softmmu x86_64-softmmu mips-softmmu arm-softmmu]

kqemu kernel acceleration support:
  --disable-kqemu          disable kqemu build
  --kernel-path=PATH       set the kernel path (configure probes it)

Advanced options (experts only):
  --source-path=PATH       path of source code [/home/dalfa/programas/qemu-0.8.0]
  --cross-prefix=PREFIX    use PREFIX for compile tools []
  --cc=CC                  use C compiler CC [gcc]
  --host-cc=CC             use C compiler CC [gcc] for dyngen etc.
  --make=MAKE              use specified make [make]
  --static                 enable static build [no]
  --enable-mingw32         enable Win32 cross compilation with mingw32
  --enable-adlib           enable Adlib emulation
  --enable-coreaudio       enable Coreaudio audio driver
  --enable-alsa            enable ALSA audio driver
  --enable-fmod            enable FMOD audio driver
  --enabled-dsound         enable DirectSound audio driver
  --fmod-lib               path to FMOD library
  --fmod-inc               path to FMOD includes

NOTE: The object files are build at the place where configure is launched

Sólo agregaré --enable-alsa:

[dalfa@MDV2006 qemu-0.8.0]$ ./configure --enable-alsa 

Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
binary directory  /usr/local/bin
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /home/dalfa/programas/qemu-0.8.0
C compiler        gcc
Host C compiler   gcc
make              make
host CPU          i386
host big endian   no
target list       i386-user arm-user armeb-user sparc-user 
                  ppc-user mips-user mipsel-user i386-softmmu
                  ppc-softmmu sparc-softmmu x86_64-softmmu 
                  mips-softmmu arm-softmmu
gprof enabled     no
static build      no
SDL support       yes
SDL static link   yes
mingw32 support   no
Adlib support     no
CoreAudio support no
ALSA support      yes
DSound support    no
FMOD support      no
kqemu support     yes

KQEMU Linux module configuration:
kernel sources    /usr/src/linux
kbuild type       2.6

Luego ejecutamos make y nos vamos a ver un poco de anime mientras compila ^_^

[dalfa@MDV2006 qemu-0.8.0]$ make
[ ... ]

Luego nos convertimos en root e instalamos con make install:

[dalfa@MDV2006 qemu-0.8.0]$ su
Password: 

[root@MDV2006 qemu-0.8.0]#  make install 
[ ... ]

¡Y ahora tenemos qemu instalado!

[root@MDV2006 qemu-0.8.0]# qemu
qemu                qemu-img            qemu-sparc          qemu-system-sparc
qemu-arm            qemu-mips           qemu-system-arm     qemu-system-x86_64
qemu-armeb          qemu-mipsel         qemu-system-mips    
qemu-i386           qemu-ppc            qemu-system-ppc  


INSTALACION CON URPMI

Alternativamente, si no se desea instalar por las fuentes se puede hacer con urpmi (pues para eso está :-p). La instalación con urpmi es muy simple, basta con:

[root@MDV2006 ~]# urpmi qemu

[root@MDV2006 ~]# urpmi dkms-kqemu

Si quieres saber más sobre lo que estás instalando usa urpmq:

[dalfa@MDV2006 ~]$ urpmq -i qemu 
Name        : qemu
Version     : 0.7.2
Release     : 2.mdk2006.0.mde
Group       : Emulators
Size        : 6765679                      
Architecture: i586
Source RPM  : qemu-0.7.2-2.mdk2006.0.mde.src.rpm   
Build Host  : Mandriva2006
Packager    : Thac&Zé 
URL         : http://fabrice.bellard.free.fr/qemu/
Summary     : QEMU CPU Emulator

Description :
QEMU is a FAST! processor emulator. By using dynamic translation it
achieves a reasonnable speed while being easy to port on new host
CPUs. QEMU has two operating modes:

* User mode emulation. In this mode, QEMU can launch Linux processes
  compiled for one CPU on another CPU. Linux system calls are
  converted because of endianness and 32/64 bit mismatches. Wine
  (Windows emulation) and DOSEMU (DOS emulation) are the main targets
  for QEMU.

* Full system emulation. In this mode, QEMU emulates a full system,
  including a processor and various peripherials. Currently, it is
  only used to launch an x86 Linux kernel on an x86 Linux system. It
  enables easier testing and debugging of system code. It can also be
  used to provide virtual hosting of several virtual PC on a single
  server.

Name        : qemu
Version     : 0.6.1
Release     : 1mdk
Group       : Emulators
Size        : 3604303                      
Architecture: i586
Summary     : QEMU CPU Emulator

[dalfa@MDV2006 ~]$ urpmq -i dkms-kqemu
Name        : dkms-kqemu
Version     : 0.7.2
Release     : 2.mdk2006.0.mde
Group       : Emulators
Size        : 204035                       
Architecture: i586
Source RPM  : dkms-kqemu-0.7.2-2.mdk2006.0.mde.src.rpm   
Build Host  : Mandriva2006
Packager    : Thac&Zé 
URL         : http://fabrice.bellard.free.fr/qemu/qemu-accel.html
Summary     : DKMS-ready kernel-source for the QEMU accelerator module

Description :
The QEMU Accelerator Module increases the speed of QEMU when a PC is emulated
on a PC. It runs most of the target application code directly on the host
processor to achieve near native performance. It is very useful when you want
to run another Operating System (for example Windows) on a Linux desktop.

Name        : dkms-kqemu
Version     : 0.7.1.1
Release     : 1plf
Group       : Emulators
Size        : 206155                       
Architecture: i586
Source RPM  : dkms-kqemu-0.7.1.1-1plf.src.rpm   
Build Host  : katu.zarb.org
Packager    : Pascal Terjan 
URL         : http://fabrice.bellard.free.fr/qemu/qemu-accel.html
Summary     : DKMS-ready kernel-source for the QEMU accelerator module

Description :
The QEMU Accelerator Module increases the speed of QEMU when a PC is emulated
on a PC. It runs most of the target application code directly on the host
processor to achieve near native performance. It is very useful when you want
to run another Operating System (for example Windows) on a Linux desktop.

Si no sabes qué es urpmi revisa este manual:

Manual: Todo lo que siempre quisiste saber sobre urpmi pero nunca te atreviste a preguntar
http://blogdrake.net/node/4422


USO DE QEMU

Se pueden crear imágenes de discos de varias formas:

dd of=hd.img bs=1024 seek=2000000 count=0

Por ejemplo, esto creará una imagen de 2 gigas, un "disco virtual" de tamaño real. O sea, que la imagen ocupa 2 gigas esté llena o vacía. Éste es un tipo de "disco virtual" fuera de qemu (que no se crea con qemu), los formatos que crea qemu son: vvfat, vpc, bochs, dmg, cloop, vmdk, qcow, cow, raw.

Para crear se usa qemu-img y ésta es su sintaxis:

Comando:
create [-e] [-b imagen_base] [-f formato] nombre_de_archivo [tamaño]
commit [-f fmt] nombre_de_archivo
convert [-c] [-e] [-f fmt] nombre_de_archivo [-O formato_de_salida] nombre_de_archivo_de_salida
info [-f fmt] nombre_de_archivo

Parametros:
'nombre_de_archivo' Es el nombre de archivo

'imagen_base' Es la imagen de disco de sólo lectura que se usa como base para una copia en una imagen de escritura. La información en la imagen de escritura sólo guarda datos modificados.

'formato' Es el formato de la imagen. Es "adivinado" automáticamente en la mayoría de los casos

'tamaño' Es el tamaño de la imagen en kilobytes. Sufijos M para megas y G para gigas son soportados también.

'nombre_de_archivo_de_salida' Es el nombre de la imagen destino.

'formato_de_salida' Es el formato destino.

'-c' Indica que la imagen objetivo debe ser comprimida (sólo formato qcow).

'-e' Indica que la imagen objetivo debe ser encriptada (sólo formato qcow).

Un ejemplo de cómo crear una imagen qcow:

[dalfa@MDV2006 ~]$  qemu-img create -f qcow hda.qcow 4000M

Formating 'hda.qcow', fmt=qcow, size=4096000 kB

Para instalar un Sistema Operativo se puede hacer desde una imagen de del CD así:

qemu -hda hd.img -cdrom -boot d

Al tener algún Sistema ya instalado se carga así:

qemu -hda hd.img -cdrom /dev/cdrom -boot c

Las imágenes qcow no se pueden montar en Linux aún (existen experimentos, pero son demasiado liosos). En caso de necesitar montar una imagen qcow, la mejor opción es convertir dicha imagen a una de tipo raw utilizando qemu-img.

Además, las imágenes raw pueden redimensionarse utilizando dd en caso de ser necesario, como se explica en el Wiki no oficial de Qemu.

Para montar una imagen raw, debe saberse dónde comienza la partición a montar dentro de la imagen raw. Para ello, puede utilizarse (como root) fdisk -lu sobre la imagen en cuestión:

# fdisk -lu mandriva.img
Debe establecer cilindros.
Puede efectuar esta operación desde el menú de funciones adicionales.

Disco mandriva.img: 0 MB, 0 bytes
255 cabezas, 63 sectores/pista, 0 cilindros, 0 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes

    Disposit. Inicio    Comienzo      Fin      Bloques  Id  Sistema
mandriva.img1   *          63     7181054     3590496   83  Linux
mandriva.img2         7181055     8385929      602437+   5  Extendida
mandriva.img5         7181118     8080694      449788+  82  Linux swap / Solaris
mandriva.img6         8080758     8385929      152586   83  Linux

Así, para montar la primera partición, tenemos que saltar 63*512 bytes=32256, para lo que ejecutaríamos:

mount -o loop,offset=32256 -t ext3 mandriva.img directorio_para_montar

Si, en cambio, quisiésemos montar la última partición (8080758*512), tendríamos que ejecutar:

mount -o loop,offset=4137348096 -t ext3 mandriva.img directorio_para_montar

Lógicamente, si las particiones fuesen, por ejemplo, FAT, habría que usar la opción -t vfat.