Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Administraci´on Avanzada y Redes TCP/IP en
UNIX
Gabriel Infante-Lopez
Facultad de Matem´atica, Astronom´ıa y F´ısica UNC, C´ordoba (Argentina)
http://www.cs.famaf.unc.edu.ar/∼gabriel
Escuela Complutense Latinoamericana 7 de Febrero de 2006
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
contenidos
Arranque y Apagado del Sistema Proceso init y runlevels
Parada del sistema
Kernel y m´odulos
Configuraci´on del kernel
Lecturas Recomendas Ejercicios
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Arranque y Apagado del Sistema
El arranque de un sistema Linux consta de las siguientes fases:
1. Ejecuci´on del gestor de arranque (p.ej. lilo)
2. Carga y ejecuci´on del kernel
3. Ejecuci´on de init (proceso n´umero 1)
4. Ejecuci´on de scripts de iniciaci´on gen´ericos en /etc/rcS.d
5. Entrada en el runlevel por defecto y ejecuci´on de scripts del
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Kernel
1. Se ejecuta realmente el kernel
2. Realiza un lista de comprobaciones
3. Activa m´odulos internos del mismo.
4. monta el disco principal donde se almacena el sistema
operativo
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Init
El init tiene como misi´on
1. ejecutar el resto de procesos del sistema
2. comprobaci´on de discos, detecci´on/configuraci´on de hardware
adicional
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Lilo en mas Detalle - Donde Instalarse
Lilo se configura mediante /etc/lilo.conf.
boot=/dev/hda
especifica la unidad en cuyo sector de arranque en el que debe
instalarse lilo. MBR del disco a
boot=/dev/hda2
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Lilo en mas Detalle - Mensaje de Inicio
root=/dev/hda1
Especifica donde est´a la raiz (root) del sistema de ficheros de Linux.
message=/boot/bootmess.txt prompt delay=100 timeout=100
En las versiones actuales, Lilo muestra autom´aticamente un men´u
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Lilo en mas Detalle - Parametros de Kernel
append="mem=256M hdc=ide-scsi"
I indica opciones adicionales que hay que pasar al kernel
I indica la cantidad de RAM instalada
I debe usarse la emulaci´on IDE a SCSI
image=/vmlinuz label=Linux read-only
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Lilo en mas Detalle - Otros Sistemas
other=/dev/hda1 label = Windows alias = 3
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Proceso INIT y Runleves
I Init es el proceso n´umero 1
I Init ejecuta otros programas.
I se configura en el fichero /etc/inittab.
I no hace nada por si mismo.
I Se ejecutan por orden alfab´etico todos los scripts en
/etc/rcS.d que comiencen por S constartcomo argumento.
I Se nombran con n´umero de dos cifras para establecer el un
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Ejemplo de Scripts de Inicio
I S10checkroot.sh comprueba el sistema de ficheros.
I S20adjtimex ajusta el reloj del sistema.
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Ejemplo de Scripts de Inicio
I estos scripts no se sit´uan directamente en /etc/rcS.d
I se guardan en el directorio /etc/init.d y desde ah´ı se hacen
enlaces simb´olicos a /etc/rcS.d.
I Luego de /etc/rcS.d se ejecutan otra serie de scripts
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Runleves
Los runlevels son un mecanismo para permitir que el ordenador trabaje con diferentes configuraciones de
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Runlevels - Denominaci´on
I Los runlevels se numeran del 0 al 6.
I 0 se ejecuta para parar el sistema (halt),
I 6 para reiniciar (reboot)
I 1 para arrancar en modo single user,
I El resto de los runlevels son para funcionamiento normal.
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Init - sigue cargando el sistema
I En Debian, los runlevels del 2 al 5 se configuran inicialmente
de forma id´entica.
I Init suele continuar ejecutando los scripts del runlevel
correspondiente situados en /etc/rcX.d,
I donde X es el n´umero del runlevel.
I se ejecutan primero los scripts que comiencen conK con
argumento stop
I luego los que comienzan con S con argumento start.
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Cambiando de Runlevel
En cualquier momento, el administrador puede hacer que el sistema cambie a otro runlevel
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Parada del Sistema
La parada del sistema se produce cuando se entra en los runlevel 0 o 6.
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Parada del Sistema - Shutdown
shutdown -r now
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Parada del Sistema - Shutdown
shutdown -h now
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Parada del Sistema - Shutdown
shutdown -h +10 "Vamos a parar el sistema en 10 min."
para el sistema dentro de 10 minutos enviando un aviso a todos los terminales.
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Parada del sistema
Parada del Sistema - Shutdown
shutdown -r 20:00
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Configuraci´on del kernel
Kernel y Modulos
1. interacci´on final con dispositivos la realizan los controladores o el kernel.
2. Las fuentes en C del kernel cuentan con controladores para
diversos dispositivos.
3. Algunos de esos controladores pueden unirse con el kernel
mismo (est´aticamente),
4. otros pueden dejarse como m´odulos para cargarse/descargarse.
5. otros pueden ser excluidos.
6. est´an ubicados en el directorio /lib/modules/version,
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Configuraci´on del kernel
Configuraci´on de Modulos
Para lograr configurar un dispositivo controlado por un m´odulo, puede emplear las herramientas del paquete modutils o modconf para:
I Asegurar que no haya conflictos entre el dispositivo con otros
y eventualmente conocer la configuraci´on que usa (algunos
controladores autodetectan la configuraci´n del dispositivo,
pero no todos).
I Encontrar un m´odulo que pueda manejar el dispositivo.
I Eventualmente pasar opciones al m´odulo de acuerdo a la
configuraci´on del dispositivo (e.g IRQ o direcci´on base).
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Configuraci´on del kernel
Herramientas modutils - lsmod
[login@host homedir] $lsmod
Lista los m´odulos cargados, de cada uno presenta nombre, tama˜no,
cuenta de usos y lista de m´odulos que lo usan (es equivalente a cat /proc/modules).
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Configuraci´on del kernel
Herramientas modutils - rmmod
[login@host homedir] $rmmod modulos
Descarga uno o m´as m´odulos cargados, mientras estos no est´an siendo usados. Con la opci´on -r intenta descargar recursivamente m´odulos de los cuales el m´odulo especificado dependa.
Descargue todos los modulos que no estan siendo usados
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Configuraci´on del kernel
Herramientas modutils - insmod
[login@host homedir] $insmod m´odulo [opciones]
I Trata de cargar el m´odulo especificado.
I Las opciones dependen del modulo especifico.
I Puede indicarse una ruta no est´andar en la variable
MODPATH o en /etc/modules.conf.
I deben ser compilados para una versi´on precisa, o con la
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Configuraci´on del kernel
Busqueda de Modulos
Es posible que el kernel del que disponga no cuente con m´odulos que soporten ciertos dispositivos, en tal caso se puede:
1. buscar en Internet un m´odulo precompilado para la versi´on del
kernel que tiene,
2. buscar fuentes de un m´odulo o
3. buscar una versi´on del kernel que incluya soporte para el
dispositivo.
4. En el ´ultimo caso las instrucciones de la siguiente secci´on le ser´an de utilidad.
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Configuraci´on del kernel
Configuraci´on del kernel
I algunas caracter´ısticas pueden ser modificadas en
funcionamiento.
I escribiendo en algunos archivos del directorio /proc, o
I con el programa sysctl.
I la opci´on -a presenta todas las variables modificables y su
valor.
I Para cambiar un valor se emplea:
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Configuraci´on del kernel
Configuraci´on del kernel
El kernel se puede recompilar para modificar el comportamiento de modulos.
I Limpieza: Para limpiar posibles compilaciones
I Definici´on del nombre (uname -r). Variable
EXTRAVERSION= -tobias
I Configuraci´on del Kernel: make menuconfig
I Compilaci´on del Kernel
I Compilaci´on de los modulos
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Lecturas Recomendas
1. Para manejar mejor las herramientas de m´odulos, puede
consultar las p´aginas man de modules.conf, insmod, modprobe
2. ”Introduction to Linux Kernel Modules” en
http://www.luv.asn.au/overheads/kernelmodules/
3. modulos que requieren ser compilados.
http://www.scyld.com/expert/modules.html 4.
Arranque y Apagado del Sistema Proceso init y runlevels Kernel y m´odulos Lecturas Recomendas Ejercicios
Ejercicios
1. ¿Que versi´on del kernel Linux tiene instalado su sistema?
Ayuda: emplee el programa kernelversion
2. Revise los m´odulos que est´an cargados en su sistema, y trate
de determinar que dispositivo controla o qu´e servicio presta cada uno.
3. Examine el archivo de configuraci´on de X-Window, si desea
experimentar con este, saque una copia y modif´ıquelo directamente o por medio del programa XF86Setup (si no tiene disponible XF86Setup puede intentar con xf86config).
4. Al cargar un m´odulo, insmod revisa que los s´ımbolos del