Configuración de Debian para obtener alto rendimiento en netbooks con microprocesador Intel Atom

Esta es la manera como yo instalo y configuro Debian en mi netbook para que me permita hacer música y aprovechar en todo sentido, no solo musical, el rendimiento de mi netbook. Espero que sea de utilidad para los usuarios de Debian y derivadas.

1-Como crear el instalador de Debian GNU/Linux en una memoria usb:

Descargar boot.img.gz:

http://people.debian.org/~joeyh/d-i/images/daily/hd-media/boot.img.gz

Desde el directorio donde esté boot.img.gz

# zcat boot.img.gz > /dev/sdb

Es importante usar sdb y no sdb1, o en el caso de que tenga otro nombre la unidad extraíble usb, siempre no especificar la partición

luego copio al pendrive una ISO de netinstall de Debian, la puedo bajar desde aquí:

http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/i386/iso-cd/debian-testing-i386-netinst.iso

también se pude usar:

# gzip -dc boot.img.gz > /dev/sdb

2-Instalación Debian Netinstall:

Desmarco la opción sistema standard, o sea instalo un sistema bien básico para agregar paquetes después, no uso replicas de red, agrego a mano los repositorios que utilizo después de la instalación

Particionado: Solo voy a explicar mas detalladamente el método de particionado, que deberá ser “manual” y donde designo las siguientes particiones

PUNTO DE MONTAJE
SISTEMA DE ARCHIVOS
TAMAÑO

/boot
ext2
100MB

Swap (área de intercambio)

Doble de la memoria RAM del

Sistema

/
Reiserfs, ext3, ó ext4
15-20 GB

/home
Ext3, Ext4 ó Reiserfs
Todo lo que sobre

Cada uno puede elegir el sistema de archivos que mas le guste pero para /boot elijo ext2 porque existen muchas herramientas de reparación y diagnóstico para este sistema. Yo en en / y /home uso reiserfs alguno dirá que ext4 es mejor (quizá para /home porque se comporta mejor que reiser con archivos grandes) y además alguno se quejará que el creador de reiser es un homicida, yo utilizo ese sistema porque me gusta su velocidad de acceso y nunca se me rompió.

3-Conexión a Internet:

Una vez iniciado el sistema, después de loguearme me cambio a usuario root

$ su

Contraseña:

#

Siempre que veamos el numeral # es que estamos “logueados” como usuario root (administrador) me aseguro de conectarme a Internet ejecutando:

# dhclient

Para que se conecte automáticamente al iniciar agregar lo siguiente al archivo /etc/network/interfaces:

# nano /etc/network/interfaces
#la interface de red primaria

allow-hotplug eth0

iface eth0 inet dhcp

guardo con ctrl+o y <enter>, ctrl+x para salir (a partir de ahora siempre que edite un archivo con nano voy a guardar y salir con estas combinaciones de teclas)

También puedo agregar los DNS (si ya no se agregaron automáticamente) a /etc/resolv.conf o en caso de red con router:

192.168.1.1

4-Repositorios:

agrego los repositorios al archivo /etc/apt/sources.list,

#  nano /etc/apt/sources.list

Y copio lo siguiente adentro:

deb http://security.debian.org/ testing/updates main

deb-src http://security.debian.org/ testing/updates main

deb http://ftp.us.debian.org/debian/ testing main contrib non-free

deb-src http://ftp.us.debian.org/debian/ testing main contrib non-free

deb ftp://ftp.debian-multimedia.org/ testing main

deb-src ftp://ftp.debian-multimedia.org/ testing main

ctrl+o (para guardar en nano)

<enter> (para confirmar el guardado)

ctrl+x (para salir)

# aptitude update

(para actualizar los repositorios)

# aptitude install debian-multimedia-keyring 

(para registrar las llaves públicas de los repositorios multimedia)

# aptitude update

(nuevamente)

Una vez hecho todo esto pasa a la instalación de todos los paquetes de mi sistema:

Primero actualizo la distribución a testing, por si acaso la iso que utilice es de debian-estable:

# aptitude dist-upgrade

GRUB 2

Es muy probable que me pregunte si quiero actualizar GRUB 2.0 le contestamos sí y una vez que reiniciemos ejecutamos como root:

# upgrade-from-grub-legacy

(Si tenemos más de un disco rígido elegimos todos cuando nos pregunte, aunque solo eligiendo el primero debería funcionar)

Luego, estos son los paquetes que yo instalo normalmente cada uno puede cambiar eligiendo las aplicaciones que necesite:

# aptitude install lxde gdm gtk-chtheme gtk2-engines-murrine lxde-icon-theme myspell-es apell-es iceweasel iceweasel-l10n-es-ar wicd localepurge bash-completion libdvdcss2 flashplugin-nonfree mesa-utils libgl1-mesa-glx libgl1-mesa-dri libglu1-mesa sun-java6-bin msttcorefonts alsa-base alsa-utils xine-ui sound-juicer qjackctl ardour audacity nted timidity freepats jamin caps tap-plugins k3b k3b-i18n geany hydrogen hydrogen-drumkits 

5-Configuro bash-completion:

Tanto en el archivo /etc/bash/.bashrc como en /home/usuario/bash.rc

des-comentar las últimas tres líneas quedando así:

# enable bash completion in interactive shells

if [ -f /etc/bash_completion ]; then

. /etc/bash_completion

fi

Esta opción es genial ya que me permite auto-completar con la tecla tab en casos como el de aptitude-install ….....

6-Kernel:

Es importante instalar el un kernel de la rama 2.6.32 para tener soporte para cámaras webs y aceleración de video intel.

Dejo en este enlace un kernel (la imagen y sus cabeceras) que compilé configurándolo para microprocesadores Intel Atom, lo único que falta es que salga un parche para tiempo real que nos permita activar la opción “complete premption” todavía no ha sido desarrollado, igualmente a mi me funciona bien para grabar audio en mi netbook (para descargar hacer click en el enlace, después en el extremo superior derecho en request download ticket y por último en download, estoy usando Ifile.it porque funciona mejor que rapidshare y megaupload):

linux-image-2.6.32.2-soundebian_2.6.32.2-soundebian-10.00.Custom_i386.deb

linux-headers-2.6.32.2-soundebian_2.6.32.2-soundebian-10.00.Custom_i386.deb

para instalarlo:

# dpkg -i linux-image-2.6.32.2-soundebian_2.6.32.2-soundebian-10.00.Custom_i386.deb

Este kernel está compilado con compatibilidad i386, con lo cual va a funcionar con microprocesadores que no solamente sean Intel Atom, además está compilado de manera genérica para tener compatibilidad con la mayor cantidad de dispositivos posibles, pronto voy a subir un kernel con muchos menos módulos.

7-Aceleración de video Intel:

Por defecto en el kernel de la rama 2.6.32 viene incluído el firmware de las placas de video intel

Para comprobar la aceleración 3d uso:

# glxinfo | grep direct

Si el resultado dice:

direct rendering: si

está todo bien. Si no, habrá que descargar el firmware de la placa.

Para mejorar la aceleración de placas Intel i915 habilitando KMS,hay que agregar las siguientes líneas a /etc/modprobe.d/intel.conf :

options i915 modeset=1

Si el archivo intel.conf no existe hay que crearlo.

# cd /etc/modprobe.d/
/etc/modprobe.d# touch intel.conf
/etc/modprobe.d# nano intel.conf

agrego las líneas antes mencionadas y guardo con ctrl+o y luego <enter>

Luego edito /etc/initramfs-tools/modules y le agrego las siguientes líneas:

intel_agp

drm

i915 modeset=1

y actualizo la configuración de módulos con:

# dpkg-reconfigure linux-image-2.6.32.2-soundebian

También es necesario borrar el archivo xorg.conf, haciendo un previo backup porque ahora el servidor X trata de auto-detectar los dispositivos existentes:

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.pre-kms
# rm /etc/X11/xorg.conf

Por último edito el grub, ahora la edición de grub 2 es “un poco más complicada”:

Edito el archivo /etc/default/grub:

# nano /etc/default/grub

Y agrego i915.modeset=1 a:

GRUB_CMDLINE_LINUX_DEFAULT=""
quedando así:
GRUB_CMDLINE_LINUX_DEFAULT="i915.modeset=1"
guardo con ctrl+o y <enter>, ctrl+x para salir.
Luego ejecuto en consola como root:

# update-grub

8-Como configurar codecs-multimedia:

Descargar este paquete de codecs multimedia:

http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2

Descomprimir el archivo:

# tar jvxf essential-20071007.tar.bz2

Copiar el contenido de la carpeta essential-20071007 a /usr/lib/codecs/:

# cp /.../essential-20071007/* /usr/lib/codecs

En el caso de que la carpeta /usr /lib/codecs no exista, crearla:

# cd /usr/lib/

/usr/lib# mkdir codecs

Luego descargar e instalar la librería libstdc++5_3.3.6-18_i386 desde el enlace que les dejo:

libstdc++5_3.3.6-18_i386.deb


# dpkg -i libstdc++5_3.3.6-18_i386.deb

Esta manera de configurar los codecs multimedia me permite copiar cualquier tipo de codec a esta carpeta para que funcione hasta librerías .dll creo que es el mejor método para poder ver videos rmvb o usar vlc, yo prefiero xine-ui.

Por último voy a configurar xine-ui para que utilice los codecs multimedia:

click derecho en cualquier parte de la pantalla del programa menú configurarciones-ajustes elegir Master of known unuverse en experiencie level, luego aplicar. En la pestaña “decoder” escribir en ambos la ruta correcta de los codecs que copiamos: /usr/lib/codecs .

9- Como solucionar el bug #561706 de openbox:

Este bug se produce cuando intenta cambiar características de las ventanas con obconf ó Menu-Preferencias-Gestor de configuración de Openbox

Bug#561706: marked as done (obconf: ObConf Error: An error occured while saving the config file '/openbox/lxde-rc.xml')

El problema es que como usuario no puede escribir en el archivo /openbox/lxde-rc.xml y se cambia como root cambiara solo la apariencia de las ventanas de usuario root y eso no nos sirve:

# chmod 777 -R /openbox

y luego como usuario ejecuto obconf,

$ obconf

hago mis cambios de apariencia o elijo un tema y seguidamente puedo volver a proteger el directorio y archivo de configuración yo mismo:

#  chmod 555 -R /openbox

, o al reiniciar estos se restablecerán automáticamente no permitiendo a nadie más que al usuario root escribir en este directorio y archivo, así que finalmente no es nada inseguro.

10-Configurar limits.conf:

Este paso nos permitirá tener una mayor prioridad para procesos relacionados con el audio y que el servidor de sonido en tiempo real jackd funcione correctamente, edito el archivo limits.conf:

# nano /etc/security/limits.conf

Agrego al final del archivo:

@audio - rtprio 99

@audio - nice -10

@audio - memlock 4000000

Finalmente agrego mi usuario al grupo audio

# adduser nombre-de-usuario audio