Bueno chicos, a petición popular y como estoy de vacaciones y tengo mucho tiempo libre... aquí os dejo mi guía para la configuración de debian (stable) +xmonad con kernel custom 2.6.30.5. Esta guia era, y prácticamente es, para uso personal mio así que ni es seguro que os funcione en vuestros casos particulares ni es, en muchos apartados, la mejor manera de hacerlo, pero espero que os sirva de algo. Esta guía se usa para instalar en un DELL XPS M1330 con tarjeta gráfica NVIDIA.
En las lineas siguientes hay algunas lineas de comando que debereis introducir para hacer varias cosas, algunas de ellas necesitan permisos de administrador. Eso lo indicaré al lado de cada comando diciendo (necesita root). Para obtener dichos permisos debereís introducir en la consola o linea de comando en la que os encontreis
su
Tras lo cual se os pedira vuestra contraseña de administrador (Que se os pide durante la instalación). Para abandonar el modo de administración utilizar el comando exit.
Por comodidad a continuación os adjunto un link con la carpeta de xmonad(en tar) y los archivos de configuración que utilizo yo. Os la guardais en un usb.
http://www.megaupload.com/?d=7AQ16JIC
Esta instalación esta pensada para utilizar xmonad y un kernel custom. Sin embargo, como indico, estos pasos son completamente opcionales, si no quereis hacer ninguna de estas cosas, saltaros el punto 3 y parte del punto 5. (Podeis seguir utilizando la parte del punto 5 destinada a instalar los drivers propietarios )
Poco voy a hablar de la instalación, ya que la instalación de debian stable es meter el cd + darle a installation + siguiente-siguiente-siguiente. Personalmente recomiendo utilizar el net-inst (La instalación obtiene los paquetes directamente de los repositorios de debian). Pese a que la instalación no tiene ningun misterio, comento algunas cosas que pueden liaros:
-Si utilizais la imagen destinada a net-inst, necesitas conexión a internet, por cable. En un momento determinado os preguntará que tipo de conexión de las disponibles quereis usar, si todo es normal debería ser eth0 y Ethernet.
-El paso de particionado es bastante intuitivo y completamente gráfico, puesto que esta guía esta destinada principalmente a novatos, elegir alguna de las opciones de guiado (Todo el disco o el espacio libre más grande), en mi caso /home esta montado en una partición aparte pero no tiene ninguna relevancia para esta guía.
-Despues de configurar apt, os preguntará que que software quereis instalar, para impedir que instale el entorno gráfico debeis deseleccionar Desktop Enviroment o Entorno de escritorio (la primera opción que os sale). WARNING: Para deseleccionarla, en contra de toda intuición lógica, debeis pulsar espacio, no enter, cualquier pulsación de enter os llevará a la instalación automáticamente, a los de gatillo rápido como yo nos hace polvo tamaña tontería xD, más de una vez he tenido que reiniciar la instalación por esto... y mirá que lo he instalado veces, pero nunca me acuerdo.
Lo primero que vamos a hacer es preparar los repositorios para instalar todo lo que vamos a utilizar "de momento". Para ello, y puesto que no tenemos entorno gráfico, utilizaremos vim.Respecto a vim, lo que necesitais es muy facil, para entrar en modo escribir pulsar la tecla i (Abajo aparecera la palabra -insert- cuando esteis en este modo) y para abandonarlo pulsar escape. Para guardar el archivo y salir escribir ":wq" estando fuera del modo de escritura.
Para más cosas utiles, os dejo un sheet con algunos de los comandos de vim más usados
http://www.tuxfiles.org/linuxhelp/vimcheat.html
Para abrir el archivo de configuracióon de repositorios utilizad el comando.
(Requiere root)
vim /etc/apt/sources.list
y añadir detras de la palabra main de las dos primeras lineas las palabras contrib y non-free tal que así: (Puede variar ligeramente si habeis seleccionado otro mirror en la instalación).
deb http://ftp.es.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.es.debian.org/debian/ lenny main contrib non-fre
Ahora simplemente actualizar los repositorios y estamos listos para comenzar:
(Requiere root)
aptitude update
Primero necesitamos algunos paquetes para poder compilar el kernel
(Requiere root)
aptitude install build-essential libncurses5 libncurses5-dev
ahora debemos obtener el código fuente de dicho kernel y descomprimirlo cuando acabe.
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.tar.gz
tar -xvvf linux-2.6.30.5.tar.gz
Finalmente entramos en el directorio recien quedado y ejecutamos la configuración
cd linux-2.6.30.5
make menuconfig
De la configuración del kernel no voy a hablar tampoco, porque es un tema muy extenso y además, completamente opcional. En mi caso lo único curioso es que por defecto el soporte para la 4965AG (Mi tarjeta wifi) esta desactivado... y la primera vez no me di cuenta.
Una vez configurado ejecuta el siguiente código para compilarlo e instalarlo (Compilarlo puede tardar varias horas, así que vete a dormir y vuelve a la mañana siguiente).
(Los dos segundos Requieren root)
make
make modules_install
make install
mkinitramfs -o /boot/initrd.img-2.6.30.5 2.6.30.5
Finalmente, debemos añadir el nuevo kernel a grub para poder trabajar con el. Para ello debeis editar el siguiente archivo.
(Requiere root)
vim /boot/grub/menu.lst
Y sustituir en donde veais la versión antigua del kernel el nuevo número (2.6.28 si no recuerdo mal por 2.6.30.5). Por motivos de seguridad recomiendo duplicar todas las lineas de dichas entradas y cambiar el número en la copia, para así poder volver al kernel antiguo en el caso de que algo salga horriblemente mal.
Un ejemplo de entrada sería el siguiente (Al final deberíais acabar con una copia con estos números y una copia con los números anteriores)
title Debian GNU/Linux, kernel 2.6.30.5
root (hd0,1)
kernel /boot/vmlinuz-2.6.30.5 root=/dev/sda2 ro quiet
initrd /boot/initrd.img-2.6.30.5
Ahora simplemente reiniciar y elegir vuestro nuevo y reluciente kernel en el menu de grub
(Requiere root)
reboot
Para montar usb's (a mano) vamos a hacer lo siguiente:
(Requiere root)
cd /media
mkdir usb
chown nombre_usuario usb
y ahora modificaremos fstab
vim /etc/fstab
con la siguiente linea
/dev/sdb1 /media/usb vfat user,noauto 0 0
Una vez hecho esto, solo necesitamos hacer para montar y desmontar un usb
mount /media/usb
umount /media/usb
Ahora vamos a instalar el entorno gráfico. Lo primero es instalar xorg en sí
(Requiere root)
aptitude install xserver-xorg
Ahora debemos obtener el driver de nvidia e instalarlo (La segunda linea es para dar permisos de ejecución y para la primera variará segun la versión del driver de nvidia que querais instalar)
(La tercera requiere root)
wget http://us.download.nvidia.com/XFree86/Linux-x86/185.18.36/NVIDIA-Linux-x86-185.18.36-pkg1.run
chmod a+x NVIDIA-Linux-x86-185.18.36-pkg1.run
./NVIDIA-Linux-x86-185.18.36-pkg1.run
El instalador de nvidia es siguiente-siguiente-siguiente.
Una vez este instalado falta modificar un detalle en el fichero de configuración de xorg. Por defecto, la reconfiguración que hace el driver de nvidia, modifica el layout de vuestro teclado. Para arreglarlo teneis que modificar la parte correspondiente al mismo en xorg.conf
(Requiere root)
vim /etc/X11/xorg.conf
La sección correspondiente (añadiendo la linea que comienza por Option) debe quedar así:
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "es"
EndSection
Una vez instalado los drivers de nvidia y el xserver, ya solo nos falta instalar xmonad y algunas dependencias que vamos a necesitar.
(Requiere root)
aptitude install libghc6-xmonad-dev libghc6-xmonad-contrib-dev xmonad
aptitude install libghc6-mtl-dev libghc6-parsec-dev libghc6-stm-dev libxft-dev
Con esto esta instalado xmonad, pero antes de probarlo, vamos a instalar algunas herramientas. La primera es un launcher (dmenu), estilo katapult,pero sin ninguna virguería ni belleza gráfica, la segunda son las utilidades necesarias para lanzar el xserver, la tercera es la consola que tengo por defecto en la configuración de xmonad (Cuando aprendais a modificarla, ya lo cambiais como querais) y la cuarta es un programita para poner el fondo de escritorio.
(Requiere root)
aptitude install dwm-tools xinit rxvt-unicode feh
Para los que ya estais hartos de trabajar en linea de comandos, ya estamos en disposición de iniciar el entorno gráfico. Para ello debeis crear en vuestro home el siguiente archivo, denominado .xsession e introducir en el solamente la palabra "xmonad".
vim .xsession
Antes de iniciarlo, introducid el usb con los archivos de configuración, montarlo, y copiaros el contenido a vuestro home. Una vez allí lo descomprimis y lo renombrais como indico.
mount /media/usb
cp /media/usb/configuracion_xmonad.tar .
tar -xvvf configuracion_xmonad.tar
mv configuracion_xmonad .xmonad
umount /media/usb
Para iniciar xserver, ya solo debeis hacer
startx
Y si todo ha ido bien vereis un fondo horrible y un cursor en forma de X. La explicación en detalle de los archivos de configuración de xmonad vendrá en breve, así que de momento, os fiais de mí xD. Teclas básicas que vais a necesitar: (win es la tecla con el simbolo windows).
win+enter = abre consola
win+ì = abre iceweasel
win+numerito = cambia de escritorio
win+mayus+numerito = cambia la ventana activa al escritorio numerito
win+e = lanza dmenu
win+retroceso = cierra ventana
win+raton = convierte la ventana en flotante (Para arrastrar floatings mantener pulsado win)
win+tabulador = cambia la ventana activa
win+space = cambiar la organización de las ventanas (incluye pantalla completa)
Ahora ya podeis instalaros el editor de texto que más os llene de felicidad y seguir con él.
Para finalizar con el entorno gráfico vamos a instalar un par de xmobar para facilitarnos las cosas. Necesitamos tres paquetes
http://hackage.haskell.org/packages/archive/xmobar/0.9.2/xmobar-0.9.2.tar.gz
http://hackage.haskell.org/packages/archive/utf8-string/0.3.5/utf8-string-0.3.5.tar.gz
http://hackage.haskell.org/packages/archive/X11-xft/0.3/X11-xft-0.3.tar.gz
Descomprimir los tres
tar -xvvf xmobar-0.9.2.tar.gz
tar -xvvf utf8-string-0.3.5.tar.gz
tar -xvvf X11-xft-0.3.tar.gz
Para instalarlos debemos hacerlo en el siguiente orden, utf8-xft-xmobar
(La última requiere root)
cd utf8-string.0.3.5
runhaskell Setup.lhs configure
runhaskell Setup.lhs build
runhaskell Setup.lhs install
(La última requiere root)
cd ../X11-xft-0.3
runhaskell Setup.lhs configure
runhaskell Setup.lhs build
runhaskell Setup.lhs install
(La última requiere root)
cd ../xmobar-0.9.2
runhaskell Setup.lhs configure --flags="with_xft"
runhaskell Setup.lhs build
runhaskell Setup.lhs install
Para activar las dos barras, haced lo siguiente desde vuestro home
cp .xmonad/xmonad_con_barras.hs .xmonad/xmonad.hs
Ahora reiniciad el server X, deberíais ver dos barras, una arriba y otra abajo con algo de información, igual que en el caso de xmonad, la configuración de las mismas la detallaré en próximas entregas.
Aunque iniciar xmonad automáticamente en startup no es especialmente complicado, nunca me he preocupado de como se hace porque muchas veces trabajo sin iniciar xserver así que lo hago a mano (startx despues de login y listo). Lamento las molestias que esto pueda causar en los más impacientes xD.
Esta sección varía bastante dependiendo de que tarjeta de red tengais... si teneis suerte, estará perfectamente detectada, si teneis menos suerte solo tendreis que instalar el firmware correspondiente para que lo este y si no teneis suerte, tendreis que pasar por el infierno en la tierra para configurarla.
En mi caso, simplemente con instalar el firmware es suficiente (la lista de firmwares disponibles en los repositorios la podeis ver simplemente con aptitude search firmware)
(Requiere root)
aptitude install firmware-iwlwifi
Si habeis instalado gnome (o kde o cualquier cosa que traiga gestor de redes inalambricas) y los dioses os son propicios lo más seguro es que con un reboot aqui este todo hecho. Si habeis instalado xmonad, necesitais de un gestor de redes. En mi caso, se trata de wi-cd
Para instalarlo debeis incluir la siguiente linea en /etc/apt/sources.list (Requiere root)
deb http://www.backports.org/debian lenny-backports main contrib non-free
y hacer
(Requiere root)
aptitude update
aptitude install wicd
Ahora reiniciad. Para configurar las redes y demás parafrenalia, debeis lanzar el comando
wicd-client -n
Daos cuenta que dmenu permite añadir opciones como si fuera una linea de comandos normal también. Tened también en mente que el cliente se ejecuta al iniciar.
Ahora ya tenemos una debian perfectamente funcional, pero aun hay muchas cosas que arreglar:
Sonido
Con el comando
(Requiere root)
alsaconf
todo debería ir como la seda. Siguiente, siguiente, siguiente....
teclas rápidas y control de volumen
En el caso de que hayais instalado xmonad, por defecto no teneis manera de controlar el volumen. Hay varias maneras de hacerlo pero la más universal es utilizar xbindkeys. Para instalarlo
(Requiere root)
aptitude install xbindkeys
Ahora cread un fichero en vuestro home llamado .xbindkeysrc con el siguiente contenido:
# For multimedia keys
################################
#volume up
"amixer set Master 1%+"
m:0x40 + c:98
#volume down
"amixer set Master 1%-"
m:0x40 + c:104
Ahi lo que veis es un cierto comando "amixer set Master 1%+" asociado a una combinación de teclas "m:0x40 + c:98" que viene a ser "win+arriba". Para descubrir las combinaciones de teclas, podeis hacer lo siguiente
xbindkeys -mk
y al pulsar una tecla os dara su combinación. las cosas con m son modificadores (como alt, win, ctrl) y las cosas con c es la tecla en sí. Con este método podeis asginar cualquier tipo de comando a cualquier combinación de teclas.
Para poder usar xbindkeys también debeis añadirlo al inicio de vuestra sesión de xserver. Para ello cread un archivo llamado .xsessionrc en vuestro home con el contenido:
xbindkeys -f $HOME/.xbindkeysrc
Fondo de escritorio
Para poner un bello fondo de escritorio a vuestra elección, bajo xmonad, (que supondremos esta en la carpeta Imagenes de vuestro home y se llama fondo.jpg) solo debeis añadir al .xsessionrc antes creado la linea
feh --bg-scale $HOME/Imagenes/fondo.jpg
Flash para iceweasel (o firefox)
Id a la pagina http://get.adobe.com/flashplayer/ y descargaos el tar.gz, luego haced:
(Requiere root)
cp install_flash_player_10_linux.tar.gz /usr/lib/mozilla/plugins/
cd /usr/lib/mozilla/plugins
tar -xvvf install_flash_player_10_linux.tar.gz
Si habeis instalado gnome o kde o cualquier cosa, es más que probable que ya haya un plugin de flash instalado. para evitar problemas, eliminad de la carpeta /usr/lib/mozilla/plugins/ cualquier cosa que lleve flash en el nombre antes de hacer la anterior.
java
Id aqui http://www.java.com/en/download/manual.jsp y bajaros el archivo denominado "Linux (self-extracting file)". Ahora desde vuestro home haced:
chmod a+x jre-6u16-linux-i586.bin
./jre-6u16-linux-i586.bin
(Requiere root)
cd /usr/lib/mozilla/plugins
ln -s $HOME/jre1.6.0_16/plugin/i386/ns7/libjavaplugin_oji.so
Para activar el resto de ejecutables de java una de las maneras de hacerlo es la siguiente (si usais bash, que será que sí, y si es que no, ya sabreis como duplicarlo en sh ): editad .bashrc (Que esta en vuestro home) y añadid las siguiente lineas:
export PATH=$HOME/jre1.6.0_16/bin:$PATH
export AWT_TOOLKIT=MToolkit
La segunda linea es SOLO para los que hayan instalado xmonad. Sirve para arreglar algunas aplicaciones java que no se muestran correctamente (Por ejemplo, botones que no se ven).
Otra manera de hacerlo es hacer soft links de todos los ejecutables en /usr/bin pero mi política al respecto es que si hay más de un ejecutable por carpeta, añado la carpeta entera al PATH (manías).
multimedia
Para acceder a los repositorios multimedia de debian debeis añadir a /etc/apt/sources.list (Requiere ROOT)
deb http://oktan.ls.fi.upm.es/debian-multimedia/ stable main
deb-src http://oktan.ls.fi.upm.es/debian-multimedia/ stable main
Y ya teneis todos los codecs y programas que necesiteis. En mi caso con instalar mplayer me vale, pero cada uno es un mundo.
Touchpad
Para configurar el Touchpad (Y sobre todo poder activarlo y desactivarlo) es necesario realizar dos cambios en /etc/X11/xorg.conf (Requiere root):
Modificar la sección "ServerLayout" para que quede de la siguiente forma:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Synaptics Touchpad" "Touchpad"
InputDevice "Mouse0" "CorePointer"
EndSection
y añadir la siguiente sección detras de la sección llamada keyboard0.
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "SHMConfig" "on"
Option "HorizScrollDelta" "0"
EndSection
Ahora ya podeis desactivarlo (win+mayus+r) o activarlo (win+mayus+t). Para que este desactivado al iniciar, debeis añadir a .xsessionrc la linea:
synclient TouchpadOff=1
Quitar el logo de Nvidia
Para quitar el logo de Nvidia al iniciar necesitais añadir la opción correspondiente en /etc/X11/xorg.conf (Requiere root)
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "NoLogo"
EndSection
Configuración de urxvt
Por completitud más que nada, os dejo mi .Xdefaults (Metedlo en home y listo) con la configuración de colores de urxvt que uso (Fondo amarillo claro ).
Con esto yo creo que esta todo más o menos dicho (Aunque seguro que me he dejado la mitad de las cosas y no funciona nada y os explota el pc mheumheumhuemhe).
Actualizaré con la explicación de los ficheros de configuración de xmonad y xmobar en cuanto tenga un poco más de tiempo y lo subiré en forma de pdf (Para poder imprimirlo de manera sencilla). Espero que, al menos alguna parte, le sirva a alguien. Cualquier errata, corrección, sugerencia o insulto que tengais será bienvenida.
Por supuesto, cualquier duda que tengais, pues por aqui o por pm o nos tomamos unas cañas y la discutimos.