Kexec
Descarga para openSUSE:
Desarrollador: Eric Biederman
Licencia: GPL
Web: /xmission.com/.../kexec
Al hacer eso, evita la BIOS y el cargador de arranque (GRUB por ejemplo), que normalmente son los procesos que consumen mas tiempo.
Contenido
Acerca de
Desde la versión 2.6.27 del kernel linux (aunque el parche original tiene mucho mas tiempo), esta integrado como Kexec jump (Kexec/Kdump) un sistema de hibernación. En el, se carga un kernel y se ejecuta, ese kernel guarda el contenido de la memoria en un archivo, y se apaga el sistema. Al encenderse de nuevo, se carga el archivo con la memoria y se sigue ejecutando.
Uso
Kexec se utiliza en 2 fases, primero cargamos el kernel en memoria, y luego finalizamos procesos y nos movemos a el.
kexec -l /boot/vmlinuz --command-line="`cat /proc/cmdline`" --initrd=/boot/initrd kexec -e
Desde la versión 11.0 openSUSE puede finalizar procesos, sincronizar y desmontar volúmenes antes de correr kexec -e.
Así que lo único que hay que hacer para utilizar Kexec sin peligro alguno es:
kexec -l /boot/vmlinuz --command-line="`cat /proc/cmdline`" --initrd=/boot/initrd reboot
o de esta manera:
kexec /boot/vmlinuz --command-line="`cat /proc/cmdline`" --initrd=/boot/initrd
Nótese que le falta el parámetro -l
Existe otro paquete llamado, perl-Linux-Bootloader que busca la configuración del kernel y lo ejecuta kexec con esos parámetros, sin embargo, hace la llamada finalmente con kexec -e, por lo que es poco menos peligroso que reiniciar apretando el switch.
Características
Beneficios
- El reinicio es mas rápido.
- La BIOS no tiene oportunidad de desconfigurar los dispositivos.
- Lo anterior es especialmente útil cuando se usan controladores de FakeRAID.
- No se depende de las configuraciones de un gestor de arranque, como GRUB o LILO.
- Incluso se pueden instalar nuevas distribuciones sin arrancar desde USB, CDROM o red.
- Se mejora la disponibilidad del sistema, configurándolo para lanzarse un segundo kernel en caso de que el primero colapse. Vea Kdump para mas detalles.
Observaciones
- Algunos dispositivos no funcionan con los kernels lanzados por Kexec, debido a que no se inicializan correctamente. En la mayoría de los casos se soluciona con pequeñas modificaciones en los controladores.
- Pueden haber problemas con el vídeo. En este caso, agregue el parámetro --reset-vga al script /etc/init.d/reboot,
linea 243 /sbin/kexec --exec --reset-vga
o deshabilite vesafb. De cualquier forma, aunque el bootsplash no luzca bien, todo se vera normal una vez que X arranque.