Xen Setup · 4 min read · Feb 10, 2026

La configuración perfecta de Xen 3.0.3 para Debian Sarge - Página 2

4 Instalación desde las fuentes

Ejecuta los siguientes comandos:

apt-get remove exim4 exim4-base lpr nfs-common portmap pidentd pcmcia-cs pppoe pppoeconf ppp pppconfig  
apt-get install iproute bridge-utils python-twisted gcc-3.3 binutils make zlib1g-dev python-dev transfig bzip2 screen ssh debootstrap libcurl3-dev libncurses5-dev x-dev

4.1 Instalar Xen

Ahora descargamos xen-3.0.3_0-src.tgz de http://www.xensource.com/xen/downloads/dl_303tarballs.html y lo descomprimimos:

cd /usr/src  
wget http://bits.xensource.com/oss-xen/release/3.0.3-0/src.tgz/xen-3.0.3_0-src.tgz  
tar -xvzf xen-3.0.3_0-src.tgz

Luego compilamos Xen. Esto creará un núcleo de Xen (2.6.16.29-xen). Debemos hacer esto antes de poder crear núcleos individuales para dom0 y domU. Esto puede tardar mucho tiempo, así que ten paciencia:

cd xen-3.0.3_0-src/  
make world  
make install  
mv /lib/tls /lib/tls.disabled

Ahora Xen está instalado. Para iniciar los servicios de Xen al arrancar, haz lo siguiente:

update-rc.d xend defaults 20 21  
update-rc.d xendomains defaults 21 20

Necesitamos un ramdisk para nuestro nuevo núcleo de Xen, por lo tanto hacemos lo siguiente:

depmod 2.6.16.29-xen
apt-get install libhtml-template-perl libparse-recdescent-perl
wget http://downloads.howtoforge.com/files/yaird_0.0.12-8bpo1_i386.deb  
dpkg -i yaird_0.0.12-8bpo1_i386.deb

(El paquete original de yaird estaba ubicado en http://backports.org/debian/pool/main/y/yaird/, pero fue eliminado en el ínterin, así que he hecho el paquete disponible en http://downloads.howtoforge.com/files/yaird_0.0.12-8bpo1_i386.deb.)

mkinitrd.yaird -o /boot/initrd.img-2.6.16.29-xen 2.6.16.29-xen

El último comando crea el ramdisk /boot/initrd.img-2.6.16.29-xen.

A continuación, agregamos nuestro nuevo núcleo a Grub, nuestro gestor de arranque. Edita /boot/grub/menu.lst, y antes de la línea ### BEGIN AUTOMAGIC KERNELS LIST agrega la siguiente estrofa:

vi /boot/grub/menu.lst

| [...] title Xen 3.0.3 / XenLinux 2.6 root (hd0,0) kernel /xen.gz dom0_mem=64000 module /vmlinuz-2.6-xen root=/dev/hda6 ro max_loop=255 module /initrd.img-2.6.16.29-xen [...] |

Asegúrate de que /dev/hda6 sea tu / partición. Ten en cuenta lo que dije sobre Grub y la partición en el capítulo 1. ¡Agregué max_loop=255 a la línea del módulo para asegurarme de que haya suficientes dispositivos de bucle disponibles porque nuestras máquinas virtuales se montarán como dispositivos de bucle!

Ahora reinicia el sistema:

shutdown -r now

En el aviso de arranque, Grub ahora debería listar Xen 3.0.3 / XenLinux 2.6 como el primer núcleo y arrancarlo automáticamente. Si tu sistema se inicia sin problemas, ¡entonces todo está bien!

4.2 Compilar un núcleo dom0

Ahora compilamos un núcleo dom0:

cd /usr/src/xen-3.0.3_0-src/  
make linux-2.6-xen0-config CONFIGMODE=menuconfig KERNELS="linux-2.6-xen0"

En el menú de configuración del núcleo que aparece, habilitamos cuota, iptables y el controlador de red dummy como módulos. Aquí es donde habilitas estos módulos:

File systems --> [*] Quota support  
 Old quota format support  
 Quota format v2 support
Device Drivers ---> Network device support --->  Dummy net driver support
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> Core Netfilter Configuration --->  Netfilter Xtables support (required for ip_tables)
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration --->  IP tables support (required for filtering/masq/NAT)

[*] significa: construir en el núcleo de forma estática.

significa: construir como un módulo del núcleo. A continuación, construimos e instalamos el núcleo dom0: ``` make linux-2.6-xen0-build make linux-2.6-xen0-install depmod 2.6.16.29-xen0 ``` A continuación, agregamos nuestro nuevo núcleo a Grub, nuestro gestor de arranque. Edita /boot/grub/menu.lst, y antes de la línea ### BEGIN AUTOMAGIC KERNELS LIST agrega la siguiente estrofa (¡por favor elimina o comenta la estrofa que agregaste en el capítulo 4.1!): ``` vi /boot/grub/menu.lst ``` | ``` [...] title Xen 3.0.3 / XenLinux 2.6 root (hd0,0) kernel /xen.gz dom0_mem=64000 module /vmlinuz-2.6-xen0 root=/dev/hda6 ro max_loop=255 [...] ``` | Asegúrate de que /dev/hda6 sea tu / partición. Ten en cuenta lo que dije sobre Grub y la partición en el capítulo 1. Ahora reinicia el sistema: ``` shutdown -r now ``` En el aviso de arranque, Grub ahora debería listar Xen 3.0.3 / XenLinux 2.6 como el primer núcleo y arrancarlo automáticamente. Si tu sistema se inicia sin problemas, ¡entonces todo está bien! ### 4.3 Compilar un núcleo domU Después, compilamos un núcleo para domU (las máquinas virtuales): ``` cd /usr/src/xen-3.0.3_0-src/ make linux-2.6-xenU-config CONFIGMODE=menuconfig KERNELS="linux-2.6-xenU" ``` En el menú de configuración del núcleo que aparece, debemos habilitar cuota e iptables como módulos (es importante que sean módulos. ¡No pude hacer que iptables funcionara en una máquina virtual cuando lo compilé en el núcleo de forma estática!). Aquí es donde habilitas estos módulos: ``` File systems --> [*] Quota support Old quota format support Quota format v2 support``` ``` Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> Core Netfilter Configuration ---> Netfilter Xtables support (required for ip_tables) ``` ``` Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration ---> IP tables support (required for filtering/masq/NAT) ``` [*] significa: construir en el núcleo de forma estática. significa: construir como un módulo del núcleo. Después de salir del menú de configuración del núcleo, haz lo siguiente para construir e instalar el núcleo domU: ``` make linux-2.6-xenU-build make linux-2.6-xenU-install depmod 2.6.16.29-xenU ```
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.