miércoles, 8 de mayo de 2013

Aumenta el tiempo de batería en tu portatil


Un problema muy común en todos los portátiles con sistemas Linux es que la batería dura un asalto.

Por ejemplo, mi batería debería durar unas 3 horas, pero no dura más de 1 hora y media.

Esto es en su mayor parte por culpa de la gráfica y los ventiladores de esta, disco duro y procesador, que trabajan a máxima potencia aunque estemos en modo batería y ya le hayamos puesto en configuración que sea más conservador con la energía de los dispositivos.

En su parte, la culpa la tiene los kernels inmediatamente inferiores a la 3.8 (ya que esta está parcheada) que tienen un problema con el consumo. En la 3.9 ya está totalmente corregido.

Pero además puede ser que no tengamos activados las opciones de energía en el núcleo.

Hoy quiero explicar a todos como he conseguido resolver el problema en LMDE (Linux Mint Debian Edition)

Para empezar diré que yo he compilado un kernel nuevo, la 3.9, para que tenga las opciones mínimas necesarias que usará el programa que vamos a necesitar.

Explicación de compilación del Kernel con sus opciones mínimas:
http://pc-citos.blogspot.com.es/2013/05/compilar-el-ultimo-kernel-disponible-en.html



Instalar lo necesario

El programa que necesitamos se llama "laptop-mode-tools" pero también instalaremos "powertop" para ver el consumo real del equipo.

scorpyomint@pc-citomint ~ $ sudo apt-get install laptop-mode-tools powertop

Con eso tenemos instalado los programas.

Laptop-mode-tools usará los eventos ACPI para identificar el estado de conexión y desconexión de batería, la retroiluminación de pantalla..... el estado de la CPU, uso de disco duro...

Uso de powertop
El uso de powertop es para ir comprobando el efecto que causa en la energía de consumo los cambios que vayamos haciendo.

Simplemente abrir una terminal y escribir:
scorpyomint@pc-citomint ~ $ sudo powertop


Configuración de laptop-mode-tools

Lo primero que tenemos que hacer es parar el demonio de laptop porque tras la instalación se inicia.
scorpyomint@pc-citomint ~ $ sudo service laptop-mode stop

En el archivo "/etc/laptop-mode/laptop-mode.conf" está la configuración inicial que usa el demonio.

A partir de ahora, para editar los archivos, ya que algunos son muy largos podemos usar "pluma" o "gedit", este último para distribuciones con Gnome, en este caso lo abro con nano.

scorpyomint@pc-citomint ~ $ sudo nano /etc/laptop-mode/laptop-mode.conf

Habría que modificar ciertos valores, pero lo más importante es asegurarse las siguientes variables está en "1" es decir, activado:

ENABLE_LAPTOP_MODE_TOOLS=1
ENABLE_LAPTOP_MODE_ON_BATTERY=1

Si seguimos avanzando en el archivo de configuración veremos todos los módulos (scripts) que controlan la energía de algún elemento "descrito en su nombre".
Como veréis todos están comentados (Con una "#" delante), lo que hará que no las tome en consideración y no use esos scripts, sin embargo, al final hay una opción que está activada y hará que use los script de manera automática.

#
# Enable all simple zero-configuration auto modules
# This option enables all simple modules (listed below) without requiring
# the user to enable each module individually
#
# List of modules which can be automatically enabled with this setting are:
#
# ac97-powersave
# cpufreq
# dpms-standby
# eee-superhe
# ethernet
# exec-commands
# hal-polling
# hdparm
# intel-hda-powersave
# intel-sata-powermgmt
# nmi-watchdog
# runtime-pm
# sched-mc-power-savings
# sched-smt-power-savings
# terminal-blanking
# usb-autosuspend
# wireless-ipw-power
# wireless-iwl-power
# wireless-power
#
# Set this to 1 to enable all simple zero-configuration auto modules listed above.
#
# NOTE: You can explicitly enable/disable any of the above modules by changing their
# values in the individual settings file
#
ENABLE_AUTO_MODULES=1

Eso significa que usará  los módulos que hay en /etc/laptop-mode/conf.d/ de manera automática según el estado y eventos que proporcione el PC.

Podemos guardar el archivo y cerrarlo.



Configuración de la retroiluminación:

Una de las cosas  que más consume es la retroiluminación de la pantalla (no confundir con el brillo de los colores)


Si vuestro PC no baja el brillo de la pantalla de forma automática podemos empezar a modificando el archivo  "/etc/laptop-mode/conf.d/lcd-brightness.conf

Pero antes habría que desactivar algunas cosas que entran en conflicto desde mi punto de vista con la aplicación.

Tenemos que ir a las opciones de energía del portátil pinchando sobre el icono de batería y dando a "Preferencias", pinchar en la pestaña "reducir brillo de "


Dejar desactivado los siguientes valores:

-Reducir la velocidad de retoación de los discos cuando sea posible.
-Reducir el brillo de fondo
-Atenuar la pantalla cuando está inactiva.

Aceptamos.

Ahora toca averiguar cual es la retroiluminación máxima que soporta vuestra pantalla.

Para verlo hacemos un:
scorpyomint@pc-citomint ~ $ cat /sys/class/backlight/acpi_video0/max_brightness


A mi me arroja el valor "7"

Así que ya sé, que mi valor máximo de retroiluminación de pantalla es 7 y el mínimo será 1.

Para comprobar si lo que vamos a hacer a continuación funcionará, debemos hacer un pequeño test a ver si la retroiluminación de la pantalla cambia con la siguiente orden:

Ponemos el brillo al máximo (en mi caso el 7 es el valor máximo):


scorpyomint@pc-citomint ~ $ sudo echo "7" > /sys/class/backlight/acpi_video0/brightness

Y luego hacemos al revez, lo bajamos:

scorpyomint@pc-citomint ~ $ sudo echo "2" > /sys/class/backlight/acpi_video0/brightness

Si eso ha funcionado, ya podemos configurar el script para que lo haga de forma automática cada vez que saquemos el cable del portátil y estemos trabajando en modo batería.

scorpyomint@pc-citomint ~ $ sudo pluma /etc/laptop-mode/conf.d/lcd-brightness.conf

Dejar la configuración de la siguiente manera:

-Para que se active este escript:
CONTROL_BRIGHTNESS=1

-Valor para la retroiluminación en modo batería, yo le puse un "2":
BATT_BRIGHTNESS_COMMAND="echo 2"

-Valor  para el retroiluminación en modo portatil con el cable, yo lo puse al máximo que me permite:
LM_AC_BRIGHTNESS_COMMAND="echo 7"

-Valor  para el retroiluminación en modo "no portatil" con el cable, yo lo puse al máximo que me permite:
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"

-Archivo que debe modificar para poder corregir el valor del brillo.
BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"

Bueno, con eso ya hemos arreglado el problema del brillo.

Para comprobarlo solo tenemos que guardar, arrancar el demonio laptop y comprobar enchufando y desenchufando el portatil de la toma de corriente.

scorpyomint@pc-citomint ~ $ sudo service laptop-mode start



Configurando el consumo de la tarjeta gráfica

 La siguiente información solo lo he probado con tarjetas Ati, y no sé como resultará en tarjetas de otro tipo.
 
Primero tenemos que ver el consumo actual de la tarjeta, para verlo tenemos que ser root:

scorpyomint@pc-citomint ~ $ sudo su

Una vez logueados como root miramos el consumo actual con:

pc-citomint scorpyomint #  cat /sys/kernel/debug/dri/0/radeon_pm_info
Si la carpeta debug está vacía hay que montarla:

pc-citomint scorpyomint # mount -t debugfs none /sys/kernel/debug

Y ahora que está montado probamos de nuevo...
 
Yo obtengo lo siguiente:
default engine clock: 680000 kHz
current engine clock: 678370 kHz
default memory clock: 800000 kHz
current memory clock: 796500 kHz
voltage: 1200 mV
PCIE lanes: 16

Ahora comprobaremos cual es el estado de agresividad de la tarjeta:

pc-citomint scorpyomint # cat /sys/class/drm/card0/device/power_profile
default

Como veis yo lo tengo "por defecto" pero podemos cambiar los valores entre los siguientes:

"default" > Por defecto.
"hight" > Maxima potencia
"mid" > Potencia equilibrada bajo demanda (no siempre funciona)
"low" > La menor potencia admitida.
Para modificar el valor, por ejemplo al mínimo, podemos hacerlo así:
pc-citomint scorpyomint # echo "low"> /sys/class/drm/card0/device/power_profile


Ahora si volvemos a comprobar los valores de la tarjeta veremos como ha respondido:
pc-citomint scorpyomint # cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 680000 kHz
current engine clock: 219370 kHz
default memory clock: 800000 kHz
current memory clock: 299250 kHz
voltage: 950 mV
PCIE lanes: 16
Fijaros como los valors han cambiado, ahora muestra los "current" mucho más bajos que los estandares "default".
Además, el voltaje es inferior, con lo que se ahorra energía, y como se calienta menos, el ventilador no salta, y por tanto consume aún menos.

Ahora toca la parte de hacer que se ejecute el comando colocando el perfil de "low" cada vez que el portátil esté en modo batería y que lo restablezca a "default" cuando está conectado a la corriente.

Primero paramos el demonio para evitar problemas:
pc-citomint scorpyomint # service laptop-mode stop

Y ahora a modificar el archivo que compete:

pc-citomint scorpyomint # pluma /etc/laptop-mode/conf.d/exec-commands.conf

Modificamos las primeras líneas de comando de esto:

BATT_EXEC_COMMAND_0="" # Enable power saving feature 0 here
LM_AC_EXEC_COMMAND_0="" # Enable power saving feature 0 here
NOLM_AC_EXEC_COMMAND_0="" # Disable power saving feature 0 here

A esto otro:

BATT_EXEC_COMMAND_0="echo low > /sys/class/drm/card0/device/power_profile"
LM_AC_EXEC_COMMAND_0="" # Enable power saving feature 0 here
NOLM_AC_EXEC_COMMAND_0="echo default > /sys/class/drm/card0/device/power_profile"

De esta manera cuando esté en modo batería pondrá la tarjeta en "low" y cuando esté con la corriente la pondrá en "default"

Reiniciamos el demonio:
pc-citomint scorpyomint # service laptop-mode start

Y cerramos la seción de root:
pc-citomint scorpyomint # exit



Velocidad de reloj CPU   

Otro de los scripts que podemos modificar es el de la velocidad de reloj de la CPU.

Antes de nada, podemos comprobar en que estado están las CPU en modo batería y en modo AC (conectado a la corriente) con el siguiente comando filtramos la salida de "cpufreq-info" para ver el estado de cada cpu.

scorpyomint@pc-citomint ~ $ sudo cpufreq-info | grep "The governor" | nl
     1                      The governor "ondemand" may decide which speed to use
     2                      The governor "ondemand" may decide which speed to use
     3                      The governor "ondemand" may decide which speed to use
     4                      The governor "ondemand" may decide which speed to use

Como veis, mis procesadores están bajo demanda "ondemand" cuando está conectado a la corriente.
Pero resulta, que estando en modo batería están exactamente igual, es decir, en el archivo de configuración de laptop está configurado así para los dos estados.... cosa que no quiero y voy a cambiar.
Paso a explicar:

Abrimos una terminal y abrimos el script así: 
scorpyomint@pc-citomint ~ $ sudo pluma /etc/laptop-mode/conf.d/cpufreq.conf

Ahora buscamos el apartado en el que pone esto:
BATT_CPU_MAXFREQ=fastest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=ondemand

Las dos primeras líneas son para la velocidad máxima y mínima de trabajo, así está configurada como la más rápida y la mas lenta permitidas.

Pero el valor de "GOVERNOR" es la forma de controlar las CPU y en este caso, si os fijáis está bajo demanda "ondemand"

Así que lo pongo en "powersave", trabajando de esta forma a la velocidad mínima permitida, sin posibilidad de escalar la velocidad.

BATT_CPU_MAXFREQ=fastest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=powersave

Algunos de los valores permitidos son:

-performance
El regulador de rendimiento esta empotrado en el núcleo y hace que las UCP funcionen a la máxima velocidad de reloj

-ondemand (por defecto)
Incrementa o decrementa lavelocidad de las CPU dependiendo de la carga de trabajo.
-conservative
Es como ondemand, con la diferencia de que es más conservador (los cambios de velocidad son más suaves)

-powersave
Hace que la CPU vaya a la velodidad mímina especificada en la linea con el valor del mínimo. (BATT_CPU_MINFREQ=slowest), en este caso el valor mínimo soportado.

Ponéis el que os parezca tanto para modo batería como para modo AC y luego guardáis.

Y probáis de nuevo a conecta y desconectar el cable comprobando el antes y el después con el comando anterior:



Con cable:

scorpyomint@pc-citomint ~ $ sudo cpufreq-info | grep "The governor" | nl
     1                      The governor "ondemand" may decide which speed to use
     2                      The governor "ondemand" may decide which speed to use
     3                      The governor "ondemand" may decide which speed to use
     4                      The governor "ondemand" may decide which speed to use
 
 
 
 Sin cable:
scorpyomint@pc-citomint ~ $ sudo cpufreq-info | grep "The governor" | nl
     1                      The governor "powersave" may decide which speed to use
     2                      The governor "powersave" may decide which speed to use
     3                      The governor "powersave" may decide which speed to use
     4                      The governor "powersave" may decide which speed to use
-----------

Creo, que esto es lo más importante, pero podéis revisar el resto de los scripts para comprobar sus opciones para ver en que más se puede mejorar.

Siempre podemos añadir más cosas, como que quite los efectos de escritorio y los retorne al conectar el cable, apague el bluetooth, la tarjeta de red... etc etc.

Así ha quedado más o menos mi sistema:



Un saludo y ya me contáis.

LMDE No regresa de hibernación

Si habéis probado a entrar en modo hibernación, muchos os habrá ocurrido que el equipo no regresa de hibernación, si no que directamente arranca de nuevo como si nada.

Al parecer, la hibernación la hace correctamente (La hace hacia la Swap, si no tenéis Swap no se si será posible), pero luego cuando el pc inicia no busca en la partición de la Swap para ver si el equipo estaba hibernado, en lugar de eso arranca el pc de modo habitual.

Para corregir esto hay que añadir un parámetro a la linea de arracque de grub de manera que busque si el pc está en estado de Hibernación y que, si es así, proceda a restaurar el PC con los datos de la Swap

Para empezar tenemos que averiguar la UUID de nuestra partición Swap

Podéis sacarla facilmente con este comando:
sudo blkid | grep swap

Con eso obtendréis una línea parecida a esta:
/dev/sda6: UUID="20fa525c-0de7-4ffe-a014-9974b68036bc" TYPE="swap"

Esto indica que en la partición /dev/sda6 está la swap y que el número UUID es el "20fa525c-0de7-4ffe-a014-9974b68036bc"

Copiad ese número que lo vamos a usar ahora.

Ahora toca hacer que grub añada una orden a sus entradas actuales y futuras.

sudo nano /etc/default/grub

Buscas la linea  10 apximadamente y verás algo como:
GRUB_CMDLINE_LINUX=""


Entre las comillas tenéis que añadir la orden "resume=UUID=" seguida del UUID que antes hemos copiado, quedando de esta forma en mi caso:

GRUB_CMDLINE_LINUX="resume=UUID=20fa525c-0de7-4ffe-a014-9974b68036bc"

 Nota: Para pegar en la terminal se usa Ctrl+shif+v  o también botón derecho y pegar.

Para guardar presionas Ctrl+o y presionas enter para guardar con el mismo nombre.
Para salir presionas Ctrl+x

Ahora toca actualizar:
sudo update-grub

Y ahora ya puedes probar a ver si funciona.

Un saludo.

Fuente de información: http://www.taringa.net/posts/linux/12940433/Habilitar-hibernacion-en-Linux-Mint-y-Debian.html

domingo, 5 de mayo de 2013

Compilar el último Kernel disponible en LMDE

Muchos de nosotros nos hemos encontrado con problemas a la hora de usar ciertas funcionalidades en nuestros sistemas Linux porque en el núcleo del sistema (Kernel) que estemos usando, estas funcionalidades están deshabilitadas por defecto para nuestra distribución...

Estas cosas suelen hacerlas los desarrolladores de las distribuciones para llegar al máximo público posible, ya que estos no usan los mismos dispositivos ni las mismas características de hardware... así que tienen que encontrar un equilibrio donde a veces no solo tienen que activar soporte para cientos de tipos de hardware... sino que en otras ocasiones tienen que desactivar funciones que entran en conflicto con otros dispositivos o equipos sacrificando estas mejoras para mantener el equilibrio anteriormente mencionado.

La solución pasa por parchear el Kernel o compilar uno nuevo para ajustarlo a nuestras necesidades.


En esta ocasión intentaré explicar como he compilado mi Kernel para obtener compatibilidad con laptop-mode-tools que se encarga de administrar la energía a partir de la obtención de eventos ACPI generados por el Portátil, cosa que en mi núcleo por lo que sea viene desactivado... y no tiene soporte para ACPI.

Preparativos

Ya que nos ponemos manos a la obra lo mejor es que nos descargamos el último Kernel disponible, ¿no?

Claro que si, pero el último estable, para no meter la pata.

Todos los núcleos de Linux hasta la fecha están en https://www.kernel.org/

Una vez descargado, (que será un archivo comprimido) lo normal para estos menesteres es descomprimir el código en /usr/src/

Obteniendo una carpeta con el nombre de kernel descargado.

Para hacerlo abrid una terminal.
Situaros en la ruta especificada:

cd /usr/src

Una vez allí copiáis el archivo descargado en mi caso es "linux-3.9.tar.xz":
sudo cp /home/tu-usuario/lugar-de-descarga/linux-3.9.tar.xz ./

Ya tenemos una copia en la ruta en la que nos encontramos, ahora toca descomprimirlo.
Este tipo de arvhivo, relativamente nuevo en Kernel.org se descomprime con:
sudo tar -Jxvf linux-3.9.tar.xz

Para poder hacerlo tendréis que tener instalado el paquete xz-utils, si no lo tenéis podéis instalarlo con:
sudo apt-get install xz-utils

Una vez descomprimido, encontraremos en la ruta en la cual nos encontramos una carpeta con el nombre que tiene el archivo comprimido pero sin la extensión ".tar.xz" donde deberemos entrar para continuar.

En mi caso:

cd linux-3.9

Lo lógico es que las fuentes de configuración estén limpias puesto que deben estar preparadas para su uso, pero si es la segunda vez que intentas compilar, lo mejor es que elimines los rastros de configuraciones antiguas.

make mrproper

Nota:  Regla mnemotécnica.....  notese que el comando dice "mr proper" el mítico producto de limpiezas de baños.... así que sería "hacer limpieza con mr proper" (hora se llama Don Limpio... jajajjaa que cutre... pero bueno)

Ahora toca configurar el núcleo de Linux, pero claro.... sería una ardua y compleja tarea dejar todo con la configuración de tu Kernel actual y añadir (o eliminar) después las configuraciones extra que necesites....

La solución es cargar la configuración actual y usarla como base. (Los nuevos kernels lo hacen de manera automática al abrir el configurador)

Como ya he dicho arriba, esto que a continuación se detalla en los nuevos kernels ya se hace de forma automática al abrir por primera vez el configurador del núcleo, por eso este apartado no es necesario que lo hagáis si estáis compilando un núcleo nuevo, pero por si queréis saber como hacerlo a mano.... o poner una config de un núcleo antiguo que funcionaba mejor... etc, etc allá va la explicación:

Cuando se instala un kernel, el archivo de configuración que se usó para compilarlo se copia en la carpeta /boot/ con un nombre que comienza con "config-" y seguido del numero de versión y arquitectura del kernel al que hace referencia.

Así que solo queda localizarlo, pegarlo en la caperta actual y usarla como base...

ls -al /boot/
config-3.2.0-4-amd64  initrd.img-3.2.0-4-amd64  System.map-3.2.0-4-amd64
extlinux              memtest86+.bin            vmlinuz-3.2.0-4-amd64
grub                  memtest86+_multiboot.bin  vmlinuz-3.9.0



En mi caso el archivo que busco es el config-3.2.0-4-amd64

Lo copiamos a la carpeta en la que nos encontramos con el nombre que debe tener para poder cargarlo correctamente... y posteriormente compilarlo.

sudo cp /boot/config-3.2.0-4-amd64 ./.config





Añadiendo o quitando funcionalidades

Con eso ya está todo listo.

Podríamos empezar a compilar el núcleo ya, sin mayores problemas, pero la cuestión es que tenemos un núcleo nuevo, si,  pero con las opciones como el viejo.. hay que entrar a la configuración del kernel que estamos construyendo y añadir o eliminar lo que no queramos.
En mi caso, lo compilé añadiendo estas opciones mínimas que recomiendan en la página de gentoo para hacer funcionar correctamente el "laptop-mode-tools":

General setup --->
  [*] Configure standard kernel features (expert users) --->

Power management and ACPI options --->
  [*] Run-time PM core functionality
  [*] ACPI (Advanced Configuration and Power Interface) Support --->
    <*> AC Adapter
    <*> Battery
    -*- Button
    -*- Video
    <*> Fan
    <*> Processor
    <*> Thermal Zone
    [*] Power Management Timer Support

  [*] CPU Frequency scaling --->
    [*] CPU Frequency scaling
    <*>   'performance' governor
    <*>   'powersave' governor
    <*>   'userspace' governor
    <*>   'ondemand' governor
    <*>   'conservative' governor
    <*> ACPI Processor P-States driver
 
Fuente de información: http://www.gentoo.org/doc/es/power-management-guide.xml
Recomendada su lectura si queréis instalar laptop-mode-tools



Para entrar en la configuración hay que escribir:
sudo make menuconfig

Hay mas modos de edición, pero esta es la más cómoda y la menos problemática desde mi punto de vista, ya que las otras opciones requieren o bien más conocimiento y experiencia o bien dependen  de otros paquetes para mostrar ventanas...
Mencionadas por orden serían estas dos:

sudo make config        >>> Se necesita experiencia ya que nos harán muchas preguntas de hardware.

sudo make xconfig      >>> Se necesitan dependencias por regla general para poder mostrar ventanas.

Con esto ya estamos dentro del configurador, y veremos opciones marcadas así:
 [*]  >>> Opción activada dentro del Kernel
 [M]  >>> Opción disponible mediante Módulo fuera del Kernel
 [ ]  >>> Opción no soportada (Para impedir su uso tanto internamente como usando un módulo)

De esta manera tendremos que ir marcando o desmarcando opciones con la barra espaciadora para poder configurar nuestro Kernel a medida.

Nota: Yo personalmente, desmarco esta opción para eliminar peso del kernel generado:

Kernel hacking  --->
[ ] Compile the kernel with debug info

Una vez terminado de configurar, guardamos los cambios y salimos. (O salimos y nos preguntará si queremos guardar antes de salir, respondemos que sí)


Compilando el nuevo Kernel

Ahora ya estamos listos para compilar nuestro nuevo Kernel.
Antiguamente había que dar unos pocos pasos más para terminar, pero hoy tenemos mas flexibilidad para compilar el Kernel usando la herramienta kernel-package
Para instalarla solo tenemos que teclear:

sudo apt-get install kernel-package

Ahora ya podemos compilar el kernel:
make-kpkg clean
make-kpkg --initrd kernel_image kernel_headers


Nota: si tenemos varios procesadores podemos pasarle el parámetro "-j X" donde la X es el número de procesadores que queremos que use para compilar, acortando así el tiempo de compilado, ejemplo:
make-kpkg -j 4 --initrd kernel_image kernel_headers

Mi micro es un Intel core I3 y este tiene un procesador de doble núcleo que pueden operar como si fuesen otros dos... , así que en teoría tengo 4 procesadores. (de hecho, Linux lo ve así aunque 2 de los procesadores no son reales)

Con eso creamos dos paquetes .deb en el directorio superior, es decir en /usr/src/ que serán para instalar el kernel y sus headers que sirven para compilar otros módulos como los privativos de AMD, madwifin, VMware etc...

Ahora toca esperar.... esperar y esperar a que termine de compilarse el núcleo nuevo.

Una vez haya terminado de compilar, podemos subir al directorio superior y comprobar que paquetes nuevos hay:

cd ..
ls

Con eso vemos la lista de paquetes y podremos ver los nuevos paquetes .deb

Para instalarlos:
sudo dpkg -i archivo1.deb archivo2.deb

En mi caso:
sudo dpkg -i linux-image-3.9.0_3.9.0-10.00.Custom_amd64.deb linux-headers-3.9.0_3.9.0-10.00.Custom_amd64.deb

Aunque los nombres sean largos (cosa que podemos arreglar renombrandolos) no lo serán en la entrada del grub, así que tranquilos.

Listo, ya podemos reiniciar y usar nuestro nuevo kernel, si no funcionase aún podremos usar el antiguo y ver que pasó.

Un saludo.

Este documento se ha confeccionado obteniendo información de diversas fuentes, entre ellas: http://mogaal.com/articulos/kernel-a-la-debian.html