The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Entorno de 32 bits para Wine (Usando chroot)
En Funtoo 1.4, las aplicaciones de 32 bits no pueden ser ejecutadas directamente, esto incluye a Wine de 32 bits. Sin embargo, Wine de 32 bits es necesario para ejecutar aplicaciones comunes de Windows. Existen varios métodos para utilizar aplicaciones x86 en un sistema "puro" de 64 bits como Funtoo 1.4. Puede utilizar contenedores LXD por ejemplo. Aquí documentaremos otra forma, una que ya se ha probado y funciona.
La idea es instalar una distribución Linux de 32 bits en un entorno al que se pueda acceder por chroot y redirigir su salida gráfica hacia el sistema anfitrión. Puede utilizar la distribución que le apetezca, pero en este ejemplo utilizaremos una instalación de Gentoo de 32 bits ya que es muy similar en uso e instalación con respecto a Funtoo.
Usted puede colocar el directorio de chroot donde lo prefiera, le sugerimos hacerlo dentro de su carpeta home. Descargue dentro de ese directorio el tarball "x86 Gentoo stage3" de http://distfiles.gentoo.org/releases/x86/autobuilds/current-stage3-i686/ (En el tiempo de esta edición, http://distfiles.gentoo.org/releases/x86/autobuilds/current-stage3-i686/stage3-i686-20191008T214502Z.tar.xz )
De igual forma, puede utilizar un tarbal Funtoo 1.4 x86 stage3, sea una construcción genérica de 32 bits de https://www.funtoo.org/Generic_32 o una i686 de https://www.funtoo.org/I686 luego, siga las instrucciones de instalación de la Guía de instalación y continúe más abajo en X redirection
.
user $ mkdir ~/gentoo user $ cd ~/gentoo user $ wget <stage3_URL>
Tome el control de root por ahora, de otra forma el stage3 no podrá extraerse correctamente. Luego, siga los pasos de instalación que le proporcione el manual de Gentoo.
user $ sudo su root # tar xpf <stage3> root # cp /etc/resolv.conf /home/<username>/gentoo/etc root # mount -t proc none proc root # mount --rbind /sys sys root # mount --rbind /dev dev root # env -i HOME=/root TERM=$TERM /bin/chroot . bash -l root # export PS1="(chroot) $PS1" (chroot)# emerge-webrsync (chroot)# emerge --sync (chroot)# eselect profile list
y seleccione un perfil de escritorio. Para este ejemplo fue el #5, default/linux/x86/17.0/desktop (stable). El perfil de escritorio traerá Xorg el cual será necesario para Wine más adelante.
(chroot)# eselect profile set 5
Edite el archivo make.conf y añada la opción MAKEOPTS correcta para su sistema ("-j7" funcionó para nosotros) y realice una actualización completa, le sugerimos hacer algo por las próximas horas.
(chroot)# emerge -avuDN @world
Una vez todo esté listo, configure la X redirection
en el entorno chroot para que éste pueda mostrar imagen en el sistema anfitrión.
En el sistema anfitrión, en otra terminal:
user $ xauth list
mostrará la cookie "mágica" de la pantalla del sistema anfitrión. Coloque esto dentro del archivo .Xauthority en el sistema chroot:
user $ sudo xauth extract <path_to_chroot>/root/.Xauthority <hostname>/unix:0
...donde <hostname> es el nombre de su sistema anfitrión.
NB: Cuando cierre sesión en su sistema anfitrión la cookie cambiará, así que tendrá que repetir este paso o la redirección de X dejará de funcionar.
Regrese al entorno chroot y verifique que la cookie está colocada correctamente:
(chroot)# xauth list
debería mostrar la misma cookie que en el sistema anfitrión.
Luego, coloque la variable DISPLAY en el entorno chroot:
user $ echo $DISPLAY
debería mostrarse un ":0.0"
(chroot)# export DISPLAY=":0.0"
Puede añadir la siguiente línea a /etc/profile en Gentoo para que se configure automáticamente cada que ingrese al entorno chroot.
Verifique que eso funcione. Dentro de su entorno chroot ejecute xcalc (puede que necesite instalarlo primero) y éste debería mostrarse en su monitor anfitrión.
(chroot)# xcalc
If no errors, emerge wine in the chroot and configure it. You should have a 32-bit wine now, ready to run 32-bit Windows binaries (minus configuring, figuring out missing libs etc - but this is beyond the scope of this writeup)
(chroot)# emerge wine
Final size of the chroot Gentoo on my disk was close to 4.5GB. Of course you can use the chroot x86 Gentoo/Funtoo for other things that require a 32-bit environment, not only Wine.
And a final trick. Once you have everything setup, if you know how to use shell scripts you can automate the process of setting the cookie and entering the chroot. For instance I use a script that I put in ~/gentoo:
/home/<username>/gentoo/chr.sh
rm /home/<username>/gentoo/root/.Xauthority
xauth extract /home/<username>/root/.Xauthority <hostname>/unix:0
mount -t proc none proc
mount --rbind /sys sys
mount --rbind /dev dev
env -i HOME=/root TERM=$TERM /bin/chroot . bash -l
Replace <username> with your user name, and <hostname> with your machine's name. By executing that script as root from the ~/gentoo directory it automatically sets the cookie and enters the chroot.
To get the (chroot)# prompt, you can add the line
export PS1="(chroot) $PS1"
at the end of your /home/<username>/gentoo/etc/profile file.