14 de junio de 2005

Sobre el arranque de Linux



Arranque del kernel de UNIX:
  • Comprobación del procesador.
  • Búsqueda e inicialización de hardware.
  • Inicialización de la pila TCP/IP.
  • Monta sistema de ficheros raíz (“root filesystem”).
  • Prepara la consola, terminales virtuales, etc.
  • Ejecuta el primer proceso del sistema, “/sbin/init”.
Todos los mensajes que genera el kernel se pueden ver con la orden: “dmesg”



#!/bin/sh -e
# Ejemplo de script de arranque y parada de un servicio
#
case "$1" in
     start)
         echo -n "Arrancando servidor ssh..."
         sshd
         echo "done."
         ;;
     stop)
         echo -n "Parando servidor ssh..."
         kill -TERM $( cat /var/run/sshd.pid )
         echo "done."
         ;;
     restart)
         $0 stop
         $0 start
         ;;
     *)
         echo "Uso: $0 {startstoprestart}"
         exit 1
esac
exit 0



Ordenes relacionadas con el arranque y parada:
  • runlevel: Indica el runlevel anterior y el actual.

  • init, telinit: Avisan al proceso init de un cambio de run-level.

  • shutdown, halt, reboot: parar o reiniciar el sistema:

    • "shutdown -h now" = "halt" = "init 0"
    • "shutdown -r now" = "reboot" = "init 6"