Administracion
de kernel y
Gestion
dispositivos
Juan Hernando Vieites
jhernando@fi.upm.es
Octubre 2014
de dispositivos
Creacion
Los ficheros de dispositivo pueden ser creados con el
mandato mknod
En los UNIX actuales es muy raro tener que hacerlo
manualmente ya que /dev su rellena automaticamente al
arranque e incluso de manera dinamica
en ejecucion.
Metodos
de personalizacion
Modificar parametros
dinamicos.
Cargar modulos.
Proporcionar opciones y directivas desde el cargador de
arranque.
Configurar y compilar el codigo.
jhernando@fi.upm.es UNIX: Gestion
Administracion del kernel y dispositivos 5/
dinamica
Configuracion del kernel en
Linux
temporal
Configuracion
Consiste en escribir valores sobre ficheros especiales que
se pueden encontrar en /proc, /proc/sys o /sys
Por ej, /proc/sys/fs/file-max determina el numero
maximo de ficheros que se puede tener abierto.
permanente
Configuracion
Para no perder los cambios al reiniciar se usa el mandato
sysctl.
Dicho mandato modifica el fichero /etc/sysctl.conf, que
se lee al arranque.
Operaciones con modulos
Las operaciones de bajo nivel son:
Carga: insmod archivo [opciones]
Descaga: rmmod nombre
Listado: lsmod
Es preferible usar modprobe y modprobe -r, en vez de insmod
y rmmod ya que manejan mejor las dependencias y errores.
de modulos
Configuracion
La configuracion
de la carga de modulos
esta contenida en
/etc/modules o en ficheros dentro de /etc/modprobe.d/
La configuracion contiene rutas a ficheros objecto de
modulos,
alias, parametros
para la carga del modulo, listas
negras, ...
En algunos distribuciones, el fichero /etc/modules
contiene una lista modulos que cargar incondicionalmente
al arranque.
Compilacion
La compilacion
de un modulo
requiere tener las cabeceras,
del nucleo
el System.map y la configuracion para el cual se
va a compilar. (paquete linux-headers-uname -r en el
caso de distribuciones tipo Debian).
Lo mejor es siempre seguir las instrucciones del fabricante
y en su defecto las de la distribucion.
Arquitectura
El nucleo
es un demonio (udevd) que ejecuta en espacio
de usuario.
udevd escucha eventos del kernel por un socket netlink
Se configura por ficheros de reglas en /etc/udev
udevadm
udevadm es el mandato que se usa para consultar y
gestionar el estado de los disposivos.
Basicamente
es una herramienta para inspeccionar y
modificar el contenido del sistema de ficheros virtual /sys
Ejemplos
udevadm monitor
udevadm info --attribute-walk --name=/dev/sda
udevadm info -a -n sda