Debido a que no habia podido conseguir instalar
IE4Linux bajo FreeBSD 7.0, me tome a la tarea de buscar la manera de poder correrlo y opte por la ultima instancia que era emularlo o virtualizarlo. Como sigo la metodologia de ports, instale y utilice
QEMU para poder virtualizar una instancia de WinXP y poder asi correr Internet Explorer 7 bajo esa instancia.
Estos fueron los pasos para la creacion de la imagen, instalacion y arranque de l sistema operativo. Es imprescindible que qemu soporte aceleracion instalando el modulo kqemu. Por lo pronto lo cargamos con:
kldload aioSi el port de qemu no soporta la aceleracion kqemu entonces realice:
# cd /usr/ports/emulator/qemu
# make -DWITH_KQEMU
# kldload aio
# make install clean
o
# make deinstall
# make reinstall clean (si estaba instalado previamente)
1. crear carpeta local ~/windows y acceder a ella (cd ~/windows)
2.
$ qemu-img create -f qcow2 c.qcow 4G
Es importante utilizar el formato de archivo qcow2 (version 2) ya ke el formato qcow legacy no lo soporta y puede aparecer un error como este al intentar iniciar qemu para instalar XP en este caso desde un cd-rom:
$ qemu -cdrom /dev/acd0 -hda c.qcow -m 256 -boot d
qemu: could not open disk image /dev/acd0
aparentemente no reconoce la imagen del archivo generado por qemu-img.
3. Habilitacion manual del modo bridge para interfaces de red en FreeBSD 7.x:# ifconfig tap create# ifconfig bridge create# ifconfig bridge0 addm tap0 addm rl0 updonde en este caso, rl0 seria la interfaz por la cual fisicamente esta conectada a internet.
4. Instalacion de WinXP bajo qemu desde cdrom:# qemu -cdrom /dev/acd0 -hda c.qcow -m 256 -net nic -net tap -boot d
La ruta correspondiente al cdrom es relativo a la ruta asignada en el inicio del nucleo.
5. Suspender la maquina virtual y ...:crear el fichero /etc/qemu-ifup con lo siguiente:
#!/bin/shifconfig ${1} 0.0.0.0aplicarle atributos:
# chmod 755 /etc/qemu-ifup
6. Definir permiso al dispositivo default que genera qemu cuando se invoca el bridge con el parametro -net nic -net tap Para esto, hay que agregar en /etc/devfs.conf:
own tap9 user:group
Esto hara que en modo de arranque del sistema el dispositivo se configure de esta manera para que qemu pueda utilizarlo.
7. Proceso de arranque para que QEMU pueda ejecutar en la maquina virtual, la version de WinXP que se instalo con soporte al menos de la NIC ya virtualizada enlazandose al bridge
a. en /boot/loader.conf agregar:
aio_load="YES" #needed for qemukqemu_load="YES" #needed for qemuif_bridge_load="YES" #needed for qemuif_tap_load="YES" #needed for qemukern.hz="1024" #needed for qemub. en /etc/rc.conf agregar:
cloned_interfaces="bridge0"ifconfig_rl0="up promisc -rxcsum -txcsum"ifconfig_bridge0="addm rl0 up"autobridge_interfaces="bridge0"autobridge_bridge0="tap*"8. Reiniciar maquina.
9. Si todo sale bien sin contratiempos ejecutar:
qemu -localtime -hda c.qcow -m 512 -net nic,vlan=0\
tap,vlan=0,ifname=tap9,script=/etc/./qemu-ifup -boot c
Gracias a la recopilacion que realice mas organizada de algunos
comos en la red, toco contemplar y empezar a verificar como sería la manera de que la linea de comando me permitiera ejecutar el sistema operativo y ke al menos por ahora me reconociese el controlador de red generico en XP.
Referencias:
http://people.freebsd.org/~maho/qemu/qemu.htmlhttp://blog.xwings.net/?p=48