2010/11/28

Xen 4.0.1 en Debian GNU/Linux Lenny 2.6.32

Luego de varios problemas con Xen 3.4 sobre Debian GNU/Linux 2.6.26 decidí que debía evitar problemas instalando Xen 4.

Tras varios intentos, y en base a http://wiki.xen.org/xenwiki/Xen4.0 y http://tech-blog.cendhu.com/2010/09/xen-40-installation-on-ubuntu-lucid.html, cree un shell script para consolidar el procedimiento, refinarlo y compartirlo.

Xen no ha resultado simple, por lo que no doy garantías sino sólo indicar que a mi me sirvió.

-----------------------------------------------------------------------------------------

#!/bin/bash
#http://wiki.xen.org/xenwiki/Xen4.0

#Primera parte
#Packages required for building from source
apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev iasl libbz2-dev e2fslibs-dev git-core uuid-dev ocaml libx11-dev
apt-get install gcc-multilib

#Requerido en runtime por xen-create-image 
apt-get install libtext-template-perl

#He agregado backports para bajar el kernel 2.6.32 según http://wiki.debian.org/Backports
apt-get install linux-image-2.6.32-bpo.5-amd64 linux-image-2.6.32-bpo.5-xen-amd64

#No bajamos de nuevo las fuentes si existe el empaquetado.
if [ ! -e "xen-4.0.1.tar.gz" ]
then
fi

#Installation from source
tar xzf xen-4.0.1.tar.gz
cd xen-4.0.1

#Cada paso se ejecuta si el anterior terminó sin error
make xen && make tools && make install-xen && make install-tools PYTHON_PREFIX_ARG=

cd ..

#Segunda parte
#No bajamos de nuevo las fuentes si existe el empaquetado.
if [ ! -e "xen-tools-4.1.tar.gz" ]
then
fi

tar xzf xen-tools-4.1.tar.gz

cd xen-tools-4.1
make install

#Sólo agregamos una vez el montaje
if [ -z "$(grep /etc/fstab -e xenfs)" ]
then
        echo "none /proc/xen xenfs defaults 0 0" >> /etc/fstab
fi

#Sólo agregamos una vez los nuevos módulos
if [ -z "$(grep /etc/modules -e xenfs)" ]
then
        echo "xenfs" >> /etc/modules
        echo "xen-evtchn" >> /etc/modules
fi

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

En /boot/grub/menu.lst agregué una opción para el dom0:

title           Xen 4.0.1 / Debian GNU/Linux, kernel 2.6.32-bpo.5-xen-amd64
root            (hd0,0)
kernel          /xen-4.0.1.gz
module          /vmlinuz-2.6.32-bpo.5-xen-amd64 root=/dev/mapper/felix-root ro console=tty0
module          /initrd.img-2.6.32-bpo.5-xen-amd64



Luego de reiniciar la máquina:

# uname -a
Linux felix 2.6.32-bpo.5-xen-amd64 #1 SMP Thu Oct 21 13:52:59 UTC 2010 x86_64 GNU/Linux

# xm info
host                   : felix
release                : 2.6.32-bpo.5-xen-amd64
version                : #1 SMP Thu Oct 21 13:52:59 UTC 2010
machine                : x86_64
nr_cpus                : 8
nr_nodes               : 1
cores_per_socket       : 1
threads_per_core       : 5
cpu_mhz                : 2940
hw_caps                : bfebfbff:28100800:00000000:00001340:0098e3bd:00000000:00000001:00000000
virt_caps              : hvm
total_memory           : 9974
free_memory            : 648
node_to_cpu            : node0:0-7
node_to_memory         : node0:648
node_to_dma32_mem      : node0:646
max_node_id            : 0
xen_major              : 4
xen_minor              : 0
xen_extra              : .1
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        :
cc_compiler            : gcc version 4.3.2 (Debian 4.3.2-1.1)
cc_compile_by          : root
cc_compile_domain      : RENOMBRADO
cc_compile_date        : Sat Nov 27 23:56:39 CLST 2010
xend_config_format     : 4



Aunque dmesg muestra este problemita, ya puedo continuar en lo mío:


XENBUS: Unable to read cpu state



Saludos!

2010/11/20

Saludos

Luego de meditarlo un tiempo, decidí comenzar mi propio blog.

Como una forma de mantener un registro de procedimientos útiles en la nube, y ojalá aportando a la comunidad, comienzo a documentar, comentar y mostrar cosillas que me han parecido interesantes.

Por si le interesa, este es El Blog del Gato!