Mostrando las entradas con la etiqueta kernel. Mostrar todas las entradas
Mostrando las entradas con la etiqueta kernel. Mostrar todas las entradas

miércoles, 8 de agosto de 2012

Actualizando y eliminando kernel en Ubuntu

Te enseñare cómo actualizar el kernel en Ubuntu.

Para saber cuál versión tienes teclea el comando en la Terminal:
uname -a

En mi caso tengo instalado 2.6.32-02063236-generic que había actualizado desde la versión 2.6.32.35-generic.

Vamos a la página kernel.ubuntu.com y verás varios directorios, escoge la versión que quieras actualizar, en mi caso v2.6.32.37-lucid

Descarga tres archivos, dos empiezan el nombre con linux-header... , de estos uno termina en -all.deb y el otro en -i386.deb, el tercero empieza en linux-image... en caso de que tengas un procesador de 64 bits descarga los archivos -amd64.deb en vez de los i386.

Ahora para instalarlos puedes hacerlo desde el gestor de paquetes (clic derecho), o manualmente en este orden:

sudo dpkg -i linux-headers-2.6.32-02063236_2.6.32-02063236.201105270528_all.deb

sudo dpkg -i linux-headers-2.6.32-02063236-generic_2.6.32-02063236.201105270528_i386.deb (o am64deb)

sudo dpkg -i linux-image-2.6.32-02063236-generic_2.6.32-02063236.201105270528_i386.deb (o -amd64.deb)

Reinicia tu computadora y tendrás que verlo.

Otra forma de instalar es por medio de la terminal:

Para ver las versiones disponibles:

apt-cache search linux-image

Para instalar una imágen en específico:

apt-get install linux-headers-x.x.x-xx

apt-get install linux-image-x.x.x-xx

Ambas la misma versión

Si todo salió bien ahora puedes borrar kernels antiguos.

Para saber la lista teclea:

dpkg --get-selections | grep linux-image


En mi caso borraré la versión 2.6.32-21

sudo aptitude purge linux-image-2.6.32-21-generic


Y ya es todo.

Compilando y optimizando kernel para Ubuntu

Esta guía aprenderás cómo compilar y optimizar el kernel para tu máquina.

Primero ve a la página kernel.org

Descarga la versión que quieras, en mi caso, 2.6.33.1

Se descargará en la carpeta Descargas, lo movemos a las carpeta /usr/src/

sudo mv linux-2.6.33.1.tar.bz2     /usr/src/

Vamos al directorio /usr/src y luego descomprimimos

sudo tar xvjf linux-2.6.33.1.tar.bz2


Como curiosidad si quieres acelerar la compilación entonces mueve la carpeta descomprimida a la carpeta /dev/shm, acelerará el proceso porque hará la compilación en la misma memoria RAM y no en el disco duro ;) al terminar sólo mueve la carpeta a /usr/src, eso si tienes RAM de sobra.

Instalaremos varios paquetes para hacerlo al estilo Debian

sudo apt-get install kernel-package

Instalamos el desarrollador de paquetes GTK+

sudo apt-get install libglade2-dev

Instalamos ncurses

sudo apt-get install libncurses5-dev


Opcionalmente para ahorrar tiempo al configurar controladores tecleamos:

make localmodconfig

Lo que hace es cargar sólo los controladores de nuestra máquina para hacer el núcleo más pequeño.

Ahora haremos la configuración, vamos dentro de la carpeta descomprimida del kernel y tecleamos:

make config

La desventaja es que tendremos que responder a cada una de las preguntas, sólo para experimentados.

También se puede usar make con la opción make config:

make menuconfig

Ahora podemos elegir las opciones del kernel



Empezamos excluyendo las opciones genéricas y multiprocesamiento simétrico (actívalo si tienes dos o más procesadores).



Y luego seleccionamos el procesador, en mi caso un Pentium 4 y excluimos las funciones genéricas.



Podemos modificar más cosas como quitar controladores que nunca usaremos, por ejemplo para tarjetas pcmcia (a menos que tengas laptop), tarjetas de vídeo integrado de Intel, radio AM/FM y para ciertos modelos de laptops. Aunque si utilizaste el modlocalconfig se supone que no es necesario.



Luego salimos para guardar cambios.



Compilamos el núcleo

make

Después de esperar, instalamos los módulos

make modules_install

Para concluir instalamos el núcleo

make install

Con esto se instalará el núcleo en la carpeta boot, creará el archivo system.map, creará la imagen de disco RAM correspondiente, y añadirá el arranque en  /boot/grub/grub.conf respetando los núcleos anteriores instalados.

Creamos la imagen initrd necesaria para cargar los controladores, vamos a la carpeta /boot/

sudo mkinitramfs -k -o initrd.img-2.6.33.1 2.6.33.1

Actualizamos GRUB

update-grub

Y finalmente reiniciamos
shutdown -r now

Opcionalmente si queremos los paquetes deb de los headers y la imagen:
sudo make-kpkg --initrd linux_headers linux_image

Después de reiniciar con el nuevo kernel es posible que falte algún módulo (tarjeta nvidia verdad), simplemente instalamos module-assistant y añadimos el que falta.

sudo apt-get install module-assistant

Para iniciar:

module-assistant

Elige los módulos según necesites.

Notas extras:

Para la próxima que compiles el kernel y no tengas que crear otra vez el archivo de configuración puedes cargar el anterior que creaste:

cp /boot/config-2.6.33.1 ./.config

Y para limpiar fuentes del kernel anterior:

make mrproper