Actualizar Kernel
Debian Kernel 2.6 Cómo
Documento original en ingles en Desktop-Linux.net
Traducido por danielby
Instalar un kernel en un sistema Debian es bastante fácil. La manera más fácil es instalar un paquete kernel-image.deb y una vez instalado sólo necesitas actualizar tu cargador de arranque y reiniciar.
Decidí instalar el paquete kernel-source-2.6.2 antes que el paquete kernel-image-2.6.2 ya que el kernel-image no tenia todo configurado correctamente para misistema (sonido, soporte para el frame buffer, usb wireless, soporte para teclado-ratón, etc ...) por lo tanto necesité compilar desde las fuentes.
Siempre es una buena idea recompilar tu kernel. Muchas distribuciones de Linux vienen con kernels que necesitan ser instalados en una amplia variedad de escenarios de configuraciones de sistemas y hardware, por lo tanto el soporte de los módulos para muchos dispositivos y hardware que no deberías tener o necesitar están construidos dentro. Recompilar el kernel dará como resultado un kernel más pequeño y rápido.
El kernel 2.6 es más rápido que los kernels anteriores y tiene soporte para grabar cd-dvd directamente en dispositivos atapi sin la necesidad de la emulación SCSI. Después de que compilé el kernel 2.6 adquirí un grabador combo de dvd-cdr y no tuve problemas en configurarlo. Pasados 20 minutos desde la apertura de la caja del dvd estaba grabando dvd\'s con el k3b y viendo \"Strangers With Candy\" en dvd. Fue un camino demasiado fácil, estaba de hecho un poco decepcionado.
Descargar las fuentes 2.6
El último kernel-source de Debian a fecha de este documento está disponible desde SID (inestable). No lo puedo asegurar pero debería compilar para Woody o para Sarge mientras que actualices elsistema de paquetes siguiendo la sección de Sistema de Actualización de Paquetes de abajo.
http://packages.debian.org/unstable/devel/kernel-source-2.6.2
Sistema de Actualización de Paquetes
No necesité actualizar nada ya que estoy usando SID. Si no estás usando SID, asegúrate que tienes la última versión instalada del module-init-tools. Luego sigue el paso 3 del siguiente enlace:
http://kerneltrap.org/note/view/799
Instalar las fuentes 2.6
1) Una vez que hayas determinado que tu sistema está preparado para el kernel 2.6, cd al directorio al que hayas descargado el kernel-source-2.6.2_2.6.2-1_all.deb y escribe:
dpkg -i kernel-source-2.6.2_2.6.2-1_all.deb
Luego:
cd /usr/src
2) Si tienes un enlace a /usr/src/linux bórralo con:
rm linux
3) Descomprime el kernel-source 2.6:
tar xvfj kernel-source-2.6.2.tar.bz2
4) Crea un enlace simbólico a las fuentes del nuevo kernel:
ln -s kernel-source-2.6.2 linux
5) Muévete al directorio de las fuentes del kernel:
cd linux
Parches del kernel:
Los parches del kernel son una forma de actualizar o añadir nuevas o especiales características a tu kernel. Si necesitas parchear tu kernel es la hora de hacerlo. Usa el siguiente comando para parchear el kernel de Linux:
patch -p1 < /path/to/kernel/patch
Configurar el kernel:
Como root, abre la consola y escribe:
make menuconfig
Tómate tu tiempo durante xconfig o menuconfig. Asegúrate de incluir todo lo que necesitas y quitar todo lo que no (módulos para dispositivos zip, soporte usb, video, tarjeta de sonido, nic, raid, etc...). Usa los módulos siempre que sea posible, esto hace al kernel más pequeño y rápido. Elijo [m] para mis tarjetas de sonido y de red. Esto cargará los drivers del sonido y de la red como módulos cuando sean necesarios para el sistema. Si no estás seguro de qué elegir, usa la ayuda para más información y consejos.
Sistema de ficheros
Si tienes un sistema de arranque dual Linux - Windows asegúrate de elegir la habilitación para el soporte del sistema de ficheros de msdos, vfat, ntfs, etc...
Si estás usando el sistema de ficheros Reiserfs, habilita Reiserfs como [*] o [y] (dependiendo de si estás usando make xconfig o make menuconfig). No elijas cargarlo como módulo [M], de esta forma no tendrás que pringarte con mkinitrd.
Soporte experimental de drivers
Siempre selecciono [*] para \"Code Maturity Level\". Esto es necesario si tienes algún hardware que requiere drivers experimentales. Si no eliges esto, los drivers experimentales estarán de color gris.
Sonido
Elegí el \"desaprobado\" sistema de sonido OSS antes que ALSA. OSS siempre funcionó perfectamente para mi y apenas quería complicarme en compilar ALSA, tan sólo soy perezoso, lo sé. Si quieres ALSA, sigue las instrucciones desde aquí:
http://kerneltrap.org/note/view/799
Frame Buffer
Para obtener esas fuentes pequeñas tan bonitas durante el inicio elegí habilitar [*] el soporte para los siguientes:
Support for frame buffer devices (soporte para dispositivos frame buffer)
VESA VGA graphics console (consola gráfica VESA VGA)
VGA 16-color graphics console (consola gráfica VGA 16-color)
Selecciona el módulo del frame buffer para tu tarjeta gráfica si lo tiene.
Salvar y salir
Una vez que hayas pasado por todas las opciones, salva la configuración, sal y procede a la siguiente sección.
Construir e instalar el kernel:
1) Escribe: make-kpkg buildpackage -rev Custom.1 kernel_image
Esto llevará su tiempo dependiendo de la velocidad de tu sistema.
2) Si lo construyes sin errores escribe: cd /usr/src
3) Instala el nuevo kernel con: dpkg -i kernel-image-2.6.2_Custom.1_i386.deb
Actualizar el cargador de arranque
GRUB
1) Abre un editor de texto y edita /boot/grub/menu.lst, añade el nuevo kernel al archivo de configuración, por ejemplo:
title Linux 2.6.2
root (hd0,0)
kernel /boot/vmlinuz-2.6.2 root=/dev/hda1 ro vga=791
savedefault
boot
Necesitarás cambiar (hd0,0), /dev/hda1 y vga=791 para que concuerde con tu versión del kernel y particiones. Si no estás seguro usa la información pre-existente en el archivo grub.conf como referencia. No se necesita una referencia hdc=scsi para las grabadoras cd-dvd.
VGA=791 es para el soporte del frame buffer y sólo funciona si compilaste el soporte para vesafb dentro del kernel y tu tarjeta gráfica lo soporta (opcional).
2) Reinicia con el nuevo kernel 2.6.2 a menos que tengas una tarjeta Nvidia. En ese caso procede a la sección Nvidia y 2.6 antes de reiniciar.
LILO
Necesitas añadir entradas al archivo /etc/lilo.conf para el nuevo kernel. También podrás iniciar tu antiguo kernel.
1) Abre el archivo /etc/lilo.conf con un editor de texto y añade la siguiente entrada para tu nuevo kernel:
image=/boot/vmlinuz-2.6.2
label-Linux-2.6.2
root=/dev/hda6
vga=791
Necesitarás cambiar vmlinuz-2.6.2, /dev/hda6 y vga=791 para que concuerde con tu versión del kernel y particiones. Si no estás seguro usa la información pre-existente en el archivo /etc/lilo.conf como referencia. No incluí ninguna referencia a initrd. Esto no es necesario si compilaste la opción Reiserfs en el kernel. Initrd sólo es necesario para cargar drivers especiales (módulos) para iniciar el directorio raiz (/).
Necesitarías esto si tuvieses un dispositivo SCSI o si hubieses compilado Reiserfs como [M] (módulo). Si compilaste Reiserfs como módulo, échale un vistazo al man initrd para información sobre crear un archivo initrd.img para el nuevo kernel en el directorio /boot.
VGA=791 es para el soporte del frame buffer y sólo funciona si compilaste el soporte para vesafb dentro del kernel y tu tarjeta gráfica lo soporta (opcional).
2) Lo siguiente mientras estás en la consola es actualizar el LILO escribiendo:
lilo
3) Si no hay errores, entonces reinicia con el nuevo kernel 2.6.2 a menos que tengas una tarjeta Nvidia. En ese caso procede a la sección Nvidia y 2.6 antes de reiniciar.
Instalador Nvidia 2.6
Si tienes una tarjeta gráfica Nvidia necesitarás instalar los drivers de Nvidia parcheados para el kernel 2.6 antes de iniciar en el 2.6, así que descárgalos antes de reiniciar. Descarga el instalador preparado-para-funcionar de Nvidia para el kernel 2.6 construido por Christian Zander aquí:
http://www.sh.nu/download/nvidia/linux-2.6/
Comenzando nuevamente
Si las cosas no van bien siempre puedes volver a ejecutar los comandos anteriores empezando por make menuconfig o si mezclaste totalmente las selecciones del kernel y tan sólo quieres reiniciar a las opciones predeterminadas del kernel, escribe lo siguiente en una consola desde /usr/src/linux
make clean
Luego comienza por encima de:
make menuconfig
Vmware
1) Reemplaza todas las entradas de /proc/ksyms con /proc/kallsyms en /usr/bin/vmware-config.pl.
2) Descarga e instala este parche:
ftp://platan.vc.cvut.cz/pub/vmware/vmware-any-any-update50.tar.gz
3) Si obtienes este error después de ejecutar vmware-config.pl entonces instala g++.
cannot exec cc1plus