Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] Chroot AMD64
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
lukin-amd64
n00b
n00b


Joined: 01 Mar 2006
Posts: 66
Location: Sant Feliu de Llob. (Bcn)

PostPosted: Fri Jun 30, 2006 8:35 pm    Post subject: [HOWTO] Chroot AMD64 Reply with quote

Bueno aquí llega mi primera aportación; xD (y no sera la última) :lol:


Crear entorno de 32 bits en AMD64

-Introducción

Esta guía te permitirá crear un entorno para poder ejecutar aplicaciones de 32 bits en tu tu amd64. Por ejemplo (openoffice, mplayer, win32codecs ..)


-Instalación:

Para instalar el entorno de 32 bits tenemos que descargar el stage3 de la arquitectura x86 (de uno de los servidores de gentoo.) http://www.gentoo.org/main/en/mirrors.xml

Descargando stage3 de un servidor de gentoo.


Code:
$ cd /home/user/downloads                                                                                                           
wget -c http://linuv.uv.es/mirror/gentoo/releases/x86/2006.0/stages/http://linuv.uv.es/mirror/gentoo/releases/x86/2006.0/stages/stage3-x86-2006.0.tar.bz2


Nota: No descargeis la stage para amd64

Después de descargar la stage3 crearemos el directorio para poner nuestro nuevo entorno.
Code:
$ su root (ponemos la contraseña)
# cd /mnt
# mkdir gentoo32


Una vez creado el directorio procediremos a descomprimirlo.


Code:
# cd /mnt/gentoo32
# tar -xvjpf /home/user/downloads/stage3-x86-2006.0.tar.bz2


Ahora copiaremos el archivo resolv.conf y el passwd al nuevo entorno.


Code:
# cp -L /etc/resolv.conf /mnt/gentoo32/etc/                                     
# cp -L /etc/passwd /mnt/gentoo32/etc/


-Configuración

Configurando el entorno de 32 bits.


Empezamos configurando el nuevo make.conf

Code:
CFLAGS="-O2 -march=athlon-xp -msse2 -pipe -fomit-frame-pointer"         
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"


Ahora montamos el entorno chroot32.

Code:
# mount -o bind /dev /mnt/gentoo32/dev
# mount -o bind /dev/pts /mnt/gentoo32/dev/pts
# mount -o bind /dev/shm /mnt/gentoo32/dev/shm
# mount -o bind /proc /mnt/gentoo32/proc
# mount -o bind /proc/bus/usb /mnt/gentoo32/proc/bus/usb
# mount -o bind /tmp /mnt/gentoo32/tmp
# mount -o bind /sys /mnt/gentoo32/sys


Ahora creamos un link entre el portage actual y el del entorno de 32 bits.


Code:
# mkdir -p /mnt/gentoo32/usr/portage/
# mount -o bind /usr/portage /mnt/gentoo32/usr/portage/



-Entrando en el nuevo entorno.


Code:
# linux32 chroot /mnt/gentoo32 /bin/bash


Nota: para los que no tengan setarch que hagan un:
Code:
# emerge setarch


Ahora ya estamos en el nuevo entorno, es hora de actualizarlo.

Code:
# source /etc/profile
# env-update
# emerge -au world


Una vez terminada la actualizaciónción abremos terminado con el entorno de 32 bits.
Para que se nos monte nuestro entorno al iniciar nuestra computadora crearemos este script.

Creando el nuevo archivo en /etc/init.d

Code:
# nano -w /etc/init.d/gentoo32
#!/sbin/runscript

depend() {
   need localmount
   need bootmisc
}

start() {
    ebegin "Mounting 32bits chroot dirs"
    mount -o bind /dev /mnt/gentoo32/dev >/dev/null &
    mount -o bind /dev/pts /mnt/gentoo32/dev/pts >/dev/null &
    mount -o bind /dev/shm /mnt/gentoo32/dev/shm >/dev/null &
    mount -o bind /proc /mnt/gentoo32/proc >/dev/null &
    mount -o bind /proc/bus/usb /mnt/gentoo32/proc/bus/usb >/dev/null &
    mount -o bind /sys /mnt/gentoo32/sys >/dev/null &
    mount -o bind /tmp /mnt/gentoo32/tmp >/dev/null &
    mount -o bind /usr/portage /mnt/gentoo32/usr/portage/ >/dev/null &
    eend $? "An error occured while attempting to mount 32bit chroot directories"
    ebegin "Copying 32bits chroot files"
    cp -pf /etc/resolv.conf /mnt/gentoo32/etc >/dev/null &
    cp -pf /etc/passwd /mnt/gentoo32/etc >/dev/null &
    cp -pf /etc/shadow /mnt/gentoo32/etc >/dev/null &
    cp -pf /etc/group /mnt/gentoo32/etc >/dev/null &
    cp -pf /etc/gshadow /mnt/gentoo32/etc >/dev/null &
    cp -pf /etc/hosts /mnt/gentoo32/etc > /dev/null &
    cp -Ppf /etc/localtime /mnt/gentoo32/etc >/dev/null &
    eend $? "An error occured while attempting to copy 32 bits chroot files."
}

stop() {
    ebegin "Unmounting 32bits chroot dirs"
    umount -f /mnt/gentoo32/dev/pts >/dev/null &
    umount -f /mnt/gentoo32/dev/shm >/dev/null &
    umount -f /mnt/gentoo32/dev >/dev/null &
    umount -f /mnt/gentoo32/proc/bus/usb >/dev/null &
    umount -f /mnt/gentoo32/proc >/dev/null &
    umount -f /mnt/gentoo32/sys >/dev/null &
    umount -f /mnt/gentoo32/tmp >/dev/null &
    umount -f /mnt/gentoo32/usr/portage/ >/dev/null &
    eend $? "An error occured while attempting to unmount 32bits chroot directories"
}


I le damos permisos:

Code:
# chmod 777 /etc/init.d/gentoo32
#  rc-update add gentoo32 default


Ejemplo: (instalando aplicaciones en nuestro nuevo entorno)


Code:
# linux32 chroot /mnt/gentoo32 /bin/bash (montamos el entorno)                           
# source /etc/profile
# env-update
# emerge mplayer (...........)


Para ejecutar aplicaciones con X desde nuestro entorno de 32 bits debemos hacer:

Code:
# xhost local:localhost (en una consola de 64 bits)


Conclusión

Con este entorno podemos instalar y ejecutar paquetes que solo estan en x86. Es el caso de Openoffice, mplayer.....
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
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