martes, 11 de noviembre de 2008

Mejorando el Booteo

Ultimamente uno encuentra en muchos blogs sobre como hacer bootear tu GNU/Linux en 5, 10, 3, 4 segundos. La verdad que están muy buenos los informes dado que es impresionante la customización de los autores.
Bueno, llego la hora y decidí intentarlo, mi objetivo no era llegar a 5 segundos pero sí bajar un poco el tiempo de arranque dado que estaba en aproximadamente un minuto, también decidí no recompilar el kernel dado que no quería perder la generalidad del kernel por defecto. Después de trabajar toda la mañana pude reducir el tiempo de arranque a 45 segundos, pero la pantalla de login esta disponible solo en 30 segundos, cosa que para mis parámetros fue más que aceptable.
Para controlar los tiempos trabaje con la misma herramienta que utilizan todos, bootchart. Para instalar esta herramienta solo deben aptegetearla y configurar su grub para que la inicie durante el arranque.

#apt-get install bootchart

Añadir el parametro init=/sbin/bootchartd al kernel en su grub.

title Debian GNU/Linux, kernel 2.6.26-1-486 root (hd0,0) kernel /boot/vmlinuz-2.6.26-1-486 root=/dev/hda1 ro vga=771 init=/sbin/bootchartd initrd /boot/initrd.img-2.6.26-1-486

Listo, al reiniciar este programa registra el proceso. Luego desde una consola solo deben ejecutar el comando bootchart para que procese los logs del arranque y genere un gráfico con el proceso de booteo.

Mi primer análisis fue el siguiente

Luego de cambiar algunas cosas me quedo así

Las cuestiones que modifique fueron:

Quite los servicios
  • bluetooth : mi lapto no tiene interfaz bluetooth
  • exim : Es una desktop, no necesito mensajes administrativos
  • postgres : No lo ando utilizando mucho
  • cups : No imprimo nada desde esta maquina
  • samba : Lo habilitaré manualmente cuando lo necesite
  • sshd : Idem que el anterior
  • nfs y portmap : Ya ni recuerdo la ultima vez que use NFS
También cancele la solicitud de DHCP en las interfaces de red, las postergue para hacerlo manualmente cuando lo necesite.
Por último configure para que el X arranque primero que todo y las configuraciones de red se ejecuten posteriores al X.

Si hubiese compilado el kernel específicamente para esta maquina hubiese ganado al menos 10 segundos en el proceso de arranque. Pero como dije, quiero mantener el kernel genérico para no tener que andar recompilando cada 20 días, :S.

Les recomiendo que prueben hacerlo y después me cuentan como les fue.

3 comentarios:

pelin dijo...

guee buenisimo aporte agustin! ya lo pruebo en la mia y te digo como me fue.
un abrazo!

pelin dijo...
Este comentario ha sido eliminado por el autor.
pelin dijo...

viejo,probe esta herramienta. esta muy buena, en mi blog publique los resultados.