frikis.org
 (Búsqueda avanzada)
¡NO HAGAS CLIC AQUÍ!
Página Inicial | Enviar Noticia | Foro | Galería | Proyectos | Documentos | Downloads | Screenshots | Enlaces
Temas
Bugs (27/10)
Debian (7/11)
Eventos (50/11)
Frikis (104/32)
frikis.org (26/17)
Gadgets (34/26)
Gentoo (43/12)
Hardware (24/7)
Humor (123/20)
Linux (60/14)
Noticias (73/28)
Redes (71/18)
Slackware (7/11)
Software (55/2)
Secciones
Foro de Frikis.org
Galería
Proyectos

Documentos
Download
Screenshots
Enlaces
Funciones del(a) usuario(a)
Nombre del(a) usuario(a):

Contraseña:

¿No tienes una cuenta todavía? Inscríbete
Última hora
NOTICIAS
No hay noticias nuevas

COMENTARIOS last 2 days
No hay comentarios nuevos

LINKS last 2 weeks
No recent new links

Sindícanos
Puedes sindicar las últimas noticias de frikis.org en xml.

En capítulos anteriores
Thursday 27-Apr
  • Testigos de Mitch (14)

  • Monday 20-Feb
  • Kevin Smith y Superman Lives (2)

  • Wednesday 01-Feb
  • I concurso de relatos cortos sobre cultura libre (1)

  • Friday 20-Jan
  • Vuelve Takeshi Castle (Humor Amarillo) (20)

  • Monday 16-Jan
  • Depila a David Hasselhoff (1)
  • David Hasselhoff productions presenta: Hooked On A Feeling (5)

  • Wednesday 28-Dec
  • El trasfondo de Los Simpsons y Futurama (3)

  • Tuesday 13-Dec
  • Muere Richard Pryor (0)

  • Thursday 08-Dec
  • Entrevista a los coordinadores de Astroseti.org (0)

  • Wednesday 30-Nov
  • Dar cera, pulir cera (1)

  • Configurar y compilar el Kernel


     1.- Prefacio.

    La estructura del sitema operativo GNU/Linux parte del Kernel (el propio Linux en cuestión). Éste puede ser reemplazado por otro de diferente versión sin ningún tipo de problemas.
    En dicho Kernel está especificado el hardware que poseemos, desde el procesador o procesadores que tenemos, hasta la tarjeta de sonido, de red, etc.; sistemas de ficheros soportados; protocolos de conexión a internet, etc.
    Una gran mayoria, posee un kernel pre-configurado y pre-compilado, lo cual puede llevarnos a que parte del hardware que poseemos no funcione o no lo haga correctamente, además poseerémos una sobrecarga de módulos inútiles para nosotros.
    Debido a esto a lo largo de este documento vamos a aprender a configurar y compilar nuestra propia imagen del kernel para hacerlo a nuestra justa medida.


     2.- Introducción.

    Dicho esto, empecemos con una introducción al Kernel.
    El kernel de Linux (Linux) está escrito en C y es código abierto licenciado bajo licencia GNU/GPL (excepto el planificador de recursos, el cual pertenece a Linus Torvalds y al resto de programadores que se han ocupado de dicha parte), con lo cual tenemos acceso al código para su estudio y/o modificación.
    Lo podemos encontrar en diferentes versiones, ahora explicaremos la nomenclatura de éste.
    La nomenclatura del Kernel se divide en 3 campos separados por un punto (.), estos son:
    Primer campo: Número de la versión, actualmente a fecha de este documento es la 2.
    Segundo campo: Numero de "sub-versión", por llamarlo de algun modo, es la version dentro de la propia versión, si este numero es par, la versión sera estable, si por el contrario es impar, ésta sera inestable.
    Tercer campo: Nivel de corrección el en que se encuentra.
    Asi pues el primer paso para configurar nuestro propio Kernel será bajarnoslo, lo podreis encontar en ftp://ftp.kernel.org/pub/linux/kernel/
    En esta dirección de ftp encontrareis varios directorios, los que nos atañen son los del tipo v2.4 (última versión estable hasta el momento).
    En dicho directorio podemos encontrar tanto las sources del kernel con los parches aplicados (linux-x.y.z), como las propias aplicaciones (patch-x.y.z). Recomendamos descargar la última versión estable con la ultima aplicacion aplicada, en el momento que fue escrito este documento era la 2.4.18, y es la que vamos a tratar a lo largo de este documento, no os preocupeis si la vuestra otra, ya que será bastante parecido.
    Una vez hemos descargado las sources del kernel, las metemos en un directorio, el más comun es /usr/src. Hecho esto procedemos a descomprimir y desempaquetar las fuentes.
    Si lo habeis descargado en tar.gz o tgz, la sintaxis para descomprimir y desempaquetar es la siguiente:

    # tar xvfz linux-x.y.z.tar.gz (substituid los campos x, y, z por lo que proceda)

    Por el contrario, si lo teneis en tar.bz2, la sintaxis puede variar según la distribución, pero ha de ser una de estas tres (debeis tener constancia de que bunzip2 esta instalado en el sistema, de lo contrario no podreis descomprimir el archivo).

    # tar xvfj linux-x.y.z.tar.bz2

    # tar xvfI linux-x.y.z.tar.bz2

    # tar xvfy linux-x.y.z.tar.bz2

    En caso de que ninguna de estas maneras funcione, haced lo siguiente:

    # bunzip2 linux-x.y.z.tar.bz2 | tar xvf linux-x.y.z.tar

    Esto nos generará un directorio llamado linux, para una mayor organización, deberiamos renombrar el directorio linux como linux-x.y.z, para saber con que versión estamos trabajando, esto es muy util para cuando vayamos a configurar otro kernel.

    # mv /usr/src/linux /usr/src/linux-x.y.z

    Hecho esto, para mayor comodidad podemos crear un enlace simbolico llamado linux.

    # ln -s /usr/src/linux-x.y.z /usr/src/linux

    Ahora entramos en el directorio /usr/src/linux y estamos preparados para dar el siguiente paso.


     3.- Modulos.

    Integrados en la imagen o modulos.
    La elección de si debemos marcar algo como módulo o bien integrarlo en la imagen, queda en la mayoría de los casos al libre albedrio de cada individuo, no obstante hay casos en los que solo podemos integrarlo.
    No es bueno tener todo integrado en la imagen, ya que esto la espesaría hasta tal punto de no caber en un disket o bien, en caso de que excediera mucho el tamaño "normal", produciría un error al compilarse.
    Por tanto debemos escojer ciertas cosas como módulos. Claro ejemplo de ello son tarjetas de red, de sonido, soporte para dispositivos USB, SCSI, PCI, Paralelo, AGP, etc.
    Ya que esto suele ocupar bastante espacio en la imagen.


       3.1.- Como cargar y descargar modulos.

    Para cargar y descargar modulos instalados, contamos con dos herramientas, modconf y modprobe.
    Ésta primera es la más sencilla, basta con poner modconf y seleccionar los modulos mediante un menú.
    La segunda es algo mas compleja, para cargar un modulo hemos de poner:

    # modprobe nombre_del_modulo

    Y para descargarlo:

    # rmmod nombre-del-modulo

    Si desea obtener más información acerca de modprobe, lease el manual de éste.


     4.- Configurar el Kernel.


       4.1.- Modos de configuración del Kernel.

    Tenemos tres modos de configurar el Kernel.
    Paso a paso, con lo cual debemos recorrer uno a uno todas las opciones (no aconsejable), esto se lleva a cabo con la opción make config.
    Mediante menús, el modo mas aconsejable y comodo a mi parecer, y el que trataremos en este documento, se lleva a cabo mediante la opción make menuconfig.
    Mediante menús graficos, lo cual está bien, make xconfig, aunque personalmente no me agrada.

         4.1.1.- El metodo por menús.
    Para ello necesitamos las librerias que se ocupan de los menús en la consola, las ncurses.
    Aclarado esto, empezamos con el menu de configuración, para ello nos dirigimos al directorio donde se encuentran las sources del Kernel y escribimos

    # make menuconfig

    Y nos saldra una pantalla parecida a esta:

    Linux Kernel
    Pues bien, esto es el menu de configuración del kernel, desde aquí damos soporte al hardware, protocolos etc., más tarde, esta configuración sera compilada en una imagen con la que iniciaremos el sistema. La leyenda de teclas para la utilizacion del menuconfig es la siguiente:
    Pulsando "Enter" entramos en el menú o submenús.
    Pulsando "Y" incluimos lo que seleccionemos como parte de la imagen del Kernel.
    Pulsando "M"lo incluiremos modulo, esto es, se compilara aparte y se cargara si queremos o no y no ocupara espacio en la imagen del kernel.
    Pulsando "N" lo excluiremos de la futura imagen.
    Por último, si pulsamos "?" se nos mostrara información sobre el menú u opción (se aconseja utilizarlo si no se sabe que hace esa opción)
    La leyenda es esta:
    [*] ó <*> indica que la opción sera compilada como parte de la imagen.
    [ ] ó < > inidca que la opción no esta incluida.
    indica que la opción esta cargada como módulo.
    Una vez hechas las presentaciónes comencemos a recorrer los puntos más necesarios, dejando atras aquello que no sea tan importante.


      4.2.- Configurando el Kernel.

    Code maturity level options
    En este primer grupo nos encontramos solamente con la opción Prompt for development and/or incomplete code/drivers. Esta opción debe activarse en caso de que vayas a desarrollar drivers o bien en caso de utilizar drivers que de otra forma no funcionan, por ejemplo, si estamos usando el sistema de particiones EXT 3, es muy aconsejable incluir esto como parte el kernel. En caso contrario no marcar.

    Loadable module support
    Enable loadable module support esta opción es para poder hacer uso de modulos (inclúyala).
    Set version information on all module symbols esta opción hace posible que los modulos sean siempre compilados independientemente de que cambiemos de kernel (no la incluya a menos que esté seguro de lo que hace).
    Kernel module loader esta opción hace posible que el kernel, por si mismo, pueda cargar los modulos por si mismo si una parte del Kernel lo necesita (incluyalo y si es posible lea Documentation/kmod.txt).

    Processor type and features
    En la primera opción debemos expecificar el procesador que poseemos, por ejemplo, si tenemos un AMD Athlon, Duron o K7, quedaría de la siguiente manera: (Athlon/Duron/K7) Processor family
    Las 5 siguientes opciones son muy expecificas y de procesadores específicos, por lo que no las vamos a tratar, si su procesador posee alguna de ellas, lea detenidamente la información de éste.
    High Memory Support si nuestro sistema tiene menos de 960 MB de memoria RAM, la respuesta ha de ser "off", si poseemos entre 1GB y 4GB seleccionad "4GB", si tiene mas de 4GB, seleccionad "64GB").
    Math emulation si su sistema carece de un co-procesador que realice las operaciones matemáticas, habilite esta opción, para saber si usted tiene co-procesador mire la información de la bios.
    MTRR (Memory Type Range Register) support si escoje esta opción, se podran manipular El tipo de rango de registros de memoria (MTRR), en caso de no poseer MTRR puede escojerlo también. Escoja esta opción, ya que mejora el rendimiento grafico.
    Symmetric multi-processing support escoja esta opción sólo si su sistema tiene dos o más procesadores, esta opción deshabilita el APM que más adelante veremos.
    Local APIC support on uniprocessors habilita un "controlador avanzado de interrupciones de entrada/salida", en caso de haberlo (sólo si posees un solo procesador).

    General setup
    Networking support necesario si tienes conexión a internet.
    PCI support necesario si tienes hardware PCI.
    PCI access mode esta opción especifica cómo se detectaran los PCI's. Si eliges "BIOS", se detectaran de ella, si eliges "Direct", la BIOS no será usada y si eliges "Any", el kernel primero tratara de detectarlo directamente y si falla usara la BIOS. Por tanto es aconsejable escojer "Any"
    PCI device name database habilita la base de datos de todos los devices (dispositivos) PCI conocidos.
    EISA support escoja esta opción sólo si esta haciendo un kernel para una maquina basada en EISA.
    MCA support habilita el la Arquitectura MicroCanal para algunos IBM PS/2, esto es un bus de sistema simiar a PCI o ISA.
    Support for hot-pluggable devices escogiendo esta opción, usted puede conectar devices en su sistema sin necesidad de apagar y estos funcionaran, como por ejemplos tarjetas PCMCIA, tarjetas de red, modems, ratones, teclados, incluso discos duros, al igual que sucede con el hardware USB.
    PCMCIA/CardBus support si usted tiene tarjetas PCMCIA, puede configurarlas en este submenu, para ello habilite la opción PCMCIA/CardBus support y elija la tarjeta que posee.
    Support for PCI Hotplug si su placa base posee soporte para conectar en caliente tarjetas PCI, habilite esta opción dentro de este submenú.
    System V IPC es un conjunto de librerias que permiten la comunicación entre procesos (escoja esta opción).
    BSD Process Accounting esta opción permite al kernel guardar la información de los programas en un archivo, esta información es referente al proceso que dicho programa lleva a cabo, fecha de creacion, propietario del programa, nombre del comando, memoria usada, etc. (escoja esta opción).
    Sysctl support esto creará sistema de ficheros llamado /proc donde los procesos se llevaran a cabo (escoja esta opción).
    Kernel core (/proc/kcore) format escoja "ELF", ya que es mejor que el antiguo "A.OUT".
    Kernel support for a.out binaries esta opcion no es necesaria, ya que anteriormente hemos elegido "ELF".
    Kernel support for ELF binaries escoja esta opción, ya que anteriormente hemos asignado este formato de librerias.
    Kernel support for MISC binaries escoja esta opción si va a usar programas que necesitan interpretes tales como Java, Python o bien emuladores de otros sistemas operativos o maquinas (es recomendable escojer esta opción).
    Power Management support si desea controlar el que su ordenador pueda ser "dormido" o bien apagado sin necesidad de usar el boton power, elija esta opción. Esta opción solo funciona en placas base ATX, las AT quedan excluidas.
    ACPI support controla la energia del sistema para poder apagarlo o dormirlo, no obstante es preferible usar APM.
    Advanced Power Management BIOS support controla la energia del sistema para poder apagarlo o dormirlo, si no responde use la opción Use real mode APM BIOS call to power off.

    Parallel port support
    Parallel port support habilita el uso del puerto paralelo, normalmente para impresoras o escaners.
    PC-style hardware escoja esta opción si eligio la anterior.
    Multi-IO cards (parallel and serial) escojala si posee una tarjeta de estas.
    Use FIFO/DMA if available escoja esta opción.
    SuperIO chipset support no escoja esta opción.
    Support foreign hardware escoja esta opción solo si desea obtener soporte para puertos paralelos no estandars (esto pude suponer un problema).
    IEEE 1284 transfer modes si su impresora no soporta leer hacia atras no lo active.

    Plug an Play configuration
    Plug and Play support escoja esta opción si desea que linux configure el hardware Plug and Play (PnP).
    ISA Plug and Play support escoja esta opción si posee hardware ISA Plug and Play.

    Block devices
    Normal PC floppy disk support escojalo si desea hacer uso de la disquetera.
    El resto de opciones son bastante expecificas, por lo cual no las trataremos en este documento.

    Multi-device support (RAID and LVM) desde este menú podra configurar su disco duro RAID en caso de poseerlo.

    Networking options
    Packet socket es usado para las aplicaciones con comonicación directa con la red, si tienes internet marca esta opción.
    Packet socket: mmapped IO si elige esta opción, el protocolo Packet usara un mecanismo de Entrada/Salida (I/O), si no esta seguro de que elegir, no lo elija.
    Netlink device emulation algunos programas usan nodos especiales como /dev/tap0 o /dev/route, escojalo según su libre elección. Esta opcion sera eliminada del kerel en futuras versiones.
    Network packet filtering (replaces ipchains) puede usarlo si quiere, pero no es en abosoluto necesario, en lugar de esto pude usar ipchains.
    Socket Filtering elija esta opción si va a realizar conexion mediante PPP.
    Unix domain sockets da soporte para el acceso a la red mediante el estandar UNIX (escoja esta opción).
    TCP/IP networking escoja esta opción si desea tener conexion mediante el protocolo TCP/IP (protocolo usado en internet).
    Asynchronous Transfer Mode (ATM) escoja esta opción si tiene una red LAN.
    802.1Q VLAN Support si escoje esta opción debe tener el programa vconfig para configuralo.
    The IPX protocol eso da soporte al protocolo Novel network.
    Appletalk protocol support Appletalk es la forma por la que los computadores Apple "hablan" entre ellos en la red, si tu linux esta conectado a una red de Apple's y el tuyo tambien lo es, elige ésta opción.
    DECnet Support este protocolo es usado en algunos productos hechos por Digital (Compaq) (no es necesario).
    802.1d Ethernet Bridging sirve para usar la maquina como puente ethernet.
    CCITT X.25 Packet Layer es un grupo de protocolos de red estandarizados (no es necesario).
    Algunos de estos protocolos no los trataremos aquí debido a que es un documento explicativo, no exaustivo.
    WAN router elijalo si su tarjeta ethernet utiliza el interfaz WAN.
    Fast switching esto permite la comunicación directa entre interfaces de tarjetas de red. Esta opción no es compatible con "Network packet filtering", si la ha escojido no elija ésta.
    Forwarding between high speed interfaces esta opcion habilita NIC (Network Interface Card) durante periodos de congestión extrema.

    Telephony Support mediante este menú configurará su tarjeta de telefono en caso de que la posea.

    ATA/IDE/MFM/RLL support
    ATA/IDE/MFM/RLL support elija esta opción si tiene algun interfaz ATA, IDE, MFM o RLL (normalmente todas las maquinas tienen algun interfaz de estos, sobre todo IDE, excepto las puramente SCSI).
    IDE, ATA and ATAPI Block devices en este submenú configuraremos nuestros interfaces IDE, ATA y ATAPI.
    Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support elija esta opción.
    Use old disk-only driver on primary interface esta opción se usa para configurar el antiguo driver para discos duros MFM/RLL/IDE, lo más normal es usar el nuevo.
    Include IDE/ATA-2 DISK support elija esta opción para dar soporte a los discos duros MFM/RLL/IDE con el nuevo driver. Escoja esta opción a menos que hubiera tenido que escojer la anterior.
    Use multi-mode by default si teneis este error al arranque:
    hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
    hda: set_multmode: error=0x04 { DriveStatusError }
    De lo contrario y ante la duda no escoja esta opción.
    Include IDE/ATAPI CDROM support escojalo si posee un CDROM IDE/ATAPI, en el caso de que usted posea una grabadora o regrabadora de CD's o bien de DVD's, no escoja esta opción, ya que debera emularla como SCSI.
    Include IDE/ATAPI TAPE support escoja esta opcion en el caso de tener una grabadora de cintas magneticas.
    Include IDE/ATAPI FLOPPY support normalmente no debera elejir esta opción, ya que el device que utiliza la disquetera es otro, no obstante si lo tiene conectado a uno de los dos IDE's elija esta opción.
    SCSI emulation support escoja esta opción si necesita emular algún interfaz IDE/ATAPI como SCSI. Si usted posee una grabadora de CD's o DVD's ha de escojer esta opción.
    --- IDE chipset support/bugfixes durante este apartado, se configurara el chipset de los interfaces IDE, esto es bastante especifico del propio sistema, así que he optado por expecificar mi configuración para que ustedes elijan o copien según su libre albedrio.
    CMD640 chipset bugfix/support (seleccionadla).
    CMD640 enhanced support (no seleccionadla).
    RZ1000 chipset bugfix/support usado en algunas placas base 486 y Pentium, esto corrige algunos errores con linux (seleccionada).
    Generic PCI IDE chipset support elegid esta opción para dar soporte a sistemas PCI que usan drivers IDE.
    Sharing PCI IDE interrupts support (seleccionadla).
    Generic PCI bus-master DMA support (seleccionadla).
    Boot off-board chipsets first support (no seleccionadla).
    Use PCI DMA by default when available (seleccionadla).
    ATA Work(s) In Progress (no seleccionadla).
    Las siguientes opciones no las vamos a tratar debido a que son bastante expecificas, informese bien de su hardware.
    VIA82CXXX chipset support esta opción habilita el uso del chipset VIA para PIO/DMA.
    Support for IDE Raid controllers habilita el soporte para discos IDE's RAID.

    SCSI support
    SCSI support habilite esta opción en caso de que posea interfaces SCSI o bien en caso de que desee emularlos.
    SCSI disk support esta opción le permite dar soporte a discos duros SCSI.
    Maximum number of SCSI disks that can be loaded as modules esto controla la cantidad de espacio adicional localizada en tablas para drivers que son cargados como moulos despues de que el kernel se halla iniciado, salvo que este seguro de lo que este haciendo no modifique el valor predeterminado (40).
    SCSI tape support da soporte a lectores de cintas magneticas SCSI.
    SCSI CD-ROM support habilite esta opción en caso de que posea un lector de CD SCSI o bien posea una grabadora tanto IDE como SCSI.
    Enable vendor-specific extensions (for SCSI CDROM) esto habilita el uso de los comandos del vendedor especifico de la unidad SCSI, esto es requerido para soportar CD's multisesión con antiguos cdroms NEC/TOSHIBA y grabadoras HP.
    Maximum number of CDROM devices that can be loaded as modules especifique aqui el numero maxcimo de unidades de CDROM, grabadoras o DVD que pueden ser cargadas como módulos.
    SCSI generic support si desea usar escaners SCSI o bien grabadoras sean o no SCSI, lectores de cintas magneticas etc. escoja esta opción.
    Probe all LUNs on each SCSI device escoja esta opción si usted tiene unidades SCSI las cuales soportan mas de un LUN (Logical Unit Number).
    Verbose SCSI error reporting (kernel size +=12K) escoja esta opción para que los mensajes de error leidos por el hardware SCSI sean comprendidos más fácilmente, portanto escoja esta opción.
    SCSI logging facility escoja esta opción si escojio "/proc file system support".
    SCSI low-level drivers en este submenú usted podra configurar las tarjetas SCSI que posee, al ser algo propio de cada sistema, consulte su hardware y configurelo usted mismo.

    Fusion MPT devide support en este menu usted podra configurar su hardware Fusion MPT.

    IEEE 1394 (FireWire) support en este meú usted podra configurar su hardware FireWire.

    Network device support
    Network device support escoja esta opción si tiene acceso a internet.
    ARCnet devices desde este submenu configuraras tu tarjeta ARCnet (si la tienes).
    Dummy net driver support si conectas mediante SLIP o PPP, deberias seleccionar esta opción.
    Bonding driver support seleccione esta opción si desea tener multiples canales conjuntos de tarjetas ethernet. Si posee dos conexiones ethernet en algun ordenador, puedes usarlas para una doble velocidad de conexión usando este driver.
    EQL (serial line load balancing) support si posee dos conexsiones en serie con otro ordenador y usas para ello SLIP o PPP en ellos, tu puedes hacer, mediante este driver, que ellos se comporten como una doble velocidad de conexión.
    Universal TUN/TAP device driver support esta opción poporciona un paquete de recepción y transmisión para el espacio de los programas del usuario. Esto puede ser visto como un simple dispositivo PPP o ethernet, el cual en lugar de recivir paquetes de un medio fisico los recibe del espacio del programa y en lugar de enviarlos "fisicamente", los escribe en el espacio del programa. A no ser que realmente sepa que es esta opción, no la marque.
    Ethertap network tap en caso de marcar esta opción, deberiamos marcar también "Kernel/User network link driver", no obstante esta opción es bastante avanzada para ser tratada en el documento, ya que en caso de escojerla, deberiamos tener cierto conocimiento en cuanto a linux se refiere.
    Ethernet (10 or 100Mbit) en este submenú configuraremos la tarjeta de red ethernet de 10 o 100 Mbits. podemos configurar tarjetas de diferentes marcas ya sean pci o isa, además de tambien poder configurar tarjetas portatiles. Para ello solo debemos seleccionar la opción Ethernet (10 or 100Mbit) y la de vuestra tarjeta, para ello debeis conocer el chip de esta, lo cual puede llevar a confusión, por ejemplo, una ethernet Genuis usa un chip RealTek, como metodo de ayuda puede utilizar el comando lspci con el flag -v para ver expecificaciones sobre su hardware, sea o no pci. lspci es un comando que se encuentra dentro del paquete pciutils.
    Ethernet (1000 Mbit) en caso de que poseamos una tarjeta ethernet de 1000Mbits, la podremos configurar en este submenú.
    FDDI driver support Fiber Distributed Data Interface (FDDI) está diseñado para aportar grandes velocidades en redes locales, esencialmente esto es un remplazo para grandes velocidades de ethernet. FDDI puede funcionar sobre cobre o fibra.
    HIPPI driver support HIgh Performance Parallel Interface (HIPPI) permite una transmisión entre 800Mbits/segundo y 1600Mbits/segundo dual o simple. HIPPI puede funcionar sobre cableado de cobre de hasta 25 metros o de fibra de hasta 300 metros en multi-modo o 10 Kilometros en modo-simple. Esto normalmente es utilizado para conectar super ordenadores, en caso de que posea una tarjeta HIPPI, seleccione esta opción.
    PLIP (parallel port) si desea conectar dos o más ordenadores mediante el puerto paralelo, escoja esta opción.
    PPP (point-to-point protocol) support si va a conectar a internet a traves de este protocolo, si por ejemplo va a usar un modem, seleccione esta opción, para más información a cerca de como conectar a internet via PPP, consulte el documento Como conectar a internet via pppd.
    SLIP (serial line) support si va a conectar mediante el protocolo SLIP, seleccione esta opción.
    Wireless LAN (non-hamradio) si usted posee una red local Wireless, en este submenu puede configurarla.
    Token Ring devices en caso de que posea una red local instalada en forma de anillo, en este menú puede configurarla.
    Fibre Channel driver support es un protocolo serie de gran velocidad que se usa para conectar dispositivos de gran almacenaje al ordenador.
    Red Creek Hardware VPN esto es el driver para el hardware que proporciona una Rel Privada Virtual (Virtual Private Network), seleccione esta opción en caso de que posea dicha red.
    Traffic Shaper esto es una red virtual que permite limitar el ratio de salida de datos sobre otros dispositivos de red. El trafico que tu quieres restringir puede ser enrutado a estos dispositivos virtuales.
    Wan interfaces en caso de que tengamos montada una red local mediante WAN, en este submenu podemos configurarla.

    Amateur Radio support si deseas conectar tu ordenador a una radio amateur, mediante este menu puedes configuralo.

    IrDA (infrared) support el protocolo Interfared Data Associations (IrDA) es usado para interfaces de comnucicacion wireless.

    ISDN subsystem esto es usado para redes de servicios digitales, por ejemplo, si usted posee RDSI, mediante este menú podra darle soporte tanto al servicio como a su tarjeta. Para una RDSI deberia seleccionar la opción ISDN support, Support synchronous PPP, en el el submenú Passive ISDN cards o Active ISDN cards, seleccionar su tarjeta ISDN para RDSI.

    Old CD-ROM drivers (not SCSI, not IDE) si posee un ispositivo de CDROM que no es ni SCSI ni IDE/ATAPI, mediante este menú puede darle soporte.

    Input core support
    en este menú se habilita el soporte para dispositivos USB Human Interface Device (HID). En caso de poseer algo que lo requiera de soporte desde aqui.

    Character devices
    Virtual terminal esta opción da soporte para terminales virtuales o consolas virtuales, seleccionela.
    Support for console on virtual terminal da soporte para usar una consola en un terminal virtual, seleccionela también.
    Standard/generic (8250/16550 and compatible UARTs) serial support en caso de querer utilizar el puerto serie, seleccione esta opción.
    Support for console on serial port esto puede ser util si posee una impresora conectada al puerto serie.
    Extended dumb serial driver options seleccione esta opción si tiene un hub para conectar mas de 2 dispositivos SCSI o si su placa posee mas de 2 puertos serie.
    Non-standard serial port support si posee puertos series no estandarizados, como por ejemplo una placa base que no soporta el estandard "dumb", seleccione esta opción.
    Unix98 PTY support seleccione esta opción, ya que es muy probable que la utilicemos. Esto hace posible el uso de xterms, servidores de telnet, rlogins y ssh.
    Maximum number of Unix98 PTYs in use (0-2048) aquí se indica el máximo número de Unix98 PTYs que pueden ser utilizados a la vez, en un sistema normal nos basta con la opción por defecto (256), en caso de que tengamos montado un servidor grande de telnet, ssh, rlogin o algo semejante, deberiamos incrementar el número.
    Parallel printer support si tenemos una impresora conectada al puerto paralelo, debemos seleccionar esta opción.
    Support for console on line printer seleccione esta opcion si desea que los mensajes del kernel sean impresos.
    Support for user-space parallel port device drivers esto es necesario para programas que han de acceder al puerto paralelo.
    I2C support en este submenu configuraremos las opciones para ver la información de nuestro procesador, por ejemplo mediante el uso de programas tales como lmsensors podemos ver la temperatura. En nuestro caso hemos seleccionado las siguientes opciones: I2C support, I2C device interface y I2C /proc interface.
    Mice en este submenu configuraremos el soporte para nuestro ratón en caso de no estar conectado al puerto serie, si nuestro raton es USB, deberemos seleccionar la primera opción: Bus Mouse Support, en caso de no ser ni serie ni bus, seleccionaremos la opción Mouse Support (non serial and bus mice) el tipo de dispositivo que use el ratón.
    Joysticks desde este submenú podremos configurar nuestro joistick.
    QIC-02 tape support si posees un dispositivo de cintas magneticas no SCSI, seleccione esta opción.
    Watchdog Card desde este submenú podra configurar su tarjeta Watchdog.
    Intel i8x0 Random Number Generator support elijalo si su placa base lo tiene.
    /dev/nvram support esta memoria es llamada convencionalmente CMOS RAM en los PC's. Puede ser usada para guardar algunos bits de datos muy importantes los cuales seria inseguro en caso de escribirlos en el disco.
    Enhanced Real Time Clock Support lea el documento explicativo en documentation/rtc.txt.
    Siemens R3964 line discipline este driver ayuda a sincronizar la comunicacion entre los dispositivos usando este protocolo. A menos que utilice hardware especial como PLCs, no es necesario.
    Applicom intelligent fieldbus card support seleccionelo en el caso de poseer esta tarjeta.
    Sony Vaio Programmable I/O Control Device support si tienes una tarjeta de estas, selecciona esta opción.
    Ftape, the floppy tape device driver si tienes un lector de cintas magnéticas conectado al controlador de la disquetera marca esta opción.
    /dev/agpgart (AGP Support) AGP (Accelerated Graphics Port) es un bus generalmente usado para conectar tarjetas graficas al resto del sistema. Si tienes una tarjeta AGP y seleccionas esta opción, será posible usar las caracteristicas AGP que tu tarjeta gráfica proporciona.
    Direct Rendering Manager (XFree86 DRI support) esta opción da soporte a DRI, introducido en los XFree86 4.0 y superiores. Si selecciona esta opción, debera seleccionar el modulo correcto para su tarjeta gráfica en la lista que mas abajo veremos.
    Build drivers for old (XFree 4.0) DRM esta opción es para versiones de XFree86 inferiores a la 4.0.
    3dfx Banshee/Voodoo3+ escoja esta opción si posee una tarjeta gráfica de estas caracteristicas.
    ATI Rage 128 elija esta opción si tiene esta tarjeta gráfica.
    ACP Modem (Mwave) support si posee uno de estos modems, éste es el driver para poder utilizarlo. Soporta varios Thinkpads de IBM y tiene el chipset Mwave, escoja esta opción. Una vez configurado el modem, puede aprender más sobre la conexión a internet madiante PPP leyendo el documento: Conectar a internet via pppd.

    Multimedia devices
    Video For Linux esta opcion da soporte para la captura de audio/video, por tanto, si posee una tarjeta de televisión, de radio o bien una webcam, seleccione esta opción.
    Video For Linux mediante este submenú, usted podra dar soporte para su tarjeta de televisión, en ella deberá seleccionar la opcion V4L information in proc filesystem para dar acceso al dispositivo de video en /proc/video, siempre y cuando halla habilitado la opción "/proc file system support"; y tu modelo de tarjeta y expecificaciones de ésta.
    Radio Adapters en caso de disponer de tarjeta de radio, mediante este submenú puede darle soporte.

    File systems en este menú se configuraran los diversos tipos de sistemas de particiones que serán soportados en nuestro sistema.
    Quota support esta opción da la posibilidad de limitar el espacio de disco que los usuarios pueden usar. Normalmente, a no se que este configurando un servidor en el que habran muchos usuarios, no tendra porque seleccionar esta opción. Normalmente funciona sobre ext2. En caso de seleccionar esta opción, lea más sobre esto en http://www.linuxdoc.org/docs.html#howto.
    Kernel automounter support esto es una herramienta para montar automaticamente sistemas de ficheros remotos.
    Kernel automounter version 4 support (also supports v3) esta opción es más nueva que la anterior.
    Reiserfs support en caso de que use el sistema de particiones ReiserFS, marque esta opción. ReiserFS es un sistema de archivos muy bueno con directorios largos y archivos pequeños y es muy rapido. Otra caracteristica a destacar es el journailling. Supuestamente ReiserFS ya es estable a partir del kernel 2.4.18.
    ADFS file system support marque esta opción si desea dar soporte para el sistema de archivos standard del sistema operativo RiscOS.
    Amiga FFS file system support seleccione esta opción si desea dar soporte para lectura y escritura al Fast File System de Amiga.
    Apple Macintosh file system support marque esta opción si desea dar soporte al sistema de archivos de Macintosh.
    BFS file system support escoja esta opción si desea dar soporte al sitema de ficheros usado en SCO UnixWare para permitir el acceso a la imagen del kernel y otros archivos importantes durante el proceso de arranque.
    Ext3 journalling file system support ext3 es un sistema de archivos evolucionado de ext2, es journalling, muy rapido y compatible con ext2, si desea obtener información para pasar su ext2 a ext3 lea el documento: pasar de ext2 a ext3. Escoja esta opción si posee ext3.
    DOS FAT fs support si desea habilitar el soporte para sistemas de particiones FAT, ya sea de MSDOS o Windows, marque esta opción.
    EFS file system support (read only) EFS es un antiguo sistema de ficheros udado para los CD-ROMs que no cumplían con el standard ISO9660 y el sistema de archivos del sistema operativo IRIX.
    Compressed ROM file system support CramFS es de solo lectura y está limitada a 256 MB (con archivos de 16 MB) y no soporta 16/32 bits uid/gid, enlaces duros y marcas de tiempo. Escoja esta opción si desea dar soporte a CramFS.
    Virtual memory file system support (former shm fs) este sistema de archivos guarda todo en memoria virtual, por tanto todo es temporal, ya que nada es grabado en el disco duro, cuando apagas el ordenador todo se pierde.
    Simple RAM-based file system support Ramfs es un tipo de sistema de archivos que guarda todos los archivos en ram, esto permite acceso a lectura y escritura.
    ISO 9660 CDROM file system support esta opción da soporte a los CD-ROMs con el formato estandard ISO 9660.
    Microsoft Joliet CDROM extensions esta opción da soporte al formato para CR-ROMs Joliet de Microsoft.
    Transparent decompression extension esta es una extensión expecífica de Linux.
    Minix fs support da soporte al sistema de archivos del sistema operativo Minix.
    FreeVxFS file system support (VERITAS VxFS(TM) compatible) esta opción da soporte al sistema de archivos estandar de SCO UnixWare, el cual también puede ser usado en otros sistemas operativos como Sunsoft Solaris, HP-UX y algunos más.
    NTFS file system support (read only) da soporte para el sistema de archivos propio de Windows NT, tambien usado por Windows 2000 y XP, debido al tremendo esfuerzo de Microsoft por no dar a conocer el codigo de programacion de nada, no es posible aún escribir en una partición NTFS sin que esta este expuesta a daños serios.
    NTFS write support (DANGEROUS) si aún exponiendote a la posibilidad de sufrir grandes daños, deseas escribir (o almenos intentarlo) en una NTFS, escoje esta opción.
    OS/2 HPFS file system support da soporte al sistema de archivos HPFS de OS/2.
    /proc file system support esto da soporte al sistema de archivos virtual de procesos, escoja esta opción.
    /dev file system support da soporte a devfs, otro sistema de archivos virtual como /proc. Si desea utilizar esto, lea todo lo referente en Documentation/filesystems/devfs/. devfs tiene multiples ventajas y es muy aconsejable, incluso en algunas distribuciones de linux, como gentoo, se convierte en algo más que un mero consejo.
    /dev/pts file system for Unix98 PTYs si escojió la opción Unix98 PTY support marque esta opción, no obstante en caso de haber optado por defs, no es necesario escoger esta opción.
    QNX4 file system support (read only) habilita la compatibilidad con el sistema de archivos del sistema operativo QNX 4.
    ROM file system support este es un sistema muy pequeño de solo lectura para "ram disk" de los discos de instalacion, pero también puede ser usado para otros medios de solo lectura.
    Second extended fs support da soporte para ext2 (el sistema de archivos estandar de Linux).
    System V/Xenix/V7/Coherent file system support da soporte al sistema de archivos de los mencionados sistemas operativos.
    UDF file system support (read only) este es el nuevo sistema de archivos de algunos CD-ROMs y DVDs.
    UFS file system support (read only) BSD y algunas versiones de UNIX como SunOS, FreeBSD, NetBSD, OpenBSD y NeXTstep usan este tipo de sistema de archivos, marquelo si desea compativilidad.
    Network File Systems desde este submenú usted podra configurar sisetmas de archivos network.
    Partition Types si deseas usar discos duros bajo linux, los cuales estan particionados con otro sistema de archivos, mediante este submenú puede configurarlo.
    Native Language Support desde este submenu podrá configurar el lenguaje de su equipo, en nuestro caso puede elegir entre NLS ISO 8859-1 (Latin 1; Western European Languages) y NLS ISO 8859-15 (Latin 9; Western European Languages with Euro).
    * Para una información más detallada consulte el siguiente documento publicado por IBM http://www-106.ibm.com/developerworks/library/l-fs.html

    Console drivers
    VGA text console si marca esta opción podra usar Linux en modo texto con el modo de VGA estandar. También puede ser utilizado por tarjetas de video SVGA.
    Video mode selection support esta opción da soporte para poder cambiar la resolución de linux en modo texto, si da soporte a esto, puede quitar la opción anterior.
    MDA text console (dual-headed) esta opción le permite utilizar dos monitores para un solo ordenador, si posee un adapador MDA antiguo o un Hercules atuando como segunda tarjeta grafica.
    Frame-buffer support en este submenú podrá dar soporte para poder utilizar graficos en modo texto, podra entre otras cosas, ver videos en modo texto. Para configurarlo correctamente, escoja la opción Support for frame buffer devices, VESA VGA graphics console y escoja su tarjeta gráfica, a menos de que, como en el caso de nvidia, disponga del driver oficial. Para obtener mas información lease el documento: Configurar una tarjeta nVIDIA.

    Sound en este apartado podrá configurar su tarjeta de sonido.
    Sound card support esto habilita el soporte para una tarjeta de sonido, una vez escojida esta opción busque su modelo y marque la opción. Si es posible lease la documentación del kernel sobre su tarjeta y compruebe la documentación de su hardware. Puede hacer un lspci, comando que se halla en el paquete pci-utils.

    USB support en este menú puede dar soporte a dispositivos USB.
    Support for USB una vez habilitado el soporte para USB, escoja el driver que necesite en este menú.

    Bluetooth support en este menú se da soporte para redes Bluetooth con tectonologia sin cable. Bluetooth puede operar en un area personal de unos 10 metros, para más información visite http://www.bluetooth.com/.

    Kernel hacking esta opción es generalmente para desarrolladores de drivers o administradores que buscan problemas en el Kernel, por tanto, esto se sale del motivo del documento y no lo trataremos.


     5.- Compilar la nueva configuración.

    Una vez hecho esto (esperemos que correctamente) seleccionaremos en el menú la opción Save Configuration tu Alternate File y guardamos la configuración en un archivo cualquiera, cerciorese de que el nombre del archivo sea claro y facil de recordar.
    Ya guardada la configuración en un archivo, seleccionamos exit y guardamos la configuración (esta esta en .config).
    Con esto volveremos a la consola, ahora en el directorio en el que nos encontramos escribimos.

    # make dep

    Con esto configuramos las dependencias del kernel.

    # make clean

    Para limpiar las "impurezas".

    # make bzImage

    Esto creará una imagen del kernel compilada y comprimida con bzip2, por lo cual obviamente necesita tener instalado bzip2, en /usr/src/linux/arch/i386/boot, en caso de nuestra arquitectura sea 80x86. En caso contrario en lugar de i386 estara en otro directorio expecifico para la arquitectura.

    # make modules

    Con esto compilamos las opciones escojidas como modulos.

    # make modules_install

    Y finalmente con esto otro instalaremos los diversos modulos.

    Si queremos podemos ponerlo todo en una sola linea como esta:

    # make dep && make clean && make bzImage && make modules && make modules_install

    Si quisieramos hacer una limpieza de nuestra configuración actual basta con usar mrproper:

    # make mrproper

    OJO: Ésto no sólo eliminará la configuración actual, sino también todos los ficheros que se han generado en la compilación, incluida la imagen. Sí quieres conservar la configuración asegúrate antes de guardarla en un fichero distinto a ".config".
     6.- Configurando LILO para cargar con la nueva imagen.

    Nos falta el último paso de todos, pero no por ello el menos importante, ya que en éste pondremos en uso la nueva imagen creada.
    Para ello moveremos la imagen creada al directorio /boot, esto no es necesario pero es para tener un mayor orden. También deberiamos cambiar de nombre a la nueva imagen y ponerle uno más orientativo, en nuestro caso, como estamos compilando el kernel 2.4.18, la llamaremos "linux-2.4.18"

    # mv /usr/src/linux/arch/i386/boot/bzImage /boot/linux-2.4.18

    También deberiamos mover System.map a /boot

    # mv /usr/src/linux/System.map /boot

    Ahora configuraremos el LILO (LInux LOader) para arrancar con la nueva imagen, para ello modificaremos el archivo de configuración de LILO (/etc/lilo.conf), si usais GRUB para arrancar, consultad el man de esta herramienta.

    # joe /etc/lilo.conf

    Y al final del archivo añadimos:

    image = /boot/linux-2.4.18
    label = Linux

    Este es un ejemplo del archivo /etc/lilo.conf, fijese en las lineas 12 y 13.

    /etc/lilo.conf
    boot = /dev/hda
    map = /boot/System.map
    delay = 20
    timeout = 50
    prompt
      default = Linux
      vga = 791
      root = /dev/hda2
      read-only
    lba32
    install=/boot/boot.b
    image = /boot/linux-2.4.18
      label = Linux
    #En caso de tener otro sistema operativo, lo añadimos a continuación
    other = /dev/hdb1
      label = otroOS

    En caso de no ser la primera compilación del Kernel sería conveniente crear una nueva entrada en el lilo, preservando la carga de la imagen anterior. Por tanto deberíamos renombrar la anterior imagen del kernel.

    # mv /boot/linux-x.y.z /boot/linux-x.y.z.OLD

    Y dejar lilo.conf de la siguiente manera:

    /etc/lilo.conf
    boot = /dev/hda
    map = /boot/System.map
    delay = 20
    timeout = 50
    prompt
      default = Linux
      vga = 791
      root = /dev/hda2
      read-only
    lba32
    install=/boot/boot.b
    image = /boot/linux-2.4.18 #Nueva imagen
      label = Linux
    image = /boot/linux-2.4.17.OLD #Antigua Imagen (segura)
      label = Linux.SAFE
    other = /dev/hdb1
      label = otroOS

    Con esto nos cercioramos de que si por algún motivo cometieramos algún error grabe en la configuración del nuevo Kernel por la cual no pudieramos iniciar nuestro sistema, tendríamos la posibilidad de hacerlo con la anterior sin necesidad de diskets ni CD's.
    Hechas ya las modificaciones en dicho archivo, cargaremos la nueva configuración en el LILO, para ello escribimos.

    # lilo -C /etc/lilo.conf

    En nuestro caso el resultado sería:
    Added Linux *
    Ahora reiniciaremos nuestro sistema y escojeremos la etiqueta para cargar la nueva imagen del kernel.
    Y esto es todo, ahora teneis un kernel hecho a vuestra medida y con el cual conseguireis un mayor rendimiento de vuestro sistema Linux.


     7.- Parchear el Kernel.

    Una tarea que suele realizarse bastante amenudo es la de parchear el Kernel, ya sea para aplicar un parche de seguridad o bien para actualizarlo con una nueva corrección (por ejemplo, del 2.4.17 a 2.4.18), para ello una vez tengamos el parche correspondiente lo movemos a /usr/src

    # mv patch-x.y.z /usr/src

    Lo descomprimimos

    # bzip2 -d patch-x.y.z.tbz

    Y finalmente aplicamos el parche

    # patch -p0 < patch-x.y.z. 2> err.z

    Con esto aplicamos el parche y guardamos los posibles errores que pueda ocasionar en el archivo err.z donde "z" es el nivel de corercción del parche.
    Para más información sobre el uso de patch

    # man patch



    By zayer (Federico Moro del Álamo).
    Frikis.org
    e-mail address: zayer@frikis.org.


    Última Edición jueves, 30 marzo 2006 @ 10:16 Ver la versión para imprimir



    cc

    Aviso legal: Condiciones de copia y distribución.