jueves, 26 de febrero de 2009

IBM presenta el libro Conociendo DB2 Express C, en español

¡Ahora puede enseñar DB2 en español!
IBM presenta el libro Conociendo DB2 Express Cen español
Este libro gratuito está destinado a todas aquellas personas que trabajan o tienen la intención de trabajar con bases de datos, como administradores de base de datos (DBAs), desarrolladores, consultores, arquitectos de software, gerentes de producto, docentes y estudiantes.


¡DESCARGUELO AHORA MISMO!
ftp://ftp.software.ibm.com/software/data/db2/express-c/wiki/Conociendo_DB2_Express_v9.5.pdf

miércoles, 21 de enero de 2009

Compilando un Kernel Custom para Ubuntu

NOTA: probado en Ubuntu 8.04. Debería ser igual en otras distribuciones.

Este tutorial les va a indicar como compilar un kernel custom de Linux basado en el kernel 2.6.22, pero con unas optimizaciones hechas por Con Kolivas (un anestecista).
Esta basado en otros tutoriales que pueden encontrar por ahí, pero con el agregado del soporte para placas de video NVIDIA y placas de sonido Intel.
Recuerden: esta es una guía que no necesariamente debe seguirse al pie de la letra, siempre en Linux hay varias formas de hacer lo mismo.


Descargamos las herramientas necesarias

apt-get install build-essential libncurses-dev kernel-package


Descargamos el Kernel

cd /usr/src

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2


Descomprimimos el kernel

tar -xjf linux-2.6.22.tar.bz2

cd linux-2.6.22


Descargamos el patch de Con Kolivas

wget www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.22/2.6.22-ck1/patch-2.6.22-ck1.bz2


bzcat patch-2.6.22-ck1.bz2 |patch -p1


Copiamos la configuración del kernel actualmente funcionando

cp /boot/config-`uname -r` .config


Iniciamos la herramienta de configuración del Kernel

make menuconfig

En “General Setup” activar:
- Support for paging of anonymous memory (swap)
- Support for prefetching swapped memory

En “Processor type and features“:
- "Processor family" Elegir la familia del procesador.
- Setear "Preemption Model" a "Voluntary Kernel Preemption (Desktop)"
- High Memory Support
- "off" - si la máquina tiene menos de 1 GB de RAM
- "1GB" Low Memory Support - Si tiene 1GB de RAM
- "4GB" - Si tiene más de 1GB de RAM
- Setear "Timer frequency" a 1000 Hz

En “Kernel hacking” desactivar “Kernel debugging“.


Esta parte es para los que tienen placas NVIDIA

cd /usr/src/

sudo apt-get install nvidia-kernel-source

sudo tar xzvf nvidia-kernel-source


Compilamos el kernel (y los módulos NVIDIA)

cd /usr/src/linux-2.6.22

make-kpkg -initrd –revision=LinuxMonitor1 kernel_image kernel_headers modules_image

Paciencia, puede tardar más de una hora según el tipo de computadora. Una vez terminado deberían haber 3 paquetes .deb: el kernel, los headers y el módulo NVIDIA. Es decir:

linux-headers-2.6.22-ck1_LinuxMonitor1_i386.deb
linux-image-2.6.22-ck1_LinuxMonitor1_i386.deb
nvidia-kernel-2.6.22-ck1_96.43.05-0ubuntu3+LinuxMonitor1_i386.deb


Instalando el kernel

sudo dpkg -i linux-image-2.6.22-ck1_LinuxMonitor1_i386.deb
sudo dpkg -i linux-headers-2.6.22-ck1_LinuxMonitor1_i386.deb


Instalando el soporte NVIDIA

ctrl+alt+F1

sudo /etc/init.d/gdm stop

cd /usr/src/

sudo dpkg -i nvidia-kernel-2.6.22-ck1_96.43.05-0ubuntu3+LinuxMonitor1_i386.deb

sudo depmod -a

Instalamos Envy (para configurar el video)

sudo apt-get install envyng-gtk

sudo envyng -t

Seguimos los pasos que nos pide para instalar los drivers (normalmente es elegir que marca es nuestra placa y listo).


Ahora deberíamos reiniciar y el nuevo kernel debería estar en la lista del GRUB.

/sbin/reboot


Iniciando el modo gráfico

Si todo salió bien debería arrancar con el logo de NVIDIA indicando que todo salio en forma satisfactoria. En mi caso no tenía sonido, así que si es el caso vamos al paso siguiente.


Descargando ALSA

Entramos en el sitio web de alsa (http://www.alsa-project.org/) y nos descargamos las últimas versiones de alsa-drivers, alsa-lib, alsa-oss y alsa-utils.

Detenemos ALSA

sudo /etc/init.d/alsa-utils stop

Ingresamos al directorio donde descargamos los archivos

cd directorio/donde/estan/los/archivos

tar xvf alsa-driver-1.0.19.tar.bz2

tar xvf alsa-lib-1.0.19.tar.bz2

tar xvf alsa-utils-1.0.19.tar.bz2

tar xvf alsa-oss-1.0.19.tar.bz2

NOTA: Este es un ejemplo para la versión 1.0.19, si descargaron una versión diferente, cambien el número en la linea para descomprimir. Por ejemplo en el hipotético caso que sea la versión 1.0.20 sería tar xvf alsa-oss-1.0.20.tar.bz2


Compilamos el ALSA (para mi placa Intel)

cd alsa-driver-1.0.19

sudo ./configure --with-kernel=/usr/src/linux-headers-$(uname -r) --with-cards=hda-intel --with-oss=yes

Si no tienen una placa intel, pueden buscar el modelo correspondiente e indicarlo en la linea que dice "with-cards" ó compilar para todas las placas de la siguiente forma

sudo ./configure --with-kernel=/usr/src/linux-headers-$(uname -r) --with-oss=yes

Instalamos ALSA

sudo make

sudo make install


Compilamos e instalamos ALSA LIB

cd ..

cd alsa-lib-1.0.19

sudo ./configure

sudo make

sudo make install


Compilamos e instalamos ALSA UTILS

cd ..

cd alsa-utils-1.0.19

sudo ./configure

sudo make

sudo make install


Compilamos e instalamos ALSA OSS

cd ..

cd alsa-oss-1.0.19

sudo ./configure

sudo make

sudo make install


Con eso debería funcionar el sonido. Reiniciamos y listo.


Les dejo unas referencias para profundizar dudas en caso que tengan problemas

Optimizando UBUNTU - http://www.linuxmonitor.net/blog/2007/03/ultimate-ubuntu-performance-tweaking.html

Instalar ENVY - http://www.albertomilone.com/envyngfaq.html

Instalar ALSA - http://www.ubuntu-es.org/index.php?q=node/56763

NVIDIA + Custom Kernel - http://ubuntuforums.org/showthread.php?t=242328