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
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
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.