Hardware y Arquitectura

De XTech Capacitacion

Tabla de contenidos

BIOS

Definiciones Preliminares

PROM
Es la abreviatura de Programmable Read-Only Memory. Es un tipo de dispositivo de memoria que puede generalmente grabarse (electrónicamente) una vez y luego exibir las características de ROM.
ROM
ROM es un acrónimo para Memoria de Sólo lectura.
Es una memoria no volátil diseñada y fabricada para contener una combinación inalterable de instrucciones y datos. :El ROM que se usa en la actualidad está más bien limitado a controladores industriales u otros controles embebidos, usados con un microcontrolador o microprocesador para realizar una función específica que no necesita cambiarse.
Firmware
Firmwware es software embebido que está dentro de memoria flash o EPROM. No es completamente hardware, pero al menos no tiene que ser cargado de un disco un software regular. El BIOS de una computadora es el ejemplo clásico, aunque hoy en día hay firmware en controladores de discos, modems, placas de video y aun unidades de CD-ROM.
EPROM
Es PROM que se puede borrar.
Memoria flash
La memoria flash es como un chip RAM, excepto que para grabar en ella, primero hay que exponerla a luz ultavioleta para borrar el contenido anterior.

Qué es

BIOS significa Sistema básico de Entrada y Salida.

Se trata de un software que generalmente reside en un un chip PROM en la motherboard. Es el software para el hardware y periféricos y permite que el sistema operativo se comunique con el hardware. La excepción son los dispositivos de bloque como discos, ya que la mayoría de los sistemas operativos se comunican directamente con ellos por razones de rendimiento (los sistemas operativos más simples como DOS todavía usan rutinas de BIOS).

El proceso de ajuste del BIOS permite configurar muchos de los periféricos, así como también la geometría del disco rígido y el reloj del sistema. Los archivos de configuración para el BIOS se almacenan en la RAM no-volátil CMOS.

El BIOS fue originalmente un sistema privativo desarrollado por IBM. Si Compaq no hubiera realizado ingeniería inversa sobre él, el mundo de la computación personal sería diferente en la actualidad. La ingenería inversa permitió el surgimiento de clones baratos.

El Proyecto LinuxBIOS está intentando usar el kernel Linux como un BIOS alternativo Open Source. Ese trabajo es aun altamente experimental, de manera que no conviene probarlo a menos que se esté dispuesto a correr el riesgo de dañar una motherboard.

Relación con el cargador de arranque

El cargador de arranque (bootloader) es una de las piezas más importantes de software del sistema. Sin el, no se podría iniciar el sistema operativo. El bootloader carga el kernel en la memoria y le transfiere los argumentos relevantes. Luego salta a la dirección del kernel y deja que él tome el contro.

El cargador de arranque se pone usualmente en el Master Boot Record (MBR) de la unidad de disco de arranque, pero puede colocarse también en el primer sector de arranque o de la partición raíz. El Master Boot Record es el primer sector de un disco rígido. El disco rígido de arranque es usualmente el master en la cadena IDE primaria, pero el cargador de arranqeu puede instalarse también en un disquete. Además, un bootloader puede cargar un segundo cargador de arranque que puede luego cargar un tercer bootloader, y así sucesivamente.

En máquinas antiguas el disco es más grande de lo que el BIOS puede manejar. En término prácticos el BIOS es incapaz de arrancar ejecutando el kernel porque el kernel no está ubicado dentro del bloque al que puede acceder en el momento del arranque.

Esto se puede solucionar creando una partición para el arranque en el comienzo del disco que esté completamente dentro de los primeros 1023 cilindors del disco rígido. La partición deberá contener el el kernel.

El kernel mismo no sufre de estas mismas limitaciones como el BIOS, de manera que luego de que el BIOS ha cargado el kernel, éste no tendrá problemas en acceder a todo el disco rígido. Los BIOSes relativamente nuevas traducen auticamente el tamaño de los discos rígidos en una manera que pueden contenerse completamente dentro de los primeros 1023 cilindros y por lo tanto las modernas computadoras no sufren este problema.

ACPI

ACPI (Advanced Configuration and Power Interface) es una interfaz de administración de energía para computadoras. Es la sucesora de APM. La principal diferencia entre APM y ACPI es que la última mueve la administración de la energía al sistema operativo, en lugar de tenerlo el BIOS (esto es lo que sucede con APM). También agrega muchas características y posibilidades.

Las cosas que ACPI puede hacer:

  • Manejo del botón de Power/Sleep
  • Estados power/sleep de la CPU
  • Estados de dispositivos individuales power/sleep
  • Control y monitoreo del ventilador
  • Monitoreo de la temperatura
  • etc.

Requiere soporte en el hardware (placa madre, CPU y dispositivos) y el software (OS).

Soporte para Linux

Para que ACPI funcione, se necesita

  • Ir al setup del BIOS y habilitar ACPI
  • El kernel debe tener soporte para ACPI sea incoporado o bien como módulo (existen múltiples módulos para soporte ACPI para distintos dispositivos, e.g. botón, ventilador, corriente alterna, procesador)
  • (opcional) Tener instalado un servicio de ACPI (acpid). Este software reacciona a determinados eventos tales como presionar el botón de power o desconectar una computadora portátil.

Pasando parámetros al kernel

Muchas veces puede ser necesario modificar el comportamiento predeterminado del núcleo Linux. Eso se puede lograr ingresando parámetros mediante el cargador de arranque. Se pueden pasar de dos maneras argumentos al kernel, mediante la interfaz que posee el software de arranque (GRUB o LILO) o bien mediante el archivo de configuración del bootloader que se esté utilizando. El primer modo mencionado es útil cuando se quiere probar una configuración, mientras que el segundo sirve para realizar un cambio permanente.

En algunos se puede querer habilitar una determinada prestación del kernel o por el contrario, deshabilitarla en el caso de que aquella cause inconvenientes (generalmente suceden a causa de dispositivos que con fallos o que no adhieren correctamente a los estándares).

Interfaz de Grub con parámetros para el kernel
Aumentar
Interfaz de Grub con parámetros para el kernel

Ejemplos

Habilitar ACPI

acpi=on

Deshabilitar ACPI

acpi=on

Se puede dehabilitar manejo de interrupciones avanzado (APIC) cuando se utiliza computadoras de un solo procesador con

noapic

En caso de ser necesario, también se puede deshabilitar el APIC del propio procesador (Local APIC)

nolapic

Bibliografía

http://wiki.linuxquestions.org/wiki/

http://www.catb.org/jargon/

http://wiki.kldp.org/wiki.php/InterruptAndException

Modems y placas de sonido

Definiciones preliminares

Interrupciones

Una interrupción de hardware es una señal enviada al procesador de la computadora para notificarle que un evento ha ocurrido. La computadora responde al llamar el código del kernel Linux para manipular el evento del hardware apropiadamente. Durante un evento, un programa en espacio de usuario sería interrupido y esos registros del programa en espacio de usuario se preservan para asegurar reingreso limpio.

Durante la interrupción por hardware, los componentes del kernel realizan su trabajo. Por ejemplo si la placa de red recibe información de la red, el kernel comienza a copiar los datos recibidos en la memoria del sistema. Cuando se completa, el kernel le devuelve el control al programa del usuario y el programa continúa transparentemente.

Ha habido un gran esfuerzo en el kernel Linux para reducir el número de declaraciones que se ejecutan con interruciones deshabilitadas. El tener interrupciones habilitadas durante las llamadas del kernel permitiría un uso de la computadora mucho más rápido cuando el kernel pueda interrupir por si mismo.


Las interrupciones se usan generalmente para el servicio de cronometraje que controla el uso en común del CPU entre muchas tareas y otros dispositivos de hardware (discos, placas de redes, ratones, etc.). La característica multitarea preventiva del kernel toma ventaja de estas interrupciones frecuentes. Durante una interrución el kernel puede permitir a otros procesos concurrentes ejecutarse. Esto es: Un usuario no querría esperar que su disquete se formatee para continuar de navegar por la web.

Las interrupciones de software son llamadas de software por software. Cuando un programa quiere comunicarse con el kernel, el programa llama a una interrupción del software. El kernel proporciona solamente las funcionalidades básicas necesarias, y los programas pueden acceder a cada una de las funciones del kernel mediante la transferencia de parámetros por parte de los registros de la computadora.

IRQ

IRQ significa en castellano "Petición de interrupción" y es un mecanismo por el cual el CPU puede ser interrumpido por un dispositivo de hardware, para atender una solicitud de información.

En su modo más simple, una IRQ es un cable conectado a los pines del procesador al cual está conectado también el dispositivo (o su controlador sobre la motherboard). El dispositivo envía un pulso por el cample, que induce a una interrupción de software en el procesador. Esto fuerza al procesador a empujar el valor actual del Contador del Programa (un registro que apunta a la posición actual en el proceso actual) sobre la lista, y luego salta a un área especial de la memoria del kernel. El kernel luego actúa procesando la petición de entrada/salida.

Los números de IRQ se refieren a una cuenta simple acerca de que cable se usó; IRQ-1 se refiere al primer cable, IRQ-2 al segundo, y así sucesivamente.

Para cualquier procesador dado, hay un número limitado de número de cables de IRQ. Para habilitar más hardware para ser conectado, es muy común compartir IRQs entre diferentes dispositivos. Un dispositivo se dice que es capaz de compartir IRQ si puede ser consultado por el procesador a los efectos de determinar si generó la interrupción o no.

Modems y Softmodems

Qué es un modem

Un modem es un dispositivo que se usa para comunicar con otras computadoras. Un modem es necesario porque la línea de teléfono está hecha para transportar señales de voz analógicas, pero la computadora está hecha para enviar señales de computadora digitales. El modem sirve para convertir señales digitales (llamada modulación) para trabajar con la linea telefónica, y para hacer el proceso inverso (demodulación).


Un modem externo se conecta a la computadora por medio de un cable. Se puede conectar en el puerto USB de la computadora aunque tradicionalmente, se conectan a través del puerto serie. y la mayoría de los modems aun lo hacen así.

Un modem interno se encuentra dentro de la computadora, y se conecta a la computadora vía un bus (usualmente PCI).

Modems por hardware

Los modems por hardware tienen todo fabricado en su hardware. El dispositivo maneja la conversión análogica-digital enteramente.

Teniendo el total control el hardware conlleva un número de ventajas y desventajas. Como estos modems manejan la mayoríade las cosas por sí mismos, no necesitan software complejo para hacer el trabajo de conversión (como es en el caso de los modems por software). Esto libera la necesidad de que la computadora tenga que hacer el trabajo de un modem, y puede hacer que sea más fácil para que el modem funcione bajo Linux u otros sistemas operativos. Sin embargo, esto hace que el modem sea más dificil de actualizar.

Los modems por hardware pueden ser externos o internos. Los modems externos frecuentemente usan un puerto serie preexistente para comunicarse con la computadora. Los modems internos tienden a tener un controlador serie incorporado.

Modems por software

Los modems por software (también conocidos como softmodems o winmodems) contiene lo mínimo necesario para convertir señales telefónicas analógicas a digitables. El resto del trabajo del modem es delegado a la computadora. Por si mismo, el modem por software no es realmente un modem - solamente con los drivers apropiados puede funcionar.

De nuevo, los modems por software tienen ventajas y desventajas. Si un modem por hardware tiene un bug en su controlador, no puede repararse fácilmente a menos que se repare el modem entero, o que el modem por hardware pueda ser "flasheado", lo cual no común. Sin embargo, si el problema es el mismo con un modem por software, el software solamente necesita actualizarse (tal vez descargando e instalando un nuevo driver). No obstante, el software se escribe frecuente solamente para sistemas operativos Windows, haciendo que el dispositivo sea inútil bajo otros sistemas operativos que no tienen el driver correcto para el modem.

Directorio /proc y lspci

Definiciones preliminares

BUS

Un bus es un canal de hardware para que múltiples dispositivos se comuniquen. También llamado frecuentemente bus del sistema o bus de hardware. Cuando es un canal entre dos dispositivos solamente en general se lo llama puerto.

PCI

PCI o Peripherical Component Interconnect es un bus local estándar que fue desarrollado por Intel. Virtualmente (si no definitivamente) todas las PCs (incluyendo Appless) que se venden en la actualidad incluyen este bus. Tiene un ancho de 64 bits (aunque muchos de los implementados poseen 32 bits) y pueden ejecutarse a frecuencias de 33MHz o 66MHz. La velocidad disponible a 33MHz y 32 bits es de 133Mbits por segundo.

PCI reemplazó al viejo bus ISA.

AGP

AGP (Accelerared Graphics Port) es una especificación para una extensión de alta velocidad del bus PCI que permite a las palcas de video el acceso directo a la memoria del sistema. Fue origianalmente desarrollador por Intel pero ahora es un estándar sobre todas las placas madre de computadoras personales, y mejora el rendimiento de aplicaciones gráficas y juegos 3D que requieren un alto ancho de banda de memoria.

Directorio /proc

El directorio /proc es un directorio virtual que contiene información sobre procesos, protocolos de red y dispositivos. El archivo /proc/pci posee información valiosa acerca de los dispositivos PCI.

El siguiente es un ejemplo del contenido del archivio /proc/pci:

[sergio@hibernia ~]$ cat /proc/pci
PCI devices found:
  Bus  0, device   0, function  0:
    Class 0600: PCI device 10de:01a4 (rev 178).
      Prefetchable 32 bit memory at 0xf8000000 [0xfbffffff].
  Bus  0, device   0, function  1:
    Class 0500: PCI device 10de:01ac (rev 178).
  Bus  0, device   0, function  2:
    Class 0500: PCI device 10de:01ad (rev 178).
  Bus  0, device   0, function  3:
    Class 0500: PCI device 10de:01aa (rev 178).
  Bus  0, device   1, function  0:
    Class 0601: PCI device 10de:01b2 (rev 195).
  Bus  0, device   1, function  1:
    Class 0c05: PCI device 10de:01b4 (rev 193).
      IRQ 5.
      Master Capable.  No bursts.  Min Gnt=3.Max Lat=1.
      I/O at 0x5000 [0x500f].
      I/O at 0x5500 [0x550f].
      I/O at 0x5100 [0x511f].
  Bus  0, device   2, function  0:
    Class 0c03: PCI device 10de:01c2 (rev 195).
      IRQ 22.
      Master Capable.  No bursts.  Min Gnt=3.Max Lat=1.
      Non-prefetchable 32 bit memory at 0xef000000 [0xef000fff].
  Bus  0, device   3, function  0:
    Class 0c03: PCI device 10de:01c2 (rev 195).
      IRQ 22.
      Master Capable.  No bursts.  Min Gnt=3.Max Lat=1.
      Non-prefetchable 32 bit memory at 0xee800000 [0xee800fff].
  Bus  0, device   4, function  0:
    Class 0200: PCI device 10de:01c3 (rev 194).
      IRQ 21.
      Master Capable.  No bursts.  Min Gnt=1.Max Lat=20.
      Non-prefetchable 32 bit memory at 0xee000000 [0xee0003ff].
      I/O at 0xd800 [0xd807].
  Bus  0, device   5, function  0:
    Class 0401: PCI device 10de:01b0 (rev 194).
      IRQ 5.
      Master Capable.  No bursts.  Min Gnt=1.Max Lat=12.
      Non-prefetchable 32 bit memory at 0xed800000 [0xed87ffff].
  Bus  0, device   6, function  0:
    Class 0401: PCI device 10de:01b1 (rev 194).
      IRQ 20.
      Master Capable.  No bursts.  Min Gnt=2.Max Lat=5.
      I/O at 0xe100 [0xe1ff].
      I/O at 0xe000 [0xe07f].
      Non-prefetchable 32 bit memory at 0xed000000 [0xed000fff].
  Bus  0, device   8, function  0:
    Class 0604: PCI device 10de:01b8 (rev 194).
  Bus  0, device   9, function  0:
    Class 0101: PCI device 10de:01bc (rev 195).
      Master Capable.  No bursts.  Min Gnt=3.Max Lat=1.
      I/O at 0xa800 [0xa80f].
  Bus  0, device  30, function  0:
    Class 0604: PCI device 10de:01b7 (rev 178).
      Master Capable.  No bursts.  Min Gnt=8.
  Bus  1, device   7, function  0:
    Class 0200: PCI device 10ec:8139 (rev 16).
      IRQ 18.
      Master Capable.  Latency=64.  Min Gnt=32.Max Lat=64.
      I/O at 0xb800 [0xb8ff].
      Non-prefetchable 32 bit memory at 0xec800000 [0xec8000ff].
  Bus  2, device   0, function  0:
    Class 0300: PCI device 10de:01a0 (rev 177).
      IRQ 19.
      Master Capable.  Latency=248.  Min Gnt=5.Max Lat=1.
      Non-prefetchable 32 bit memory at 0xeb000000 [0xebffffff].
      Prefetchable 32 bit memory at 0xf0000000 [0xf7ffffff].

lspci

Esta herramienta ayuda a interpretar de mejor el complejo contenido del archivo /proc/pci. Más información se puede descubrir usando la opción -v, que combina información del vendedor a partir de /usr/share/pci.ids . La opción -t muestra los datos en modo árbol por bus, dispositivo y función.

[sergio@hibernia ~]$ lspci -t -v
-[00]-+-00.0  nVidia Corporation nForce CPU bridge
      +-00.1  nVidia Corporation nForce 220/420 Memory Controller
      +-00.2  nVidia Corporation nForce 220/420 Memory Controller
      +-00.3  nVidia Corporation: Unknown device 01aa
      +-01.0  nVidia Corporation nForce ISA Bridge
      +-01.1  nVidia Corporation nForce PCI System Management
      +-02.0  nVidia Corporation nForce USB Controller
      +-03.0  nVidia Corporation nForce USB Controller
      +-04.0  nVidia Corporation nForce Ethernet Controller
      +-05.0  nVidia Corporation nForce Audio
      +-06.0  nVidia Corporation nForce Audio
      +-08.0-[01]----07.0  Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
      +-09.0  nVidia Corporation nForce IDE
      \-1e.0-[02]----00.0  nVidia Corporation NVCrush11 [GeForce2 MX Integrated Graphics]

Herramienta setserial

Definición de protocolo serie

Un protocolo serie es un protocolo que envía datos en un flujo ( a través de 
un canal de línea/medios). Puede haber otros flujos/líneas para controlar datos. 
En contraste a un protocolo paralelo, que envía los datos en múltiples flujos. 
La principal ventaja que un protocolo serie tiene sobre (lo cual permite cables 
más largos) y una velocidad de datos posible mas alta por cada flujo.

El comando sertserial, es útil para indicarle al kernel como manejar las interfaces series (es decir: configuración de IRQ's y velocidad en baudios), y se puede usar también para que haga un listado de todas las interfaces series activas.

Este comando puede usarse para configurar modems por hardware.

Por ejemplo el siguiente comando configura de acuerdo a terminados parámetros el segundo puerto serie (llamado COM2 en otros sistemas).

setserial /dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200 spd_normal skip_test

/dev/ttyS1

Corresponde al segundo puerto serie

uart 16650A

El tipo uart especificado (Un chip UART realiza la conversión de datos en paralelo a serie)

port 0x02f8

El número de puerto en hexadecimal

irq

El número de IRQ

baud_base 115200

Se trata de la velocidad de transmisión de datos.

spd_nomal

Usar la velocidad que pide la aplicación.

skip_test

Algunos modems internos baratos, fallan en la autodetección correcta de uart, se puede saltear la prueba.

Herramientas para detectar y configurar softmodems

Si bien los softmodems originalmente fueron diseñados para trabajar solamente con Microsoft Windows, varios fabricantes de hardware ofrecen drivers para Linux. Para muchas marcas y modelos de softmodems que no poseen drivers oficiales existen herramientas y drivers no oficiales que permiten configurar un dispositivo de este tipo. Una de las herramientas más importantes es scanmodem, se trata de un script que utiliza lspci para realizar un informe detallado sobre el softmodem del sistema. Este utilitario se encarga de reportar cuáles es el identificador PCI y/o el identificador de los controladores PCI Audio Codec '97 y MC97 y su subsistema. La parte central de los softmodems es fabricada por Silicon Labs: scanmodem también informa el identificador de la misma.

Los modems de bus ISA, PCMCIA de 16 bits y USB no son reconocidos por scanmodem

Bibliografía

http://www.netodragon.com/

http://linmodems.technion.ac.il/#scanmodem

Listado y carga de módulos del kernel

lsmod

lsmod es un utilitario que muestra un listado de los módulos actualmente cargados.

Un núcleo Linux puede tener módulos para drivers u otras funcionalidades. Para mantener el tamaño del kernel pequeño, los módulos se cargarán solamente cuando se especifique para a fin de que el núcleo no quede gigante.

Ejemplo

[root@hibernia sergio]# lsmod
Module                  Size  Used by
md5                     3584  1
ipv6                  233984  6
joydev                  8128  0
gameport               11112  0
snd_seq_dummy           2532  0
snd_seq_oss            31136  0
snd_seq_midi_event      5696  1 snd_seq_oss
snd_seq                46960  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device          6828  3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss            48960  0
snd_mixer_oss          16896  1 snd_pcm_oss
snd_intel8x0           28404  1
snd_ac97_codec         83900  1 snd_intel8x0
snd_pcm                79784  3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer              20548  2 snd_seq,snd_pcm
snd_page_alloc          8392  2 snd_intel8x0,snd_pcm
snd                    46116  11 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,
snd_ac97_codec,snd_pcm,snd_timer
soundcore               7008  1 snd
ipt_IFWLOG              2788  1
ipt_psd                43428  1
ip_set_iptree           5544  2
ipt_REJECT              4256  4
ipt_LOG                 6272  7
ipt_state               1312  13
ipt_pkttype             1184  4
ipt_set                 1920  2
ipt_CONNMARK            1696  0
ipt_MARK                1984  0
ipt_ROUTE               4260  0
ipt_connmark            1216  0
ipt_owner               2432  0
ipt_recent              9292  0
ipt_iprange             1312  0
ipt_physdev             1744  0
ipt_multiport           2112  0
ipt_conntrack           1792  0
iptable_mangle          2016  0
ip_set_portmap          3872  0
ip_set_macipmap         3780  0
ip_set_ipmap            3872  0
ip_set_iphash           5956  0
ip_set                 18908  11 ip_set_iptree,ipt_set,ip_set_portmap,ip_set_macipmap,ip_set_ipmap,ip_set_iphash
ip_nat_irc              1824  0
ip_nat_tftp             1216  0
ip_nat_ftp              2560  0
iptable_nat            20276  3 ip_nat_irc,ip_nat_tftp,ip_nat_ftp
ip_conntrack_irc       70352  1 ip_nat_irc
ip_conntrack_tftp       3088  1 ip_nat_tftp
ip_conntrack_ftp       71408  1 ip_nat_ftp
ip_conntrack           40856  9 ipt_state,ipt_conntrack,ip_nat_irc,ip_nat_tftp,ip_nat_ftp,iptable_nat,
ip_conntrack_irc,ip_conntrack_tftp,ip_conntrack_ftp
iptable_filter          2080  1
ip_tables              20384  20 ipt_IFWLOG,ipt_psd,ipt_REJECT,ipt_LOG,ipt_state,ipt_pkttype,ipt_set,ipt_CONNMARK,
ipt_MARK,ipt_ROUTE,ipt_connmark,ipt_owner,ipt_recent,ipt_iprange,ipt_physdev,ipt_multiport,ipt_conntrack,
iptable_mangle,iptable_nat,iptable_filter
8139too                21632  0
mii                     4704  1 8139too
forcedeth              16544  0
af_packet              16392  2
floppy                 55444  0
video                  14052  0
thermal                10792  0
tc1100_wmi              5092  0
processor              18268  1 thermal
fan                     3172  0
container               3008  0
button                  4848  0
battery                 7460  0
ac                      3268  0
ide_cd                 37988  0
loop                   14504  0
ppdev                   7364  0
parport_pc             32612  1
lp                     10024  0
parport                31976  3 ppdev,parport_pc,lp
nvidia_agp              5916  1
agpgart                29032  1 nvidia_agp
dm_mod                 51804  0
tsdev                   5984  0
usbmouse                4160  0
usbhid                 44544  0
usblp                  10976  0
ohci_hcd               19172  0
usbcore               108476  5 usbmouse,usbhid,usblp,ohci_hcd
evdev                   7648  0
ext3                  124840  5
jbd                    48568  1 ext3

modprobe

modprobe es un comando que se emplea para:

  • Cargar módulos en memoria (con o sin parámetros)
  • Borra módulode de la memoria
  • Mostrar el listado de módulos disponibles

Ejemplo: modprobe haciendo un listado de los módulos disponibles para dispositivos que usan tecnología infrarroja:

[root@hibernia sergio]# modprobe -t irda -l
/lib/modules/2.6.12-22mdk/kernel/net/irda/irnet/irnet.ko.gz
/lib/modules/2.6.12-22mdk/kernel/net/irda/irda.ko.gz
/lib/modules/2.6.12-22mdk/kernel/net/irda/irlan/irlan.ko.gz
/lib/modules/2.6.12-22mdk/kernel/net/irda/ircomm/ircomm.ko.gz
/lib/modules/2.6.12-22mdk/kernel/net/irda/ircomm/ircomm-tty.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/vlsi_ir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/via-ircc.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/w83977af_ir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/stir4200.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/tekram-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/sir-dev.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/smsc-ircc2.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/nsc-ircc.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/mcp2120-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/ma600-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/litelink-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/irtty-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/irport.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/irda-usb.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/girbil-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/esi-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/donauboe.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/ali-ircc.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/actisys-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/act200l-sir.ko.gz
/lib/modules/2.6.12-22mdk/kernel/drivers/net/irda/old_belkin-sir.ko.gz
Herramientas personales