2009.1-speedboot
De Wiki de la Comunidad Mandriva
SpeedBoot está disponible en la versión beta 2009 Spring.
¿Qué hace speedboot?
Speedboot comienza primero todas las acciones necesarias para sistema gráfico (administrador de pantalla) y luego continúa todas las otras acciones necesarias para un inicio completo en segundo plano.
¿Cómo está implementado?
Reutilizamos técnicas que ya han sido utilizadas en algunos de nuestros productos OEM, con una limitada pero mas estándar implementación, manteniendo los actuales scripts de inicio (initscripts).
Para comenzar los servicios mínimos requeridos para el inicio del administrador de pantalla, hemos introducido un nivel de ejecución S (con sólo 5 servicios: acpid, dbus, hal, syslog and dm). Desafortunadamente el código de chkconfig sólo acepta niveles de ejecución numéricos, así que el nivel de ejecución S está implementado como runlevel 7 (ambos representan el mismo nivel de ejecución, pero 7 es el utilizado en los initscripts).
Cuando se inicia en modo speedboot, una serie de acciones que fueron realizadas en los initscripts son ignoradas. Es por ello que speedboot puede no funcionar en su sistema.
Para la etapa 1 de speedboot, he deshabilitado tantas acciones como ha diso posible en rc.sysinit. Algunas acciones sólo necesitan ser retrasadas después de que el administrador de pantalla es iniciado, así que trataré de aplazar algunas de las acciones actualmente deshabilitadas para la etapa 2 de speedboot.
En la etapa 2 (o 3) de speedboot, habilitaremos speedboot automáticamente si algunos criterios son cumplidos y si ninguna característica conflictiva está activada en el sistema, tales como crypto FS, raid, autenticación de red. Si speedboot falla, el sistema pasará automáticamente al arranque tradicional y no reintentará speedbot por sí solo.
Actualmente, readahead ha sido completamente deshabilitado cuando se utiliza speedboot. Nuestras mediciones mostraron bajas cuando se utilizaba ya sea readahead o sreadahead, pero no fueron hechas en dispositivos SSD.
¿Cómo puedo utlizar speedboot?
Por defecto a contar de 2009.1 RC2, speedboot está habilitado de forma automática, utilizando la siguiente heurística:
- Primer arranque en una versión de kernel específica: speedboot es deshabilitado y el arranque será chequeado para ver si algunas condiciones previenen que speedboot sea habilitado.
- Segundo arranque en la misma versión del kernel: si las condiciones están presentes, speedboot es habilitado y el estado es guardado.
- Si speedboot falló, será probado una segunda vez (por ejemplo, si ha tenido un problema con dkms o algo por el estilo) para el próximo arranque y ya sea deshabilitado para esta versión del kernel (si falló) o habilitado de nuevo.
- Speedboot se auto deshabilitará si la autenticación por red está habilitada o si el nivel de ejecución no es 5.
- Para deshabilitar or forzar speedboot, se puede cambiar /etc/sysconfig/speedboot o realizar un cambio permanente, utilice speedboot=yes/no/auto/probe en la línea de comandos del kernel.
speedboot=probe es utilizado para resetear el estado para una versión específica del kernel (y re hacer el chequeo), y sólo debería ser añadida manualmente en la línea de comandos del kernel.
El estado para speedbot se puede ver en /var/lib/speedboot/status.
Las únicas cosas que faltan en speedboot son:
- Testear velocidad de disco para habilitar o no readahead (siempre está habilitado pero ralentizará las cosas en discos duros lentos).
- Afinar la "separación" de readahead entre la primera y la segunda etapas y, tal vez, forzar la recolección de readahead cuando speedboot ha sido re habilitado.
Por supuesto, nos gustaría reunir tanta data de gráficos de arranque como sea posible, con speedboot habilitado o no. Bootchart howto
Si speedboot falla en su sistema, nos interesa también, así que por favor llene un reporte de fallo de initscripts y adunte ambos gráficos de arranque con y sin speedboot habilitado.

