View previous topic :: View next topic |
Author |
Message |
AnimAlf Apprentice
Joined: 20 Jun 2008 Posts: 229 Location: tgn
|
Posted: Sat Jul 12, 2008 11:14 pm Post subject: [app-emulation] Módulo Kqemu (Solucionado) |
|
|
Hola, estoy siguiendo este hilo HOWTO Instalar Gentoo en Vmware Fusion 1.1.3 y quiero realizar una imagen que pueda utilizarse en los dos emuladores Vmware y Qemu.
Pero quiero que me funcione correctamente el módulo kqemu ... os cuento
Esto pretendia ser un doc por lo que la redacción no parecerá la de una duda ... pero ... si no llega a buen puerto no puede llegar a ser DOC
hace un tiempo tenía el módulo kqemu bien instalado pero para otro kernel, que ya no utilizo, por lo que no lo tenia cargado para el actual. Me interesa tener instalado el módulo kqemu por el incremento de velocidad para el emulador. Quien haya probado el qemu sin el kqemu seguro que opina que se trata de una máquina virtual lenta, pero con el kqemu cargado en él, ... bien, la opinión debe salir de cada cual, pero la velocidad se incrementa un monton.
Voy a explicar como lo he instalado en una máquina x86 hoy. Pero no consigo el resultado "enabled for user and kernel code" si no que sólo "enabled for user code" que no está mal, por que al menos aparece enabled, pero en la wiki dice que:
Quote: | (qemu)info kqemu
kqemu support: enabled for user and kernel code
If you see any other message, kernel KQEMU support is not enabled. |
Los pasos que he seguido:
He empezado de cero y lo he desinstalo:
keeper ~ # emerge --unmerge kqemu qemu-user qemu-softmmu qemu
ahora instalo app-emulation/kqemu
keeper ~ # emerge app-emulation/kqemu
corrijo el archivo /etc/udev/rules.d/48-qemu.rules
para que quede del siguiente modo:
KERNEL=="kqemu*", NAME="%k", GROUP="qemu", MODE="0666"
me añado al grupo qemu
Quote: | keeper ~ # gpasswd -a animalf qemu
Añadiendo al usuario animalf al grupo qemu |
tengo que loginearme de nuevo para que forme parte del grupo, por lo que reinicio sesión.
cargo el módulo en memoria:
keeper ~ # modprobe kqemu major=0
y también se lo clavo al archivo para la carga automática del módulo tras el proximo arranque del sistema
keeper ~ # echo kqemu major=0 >> /etc/modules.autoload.d/kernel-2.6
Ahora procederé a la nueva compilación. Pero qemu exige ser compilado con gcc-3 para poder trabajar correctamente
para poder observar las versiones de los compiladores que tengo en la máquina y cual tengo activo utilizo:
Quote: | keeper ~ # gcc-config -l
[1] i686-mingw32-4.3.1 *
[2] i686-pc-linux-gnu-3.3.6
[3] i686-pc-linux-gnu-4.1.2 * |
Veo que tengo la opción 3 activa correspondiente a gcc-4 (la primera opción se refiere al compilador mingw que utilizo para construir binarios para win, pero esto es otra historia relacionada con crossdev y compilaciones cruzadas)
para activar gcc-3 hago lo siguiente
Quote: | keeper ~ # gcc-config 2 && env-update && source /etc/profile
* Switching native-compiler to i686-pc-linux-gnu-3.3.6 ...
>>> Regenerating /etc/ld.so.cache... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile
>>> Regenerating /etc/ld.so.cache... |
y ya puedo compilar de nuevo el qemu (en el /etc/portage/package.use compruebo que tengo la siguiente línea app-emulation/qemu-softmmu kqemu), luego compruebo que es lo que va a ocurrir
Quote: | keeper ~ # emerge -pv qemu
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] app-emulation/qemu-softmmu-0.9.1-r3 USE="alsa gnutls kqemu sdl" 2,739 kB
[ebuild N ] app-emulation/qemu-0.9.1 0 kB
Total: 2 packages (2 new), Size of downloads: 2.738 kB |
Parece todo correcto ... adelante
keeper ~ # emerge qemu qemu
Ahora devuelvo el gcc a su estado más innovador gcc-4 :p (recuerda que la opción 3 es en mi caso si lo realizas comprueba cual es tu opción con gcc-config -l)
Quote: | keeper ~ # gcc-config 3 && env-update && source /etc/profile
* Switching native-compiler to i686-pc-linux-gnu-4.1.2 ...
>>> Regenerating /etc/ld.so.cache... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile
>>> Regenerating /etc/ld.so.cache... |
Pues ahora a acceder de nuevo, en lugar de utilizar qemu-system-x86_64 utilizaré simplemente qemu ya que con el anterior no consigo nada del kqemu, esto se podrá ver al acceder, accediendo a la consola. Arranco con la orden que aparece a continuación, aparece boot: y pulso F1 para ver la lista de kernels y así que no me arranque automáticamente.
keeper ~ # qemu -M pc -cpu qemu32 -localtime -hda /home/AnimAlf/images/gentoo.img -cdrom /dev/hdc -m 450 -boot d -k es -soundhw all -usb -net nic -net user
Luego pulso la combinación Ctrl+Alt+2 para acceder a la consola virtual. en donde tecleo info kqemu
Code: | QEMU 0.9.1 monitor - type 'help' for more information
(qemu) info kqemu
kqemu support: enabled for user code
(qemu) |
Veo que aparece que esta activado para user code, pero me tendría que aparecer: enabled for user and kernel code
Al menos lo utiliza, está trabajando con él. Pero quiero que funcione del todo.
¿Que estoy haciendo mal? ¿Qué me dejo? Por que no aparece también la opción del kernel.
Gracias _________________ En busca del TuXeR perdido
Last edited by AnimAlf on Sun Jul 13, 2008 2:05 am; edited 1 time in total |
|
Back to top |
|
|
AnimAlf Apprentice
Joined: 20 Jun 2008 Posts: 229 Location: tgn
|
Posted: Sun Jul 13, 2008 2:04 am Post subject: |
|
|
je, je, me respondo a mi mismo :))
sólo tenía que añadir la opción -kernel-kqemu a la llamada O:-)) utilizando qemu a secas
lo estube probandolo con qemu-system-x86_64 y como me respondía:
qemu-system-x86_64: invalid option -- '-kernel-kqemu'
pues lo descarté para qemu, pensando esa opción era alguna opción de compilación que no encontraba (o de las del ./configure tradicional) o algo similar.
Solucionado :-D
News vemos _________________ En busca del TuXeR perdido |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|