Como compilar un Kernel, paso a paso
Por El_Sith
La
mayoría de los post que encontrareis en Internet sobre como solucionar tal
o cual problema terminan con un "recompile el kérnel".
La verdad, hasta que conseguí compilar el primero me
costó más de un disgusto, pero una vez que se le pilla el truco, es bastante
facilito.
Si te atreves... ¡sigue leyendo!
Bien,
las herramientas no son muchas y fáciles de encontrar. De hecho, casi el 100%
de las distribuciones las traen en el primer CD y la mayoría de ellas las
instala por defecto.
En concreto vamos a utilizar:
libncurses5-dev: Para conseguir un entorno más cómodo
de configuración.
gcc: El compilador de 'C', y sus librerías asociadas.
make: para terminar el trabajo.
... y la versión de kérnel que
quieras.
Bien,
vamos por partes:
Los kérnel de Linux se encuentran disponibles en varios
sitios, pero os aconsejo que os lo traigáis de esta página:
http://www.kernel.org/pub/linux/kernel/
Como veréis, dentro hay un buen montón de directorios
con toooooooodas las versiones del kérnel ¡La 1.0 incluida!
¿Que versión escoger?
Por lo general, usaremos la familia 2.6 o
Insisto, HAY MUCHAS VERSIONES, pero dentro de cada directorio
encontrareis un archivo que se llama CHANGELOG. En él se explican las diferencias
y mejoras que ha ido sufriendo el kérnel.
¿y cual me bajo?
Como podréis ver, hay extensiones para todos los gustos.
Veamos que son cada una:
tar.gz = empaquetado
con tar y comprimido con gzip
tar.bz2= empaquetado
con tar y comprimido con bzip2
Así mismo veréis que hay unas "cosillas" que
empiezan con 'patch". Se trata de parches que permiten actualizar
desde una versión anterior a esa en lugar de traeros el núcleo entero,
que la verdad, son un buen montón de megas.
Para ilustrar este ejemplo, vamos a traernos este kérnel
de la familia 2.6 (simplemente por ser la familia más actual, más adelante
veremos como hacerlo con una 2.4)
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.5.tar.gz
¡Y a esperar que termine la descarga!
Muuuy
facilito.
Recordad que los Linuxeros somos gente muy ordenada,
y que nos gusta tener un sitio específico para cada cosa.
Lo que haremos será MOVER el núcleo al directorio /usr/src,
que es donde vamos a dejar todos los códigos fuente que nos bajemos.
Para eso simplemente abrimos una terminal (si estamos
en un entorno gráfico) y hacemos un mv linux-2.6.5.tar.gz /usr/src/linux-2.6.5.tar.gz
Seguidamente, hacemos cd /usr/src y descomprimimos
con tar -zxvf linux-2.6.5.tar.gz
Como tardará un poquito, lo suyo es irse a por un refresco.
Cuando acabe (la decomprensión, no el refresco), nos
encontraremos con que nos habrá aparecido un directorio que se llama linux-2.6.5.
Ahora borraremos el archivo que hemos descargado. Personalmente
tengo un CD con un montón de fuentes de núcleos Linux, porque nunca se sabe
si vas a tener que ir a algún sitio donde no tengas conexión a Internet; así
que me lo grabo y luego lo borro.
Ahora tenemos sólo el directorio en cuestión, Y COMO
LOS LINUXEROS SOMOS MUY ORDENADOS (¿lo había dicho antes?) hacemos un
link simbólico:
ln -s linux-2.6.5 linux
Y os preguntareis... ¿para que es eso?
Bien, un link simbólico lo podéis interpretar como una
especie de "acceso directo" de... este.... ¡si hombre!.... ese sistema
operativo de Redmond... el que tiene el salvapantallas que te pone el monitor
en azul.... lo siento, no me acuerdo.
(perdón por el chiste, no lo he podido resistir)
Lo que nos hace esto es que cuando cambiemos al directorio
'linux' con un 'cd linux', sería lo mismo que hacer 'cd linux-2.6.5'.
¿Que ventaja tiene? De momento ninguna, pero cuando
tengáis varios núcleos podéis equivocaros fácilmente y no saber con cual estáis
trabajando. Eso os facilitará las cosas.
Si no queréis hacer el link,
no pasa nada, podéis cambiaros directamente al directorio y trabajar allí
dentro, pero tenedlo en cuenta para el futuro.
Bien,
simplemente nos cambiamos al directorio donde tengamos descomprimido el núcleo.
cd /usr/src/linux si hemos hecho el enlace simbólico,
o cd /usr/src/linux-2.6.5 en el caso de haber prescindido de hacerlo.
Y una vez dentro... hacemos un make menuconfig
En un par de segundos tendremos un menú de texto con
el que configurar las opciones del núcleo.
Nos moveremos usando los cursores, seleccionaremos las
entradas con 'Enter' y marcaremos las opciones usando la barra de espacios.
Antes de continuar, un par de detalles.
Podemos hacer nuestro kérnel con módulos, sin módulos,
o con una mezcla de ambos.
Para que lo entendáis todos, los módulos son como los
drivers: nos permiten acceder a dispositivos o nos dan prestaciones adicionales
(como sistemas de encriptación, usar iptables para montar un Firewall, leer
particiones formateadas en NTFS,... o poder utilizar la tarjeta de sonido).
Un kérnel que no contenga ningún módulo será más rápido
(entre un 2 y un 7% más, según el caso) pero también será más grande y ocupará
más espacio en memoria.
Un kérnel muy modular (como los que vienen en las distribuciones
por defecto) es de menor tamaño, pero necesita cargar los módulos para poder
funcionar.
¿Que hacemos entonces?
Yo uso una opción intermedia: se lo que tiene mi ordenador,
que dispositivos y lo que quiero que haga el 90% del tiempo.
Suelo meter dentro del núcleo el tipo de particiones
que uso en mi sistema, los drivers de la tarjeta de red y cosas por el estilo.
Con eso se que funciona, pero claro en un futuro puedo
querer acceder a una red de Windows (y ese era el nombre), o leer un disco
NTFS, usar criptografía, o mil cosas más por el estilo.
Todas esas cosas que no me son necesarias a diario las
pongo como módulos: cuando me hagan falta los cargo, y cuando no los necesite
los descargo de
A lo largo de este tutorial, os iré dando recomendaciones sobre que opción
tomar. Luego vosotros podréis decidir lo que más os convenga.
===================================================
¡Ojo! si no sabéis que hardware tiene vuestro equipo,
y no me refiero a que sea "una tarjeta de red Ovislink de las normales",
sino a que sepáis que componente en concreto utiliza, hay una forma sencilla
de conocerlos sin abrir el equipo (y perder la garantía).
Se abre una consola, y ejecutáis lspci. Os va
a salir algo como esto:
0000:00:00.0 Host bridge:
ATI Technologies Inc: Unknown device cbb2 (rev 02)
0000:00:01.0 PCI bridge: ATI Technologies Inc PCI Bridge
[IGP 340M]
0000:00:06.0 Multimedia audio controller: ALi Corporation
M5451 PCI AC-Link Controller Audio Device (rev 02)
0000:00:07.0 ISA bridge: ALi Corporation M1533 PCI to
ISA Bridge [Aladdin IV]
0000:00:08.0 Modem: ALi Corporation Intel 537 [M5457
AC-Link Modem]
0000:00:0a.0 CardBus bridge:
O2 Micro, Inc. OZ6912 Cardbus Controller
0000:00:0b.0 USB Controller: VIA Technologies, Inc.
VT6202 [USB 2.0 controller] (rev 50)
0000:00:0b.1 USB Controller: VIA Technologies, Inc.
VT6202 [USB 2.0 controller] (rev 50)
0000:00:0b.2 USB Controller: VIA Technologies, Inc.
USB 2.0 (rev 51)
0000:00:0c.0 FireWire (IEEE 1394): Texas Instruments
TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link)
0000:00:10.0 IDE interface: ALi Corporation M5229 IDE
(rev c4)
0000:00:11.0 Bridge: ALi Corporation M7101 PMU
0000:00:12.0 Ethernet controller: National Semiconductor
Corporation DP83815 (MacPhyter) Ethernet Controller
0000:01:05.0 VGA compatible controller: ATI Technologies
Inc Radeon IGP 340M
En
este caso es el contenido de mi portátil, con lo cual ya puedo saber que:
1.-
La tarjeta de video es una ATI IGP340M
2.- El chipset ISA es un ALI1533
3.- La controladora de Cardbus es una O2Micro, modelo
OZ6912
4.- El Firewire es de Texas Instruments
5.- El Chipset del IDE es ALI 5229
6.- La tarjeta de red es una National Semiconductor
7.- El modem es un MC5457, vamos, un Winmodem
8.- La tarjeta de sonido es una ALI 5451
Haced vosotros lo mismo, y apuntadlo en una hoja aparte
para consultarlo.
¡Y ahora nos metemos en faena!
CODE MATURITY LEVEL OPTIONS
¡Ostras!
¿Y eso que es?
Venga, sin miedo, nos ponemos encima y le damos al Enter,
y nos aparece un menú con tres opciones:
Prompt for development
and/or incomplete code/drivers
Esta opción os permite usar drivers que aún no están
completamente terminados, y que están en versión alpha (vamos, apenas probados).
Si la dejáis marcada no pasa nada, y además os permitirá usa drivers que estén
obsoletos. Yo la dejo marcada, pero no es necesario.
Select only drivers
expected to compile cleanly
Sólo os aparecerá si habéis seleccionado
Como no me gusta que me den la tabarra, y sólo voy a usar drivers que funcionen
(aunque sean obsoletos)
Select only drivers that don't need compile-time external firmware
Hay algunos dispositivos que cargan archivos de firmware
en el arranque. Si la marcáis sólo se compilarán los archivos que NO tengan
que cargar ese firmware.
R E S U M E N
Tenéis dos opciones, o marcarlas todas o no marcar ninguna.
Como estáis empezando y por defecto os aparecerán las
tres marcadas, dejadlas como están.
No os va a afectar en nada.
Eso si, en un futuro espero que
os convirtáis en apasionados de Linux y que contribuyáis en su desarrollo,
con lo cual...
GENERAL
SETUP
Seguimos. Salimos del menú anterior y nos vamos al siguiente:
General Setup.
Las opciones que nos encontramos aquí son:
Support for paging of anonymous
memory (swap)
Soporte para memoria SWAP. La dejamos señalada.
System V IPC
Digamos que son unas funciones internas de comunicación
entre programas, y que muchos no funcionarán sin ellas. La dejamos señalada.
POSIX Message Queues
Es parte de la anterior, pero no
BSD Process Accounting
Permite que el kérnel audite programas. Aunque no es
necesario, la marcaremos, pero podemos prescindir de ella.
Sysctl support
Permite ajustar el funcionamiento del kérnel sin tener
que recompilarlo. Lo marcamos.
Auditing support
Para realizar auditorias del kérnel con subsistemas
para el mismo. Lo desmarcamos.
Support for hot-pluggable
devices
¿Tenéis dispositivos USB, PCMCIA's o similares? Lo marcamos.
kérnel .config support
Lo marcamos. Nos generará un archivo .config
con la configuración que hagáis.
Es tremendamente útil cuando queréis consultar dudas
(aunque su utilidad es otra mayor)
Configure standard kérnel
features (for small systems) --->
Para sistemas embebidos principalmente.
Lo desmarcamos.
============================================
R E S U M E
Esta
[*] Support for paging of anonymous memory (swap)
[*] System V IPC
[ ] POSIX Message Queues
[*] BSD Process Accounting
[*] Sysctl support
[ ] Auditing support
[*] Support for hot-pluggable devices
[*] Kernel .config support
[ ] Enable access to .config through /proc/config.gz
(NEW)
[ ] Configure standard kernel
features (for small systems)
LOADABLE
MODULE SUPPORT
Esta parte del kérnel está destinada a indicarle si
queremos usar módulos o no.
Como dijimos al principio de este post, el usar módulos
o no es algo que depende mucho de lo que vayamos a utilizar.
Personalmente, os aconsejo que lo utilicéis para vuestros
equipos de sobremesa.
Sigamos: estas son las opciones de este menú.
Enable loadable module
support
Habilita el soporte para módulos. Lo seleccionamos.
Module unloading
Permite descargar los módulos de memoria. Lo seleccionamos
Module versioning support
(EXPERIMENTAL)
Experimental = no suficientemente probado.
Permite cargar módulos de otras versiones de kérnel.
Personalmente no me gusta nada poner cosas de experimental (y no lo aconsejo).
Lo dejamos sin marcar.
Automatic kérnel module
loading
¡MAGNIFÍCO! Si hacemos algunas partes del kérnel como
módulos, podemos encontrarnos con programas que necesiten de un módulo en
concreto... y no esté cargado.
Activando esta opción, el kérnel se encargará de cargarlos
por nosotros. Eso si, no funciona con todos (aún) pero si con los más usuales.
============================================
R E S U M E
Esta es la configuración que dejamos:
[*] Enable loadable module support
[*] Module unloading
[ ] Forced module unloading (NEW)
[ ] Module versioning support (EXPERIMENTAL)
[*] Automatic kernel module loading
PROCESSOR
TYPE AND FEATURES
Este apartado lo haremos con muuuuuuucho cuidado.
Aquí seleccionamos el tipo de procesador para el cual
haremos el kérnel.
El código que se genere se hará para este tipo de procesador,
con lo cual, seleccionar correctamente el tipo de CPU que tengamos (nada difícil)
hará que con el núcleo que hagamos el equipo vuele,... o vaya como una tortuga
artrítica.
Pues venga, sin miedo. Estas son las opciones:
Subarchitecture Type
(PC-compatible) --->
Tipo de arquitectura. En nuestro seleccionamos caso
PC-Compatible.
Processor family (Pentium-4/Celeron(P4-based)/Pentium-4
M/Xeon) --->
Seleccionamos el tipo de procesador que tenemos. En
mi caso Pentium IV
Generic x86 support
Si tenemos algún procesador "raro" (Crusoe,
Winchip,...), marcaremos esta opción.
En otro caso no es necesario. Lo que hace es cambiar
el tipo de optimización del kérnel
486 emulation
Si vamos a instalar el núcleo en un 386, seleccionando
esta opción emularemos instrucciones de 486. Obviamente, son pocos los casos
de gente que maneje un 386 (bueno, me incluyo entre ellos). Así que salvo
en este caso... no lo seleccionamos.
HPET Timer Support
Usar un timer más avanzado en lugar del standard. Personalmente
lo dejo sin activar.
Symmetric multi-processing
support
Si alguien tiene una máquina con 2 o más micros, que
lo marque.
(32) Maximum number
of CPUs (2-255)
Y si además de multiprocesador tiene más de 32 CPU's...
que cambien el valor
Preemptible kérnel
Es un poco raro de explicar, pero basta decir que en
equipos de sobremesa se nota un aumento del rendimiento. Lo marcamos.
Machine Check Exception
Si nuestra máquina tiene un fallo de hardware, se calienta
el micro u otro fallo de hardware, el kérnel nos dará un aviso por pantalla.
Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium
4
Comprueba posibles errores en PIV o AMD's
check for P4 thermal
throttling interrupt.
Chequea
errores por sobrecalientamiento el PIV
Toshiba Laptop support
Para portatiles Toshiba
Dell laptop support
Idem, para los Dell Inspiron
/dev/cpu/microcode -
Intel IA32 CPU microcode support
Para actualizar el microcódigo de los procesadores.
No lo marcamos
/dev/cpu/*/msr - Model-specific
register support
Algo complejo de explicar. No lo marcamos.
/dev/cpu/*/cpuid - CPU
information support
Algo complejo de explicar. No lo marcamos
Firmware Drivers --->
Está en experimental, asi que... no lo marcamos
High Memory Support
(off) --->
Si alguien tiene 4 o más Gigas de memoria, es necesario
que la especifique en esta opción.
En caso de no marcarlo, nuestro límite será de 4Gb.
Math emulation
Si alguien tiene un micro sin copro matemático (386
y algunos 486), que lo marque
MTRR (Memory Type Range
Register) support
Lo marcamos. Se usa para incrementar el rendimiento
de las transferencias entre la memoria del equipo y
Boot from EFI support (EXPERIMENTAL)
No lo marcamos
Enable kérnel irq balancing
Esta es obvi. La dejamos marcada.
Use register arguments
(EXPERIMENTAL)
Lo dicho, de experimental nada.
=============================================
R E S U M E N
Esta es la configuración que
vamos a dejar. Ojito con el tipo de micro, que aqui aparece Pentium IV.
Los que tengais AMD seleccionad ese
modelo.
Subarchitecture Type (PC-compatible) --->
Processor family (Pentium-4/Celeron(P4-based)/Pentium-4
M/Xeon) --->
[ ] Generic x86 support
[ ] 486 emulation
[ ] HPET Timer Support
[*] Symmetric multi-processing support
(32) Maximum number of CPUs (2-255)
[*] Preemptible Kernel
[*] Machine Check Exception
< > Check for non-fatal errors on AMD Athlon/Duron
/ Intel Pentium 4
[ ] check for P4 thermal throttling interrupt
< > Toshiba Laptop support
< > Dell laptop support
< > /dev/cpu/microcode - Intel IA32 CPU microcode
support
< > /dev/cpu/*/msr - Model-specific register support
< > /dev/cpu/*/cpuid - CPU information support
Firmware Drivers --->
High Memory Support (off) --->
[ ] Math emulation
[*] MTRR (Memory Type Range Register) support
[ ] Boot from EFI support (EXPERIMENTAL)
[*] Enable kernel irq balancing
[ ] Use register arguments (EXPERIMENTAL)
POWER
MANAGEMENT OPTIONS
Esta opción es bastante delicada.
Debemos tener en cuenta el tipo de sistema de ahorro
de energía que incorpora el sistema que estemos utilizando.
Para un sistema de sobremesa recomendaría no habilitar
ninguno de ellos. No por nada, sino por que son sistemas que (opinión personal)
cuando están encendidos son para trabajar con ellos (amplíese trabajar a otras
actividades lúdicas).
Sin embargo para un portatil si es muy conveniente montarlas.
No sabeis la mala impresión que di una vez haciendo una presentación laaaarga....
que terminó con un apagado "a lo bestia" del portatil por no tenerlo
enchufado.
Vamos a ver las opciones:
Power Management support
Si queremos soporte de ahorro de energía. Lo marcamos
Software Suspend (EXPERIMENTAL)
No lo marcamos
Suspend-to-Disk Support
Se copia el estado de la memoria a disco antes de entrar
en hibernación. Lo marcamos
ACPI (Advanced Configuration
and Power Interface) Support --->
Lo marcamos si nuestro equipo lleva este soporte.
APM (Advanced Power
Management) BIOS Support --->
Lo marcamos si nuestro equipo lleva este soporte.
CPU Frequency scaling
--->
Permite cambiar la frecuencia del procesador. Lo marcamos.
Ahora entramos dentro del menú de ACPI, y dejamos seleccionadas
las opciones siguientes:
[*] ACPI Support
[ ] Sleep States (EXPERIMENTAL)
<*> AC Adapter
<*> Battery
<M> Button
<M> Fan
<M> Processor
<M> Thermal Zone
< > ASUS/Medion Laptop Extras
< > Toshiba Laptop Extras
[ ] Debug Statements
[ ] Power Management Timer Support
Con esto terminamos de configurar
el ACPI
BUS
OPTIONS (PCI, PCMCIA, EISA, MCA)
Aquí es donde vamos a empezar a usar la "chuleta"
que nos hicimos antes para tener la lista de hardware de nuestro sistema
PCI support
Indica si queremos soporte para buses PCI. Lo marcamos
PCI access mode (Any)
--->
Indica el sistema que usaremos para acceder a los buses
PCI. Depende de la BIOS de
Vector-based interrupt
indexing (MSI)
Algo complejo de explicar. Lo dejaremos sin marcar
Legacy /proc/pci interface
Se utilizaba antiguamente en lugar de lspci, y se mantiene
por compatibilidad. Lo dejaremos sin marcar
PCI device name database
Incluye una base de datos de los dispositivos PCI. Muy
util. Lo dejamos
ISA support
Si alguien tiene placas con buses ISA que lo marque.
MCA support
¿Alguien tiene un IBM PS/2? Entonces que marque esta
opción para poder usar el bus Microchannel que incorporan estos equipos.
NatSemi SCx200 support
Lo dejaremos sin marcar.
PCMCIA/CardBus support
--->
Si tenemos tarjetas PCMCIA lo marcaremos.
PCI Hotplug Support
--->
Si alguien tiene tarjetas PCI que se puedan cambiar
en caliente, que lo marque. Nosotros lo dejaremos sin marcar.
============================================
R E S U M E N 1
[*] PCI support
PCI access mode (Any) --->
[ ] Vector-based interrupt indexing (MSI)
[ ] Legacy /proc/pci interface
[*] PCI device name database
[ ] ISA support
[ ] MCA support
< > NatSemi SCx200 support
PCMCIA/CardBus support --->
PCI Hotplug Support --->
============================================
Sigamos.
Como en mi caso se trata de un portatil, habilito el
soporte de PCMCIA y el tipo de tarjeta que se acepta.
<*> PCMCIA/CardBus support
[ ] Enable PCMCIA debugging
<*> CardBus yenta-compatible bridge support
< > i82092 compatible bridge support
< > Databook TCIC host
bridge support
EXECUTABLE
FILE FORMAT
Sigamos, este es muy fácil.
Aquí definimos el/los tipos de ejecutables (los programas)
que pueden utilizarse en Linux
Veamos las opciones:
Kernel support for ELF
binaries
El formato por defecto. Lo marcamos.
Kernel support for a.out
and ECOFF binaries
Este era el formato de programas que se usaba antes
de ELF.
Se mantiene por razones históricas y lo marcaremos si
vamos a utilizar programas anteriores a 1.995. A nuestro gusto.
Kernel support for MISC
binaries
Muy interesante. Se utiliza para obtener soporte con
emuladores principalmente.
Lo marcamos.
==================================================
R E S U M E N
Vamos a dejarlo configurado de esta forma
[*] Kernel support for ELF binaries
<*> Kernel support for a.out and ECOFF binaries
<*> Kernel support for
MISC binaries
DEVICE
DRIVERS
Bien, ahora sintiéndolo mucho llega la parte más pesada
de toda la configuración del kérnel.
En "Device Drivers" encontraremos el soporte
que necesitan los dispositivos del sistema.
Tenemos las siguientes categorías:
Generic Driver Options
--->
Para configurar Drivers algo "especiales".
Memory Technology Devices
(MTD) --->
Para memorias tipo Flash Ram que se usan en sistemas
empotrados.
Parallel port support
--->
Para configurar dispositivos que se conectan al puerto
paralelo, desde impresoras a lectores externos.
Plug and Play support
--->
Block devices --->
Para dar soporte a la disquetera, y unas cuantas controladoras
SCSI/RAID raras.
ATA/ATAPI/MFM/RLL support
--->
Soporte para dispositivos IDE
SCSI device support
--->
Soporte para dispositivos y controladoras SCSI
Multi-device support
(RAID and LVM) --->
Para hacer RAID por Software
Fusion MPT device support
--->
Se usa para unos dispositivos de LSI
IEEE 1394 (FireWire)
support --->
Este se entiende, ¿verdad?
I2O device support --->
Para realizar configuraciones de los drivers de dispositivos
Networking support --->
Soporte para tarjetas de red, protocolos y funciones
de red.
ISDN subsystem --->
Soporte para RDSI
Telephony Support --->
Soporte para Voz sobre IP.
Input device support
--->
Soporte para dispositivos de entrada no muy comunes
(como pantallas táctiles)
Character devices --->
Soporte para varios dispositivos. Lo veremos más adelante.
I2C support --->
Un protocolo de comunicaciones que no usaremos.
Misc devices --->
Soporte para dispositivos de IBM sSeries
Multimedia devices --->
Soporte para sintonizadoras de TV, radio, broadcast
de vídeo.
Graphics support --->
Soporte para tarjetas de vídeo que requieran configuraciones
especiales para trabajar.
Sound --->
Soporte para nuestras tarjetas de sonido
USB support --->
Soporte para USB.
Si, ya sé que esta lista asusta, y más si alguien se
ha metido dentro a ver lo que hay en cada apartado. Pero pensadlo fríamente:
¿Alguien tienen toooooodos esos dispositivos montados
en su PC?
¿Alguno de vosotros utiliza controladoras RAID de más
de 600€ para sus discos duros?
No es el caso. Como veremos,
la mayoría de estos apartados quedarán vacios, y el resto son triviales de
configurar.
DEVICE
DRIVERS: Generic Drivers Options
Si habeis seguido leyendo hasta este punto, ¡Enhorabuena!.
Aunque creais que llega la parte más complicada, estais
en la más sencilla y mecánica de la configuración,
¿No os lo creeis? Pues tomad nota:
Nos metemos en Generic Drivers Options, y nos encontramos
con Hotplug firmware loading support.
Si recordáis, anteriormente os comenté que había drivers
que necesitaban cargar un firmware desde un archivo externo al kernel.
Sin embargo, podemos encontrarnos con dispositivos que
estén soportados en el núcleo pero que su entrada no contenga la opción de
cargarlo.
Marcando esta entrada, conseguiremos cargar ese firmware.
Peeeeeeeeero,.... ¿alguien tiene alguna tarjeta de ese
tipo?
No es nada habitual en PC's. En resumen, lo dejamos
sin marcar.
==========================================
R E S U M E N
Así queda esta entrada.
< > Hotplug firmware loading
support
DEVICE
DRIVERS:Memory Technology Devices (MTD)
Nos metemos dentro de esta opción, y nos aparece esa
entrada.
Como os comentaba antes, esto se usa en dispositivos
embebidos (por ejemplo, el controlador de un microondas)
En nuestro caso, lo estamos haciendo para un PC, por
tanto no lo marcamos.
=================================================
R E S U M E N
Así se queda esta entrada
< > Memory Technology Device
(MTD) support
DEVICE
DRIVERS: Parallel Port Support
Aqui si que vamos a tocar un poquito. Veamos las entradas:
Parallel port support
Queremos ser capaces de enchufar una impresora a nuestro
equipo.
Por tanto lo marcamos
PC-style hardware
Lo marcamos para que sea un puerto paralelo de PC Compatible.
Tened en cuenta que podemos usar Linux en varias plataformas,
y que por ejemplo, un Commodore Amiga funciona, tiene el mismo conector para
la impresora,... pero su funcionamiento es algo distinto.
Lo marcamos.
Use FIFO/DMA if available
(EXPERIMENTAL)
Algunas placas llevan modificaciones en el LPT para
imprimir a mayor velocidad.
Es un buen invento, pero el driver esta en experimental.
No lo marcamos.
SuperIO chipset support
(EXPERIMENTAL)
Como es experimental, lo dejamos correr y no lo marcamos.
Support for PCMCIA management
for PC-style ports
No vamos a usar una PCMCIA para imprimir, por tanto
no lo marcamos.
Support foreign hardware
Hay puertos paralelos que no siguen el standard, y podemos
usarlos.
Salvo que tengais una segunda tarjeta de puerto paralelo
que NO sea standard, no lo marcaremos.
IEEE 1284 transfer modes
Aqui damos soporte para ECP y EEP en el LPT.
Si vuestra impresora lo soporta (yo diria que el 99'99%
de las actuales), lo marcamos.
====================================================
R E S U M E N
<*> Parallel port support
<*> PC-style hardware
[ ] Use FIFO/DMA if available (EXPERIMENTAL)
[ ] SuperIO chipset support (EXPERIMENTAL)
< > Support for PCMCIA management for PC-style
ports
[ ] Support foreign hardware
[*] IEEE 1284 transfer modes
DEVICE DRIVERS: Plug and Play Support
DEVICE DRIVERS: Block devices
Aqui os pongo directamente el resumen:
<*> Normal floppy disk support
< > Parallel port IDE device support
< > Compaq SMART2 support
< > Compaq Smart Array 5xxx support
< > Mylex DAC960/DAC1100 PCI RAID Controller support
< > Micro Memory MM5415 Battery Backed RAM support
(EXPERIMENTAL)
< > Loopback device support
< > Network block device support
< > Promise SATA SX8 (carmel) support
< > RAM disk support
[ ] Support for Large Block Devices
En resumen: queremos la disquetera,
y lo demás son sistemas extraños a un PC doméstico.
Lo obviamos.
Una curiosidad:
DEVICE
DRIVERS: ATA/ATAPI/MFM/RLL support
No os asustéis por lo largo de este post. Simplemente
es que hay muchos drivers y muchas funciones.
Allá van las opciones que encontraremos dentro
ATA/ATAPI/MFM/RLL support
Como tenemos CD-Rom en nuestro equipo, lo habilitamos.
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
Lo marcaremos.
Nos hará falta si tenemos más de un
dispositivo IDE en el sistema.
Use old disk-only driver
on primary interface
Es una versión antgua del driver para IDE. No lo marcamos.
Include IDE/ATA-2 DISK support
Soporte para ATA-2. Lo incluimos salvo que nuestro sistema
sea antiguo.
Si no lo tenemos claro, lo marcamos que no pasa nada.
Use multi-mode by default
Si nos da un error en el arranque debido a los discos,
lo marcamos.
En otro caso no es necesario.
Auto-Geometry Resizing support
Para sistemas antiguos. Si teneis una BIOS de Award
que no os reconozca un disco mayor de 32 Gb, con esto podreis arrancar el
sistema en Linux. No lo marcamos.
PCMCIA IDE support
Si alguien tiene una PCMCIA que sea controladora IDE
y un dispositivo IDE pinchad en ella, que lo marque. Nosotros no lo haremos.
(Por cierto, ¿alguien a visto un chisme de estos
alguna vez?)
Include IDE/ATAPI CDROM
support
Sin dudarlo: lo marcamos
Include IDE/ATAPI TAPE support
(EXPERIMENTAL)
Experimental, no lo marcaremos salvo que alguien tenga
un DAT IDE y le haga falta.
Nosotros no vamos a hacerlo.
Include IDE/ATAPI FLOPPY
support
Los que tengais unidades ZIP de Iomega, o disqueteras
LS-120 conectadas al IDE, lo marcais. Nosotros no lo haremos.
SCSI emulation support
Bastante interesante. Hace que los dispositivos en el
IDE se puedan emular como SCSI.
Se utiliza en las grabadoras de CD/DVD. Aunque ya hay
soporte directo para grabadoras IDE en Linux, nunca viene mal dejarlo activado
por si algún programilla nos lo pide.
IDE Taskfile Access
Para analizar el estado de dispositivos IDE que hayan
muerto. No lo marcamos.
IDE Taskfile IO (EXPERIMENTAL)
:
Y este menos todavía que está en experimental.
Esto que viene a continuación,
se llaman "Bugfixes para IDE".
No es que el chipset de nuestra placa esté mal. Para
que lo entendáis, es como los drivers *.INF del famoso sistema operativo de
Redmond que usa para hacer trabajar correctamente el sistema.
El problema es que sin estos drivers no tendremos las
prestaciones que ofrece nuestro hardware, y en algunos casos se quedará colgado
en el arranque porque esas funciones se han programado de una forma no standard.
Poniendo el modelo de Chipset correspondiente, solucionaremos
el problema y ganaremos estabilidad y rendimiento.
generic/default IDE chipset
support
Ponedlo siempre como integrado en el núcleo (*) no como
módulo (M)
CMD640 chipset bugfix/support
CMD640 enhanced support
Se usaba en placas de 486
PCI IDE chipset support
Marcadlo como integrado en el núcleo. Es para el soporte
de IDE.
Sharing PCI IDE interrupts
support
¿Os suena que una tarjeta comparta la IRQ con otra?
Es de lo más normal.
Poned esta opción como integrada y problema solucionado.
Boot off-board chipsets
first support
Hace algún tiempo, se vendían tarjetas PCI que incorporaban
una controladora IDE.
Se usaban para ampliar el número de discos duros o un
CD (vamos que podíamos tener IDE0, IDE1, IDE2, IDE3, IDE4,....).
Con esto conseguimos que en lugar de arrancar en primer
lugar con las IDE de placa base, se haga con
Nosotros no vamos a marcarlo.
Generic PCI IDE Chipset
Support
Por si acaso lo dejaremos. Proporciona funciones para
manejar de forma genérica
el chipset si algo falla.
Nunca viene mal.
OPTi 82C621 chipset enhanced
support (EXPERIMENTAL)
RZ1000 chipset bugfix/support
Un
par de chipsets.
Generic PCI bus-master DMA
support
Force enable legacy 2.0.X
HOSTS to use DMA
Ni caso.
Es algo residual de la familia de núcleos
2.0 que se mantiene por compatibilidad.
Use PCI DMA by default when
available
Lo marcamos. Mejora el acceso a dispositivos PCI.
Enable DMA only for disks
AEC62XX chipset support
ALI M15x3 chipset support
ALI M15x3 WDC support (DANGEROUS)
AMD and nVidia IDE support
ATI IXP chipset IDE support
CMD64{3|6|8|9} chipset support
Compaq Triflex IDE support
CY82C693 chipset support
Cyrix CS5510/20 MediaGX
chipset support (VERY EXPERIMENTAL)
Cyrix/National Semiconductor
CS5530 MediaGX chipset support
HPT34X chipset support
HPT36X/37X chipset support
National SCx200 chipset
support
Intel PIIXn chipsets support
NS87415 chipset support
PROMISE PDC202{46|62|65|67}
support
PROMISE PDC202{68|69|70|71|75|76|77}
support
ServerWorks OSB4/CSB5/CSB6
chipsets support
Silicon Image chipset support
SiS5513 chipset support
SLC90E66 chipset support
Tekram TRM290 chipset support
VIA82CXXX chipset support
IGNORE word93 Validation
BITS
Otro buen montón de chipsets.
====================================================
R E S U M E N
Aqui marcaremos las "piezas" de hardware que
tenga nuestro sistema para obtener el soporte.
Es muy importante dejarlas dentro del kernel (marcadas
con un *) en vez de como módulos (marcadas con una M).
Tened en cuenta que a estas funciones se accede toooodo
el tiempo, con lo que al estar integradas conseguiremos una aumento de las
prestaciones del sistema.
La configuración que se ha quedado para el sistema (recordad,
mi equipo, pero os sirve de guia para configurar el vuestro cambiando el tipo
de chipset) es el siguiente:
<*> ATA/ATAPI/MFM/RLL support
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy
support
--- Please see Documentation/ide.txt for help/info on
IDE drives
[ ] Use old disk-only driver on primary interface
<*> Include IDE/ATA-2 DISK support
[ ] Use multi-mode by default
[ ] Auto-Geometry Resizing support
< > PCMCIA IDE support
<*> Include IDE/ATAPI CDROM support
< > Include IDE/ATAPI TAPE support (EXPERIMENTAL)
< > Include IDE/ATAPI FLOPPY support
<*> SCSI emulation support
[ ] IDE Taskfile Access
[ ] IDE Taskfile IO (EXPERIMENTAL)
--- IDE chipset support/bugfixes
<*> generic/default IDE chipset support
[ ] CMD640 chipset bugfix/support
[ ] CMD640 enhanced support
[*] PCI IDE chipset support
[*] Sharing PCI IDE interrupts support
[ ] Boot off-board chipsets first support
<*> Generic PCI IDE Chipset Support
< > OPTi 82C621 chipset enhanced support (EXPERIMENTAL)
< > RZ1000 chipset bugfix/support
[*] Generic PCI bus-master DMA support
[ ] Force enable legacy 2.0.X HOSTS to use DMA
[*] Use PCI DMA by default when available
[ ] Enable DMA only for disks
< > AEC62XX chipset support
<*> ALI M15x3 chipset support
[ ] ALI M15x3 WDC support (DANGEROUS)
< > AMD and nVidia IDE support
< > ATI IXP chipset IDE support
< > CMD64{3|6|8|9} chipset support
< > Compaq Triflex IDE support
< > CY82C693 chipset support
< > Cyrix CS5510/20 MediaGX chipset support (VERY
EXPERIMENTAL)
< > Cyrix/National Semiconductor CS5530 MediaGX
chipset support
< > HPT34X chipset support
< > HPT36X/37X chipset support
< > National SCx200 chipset support
<*> Intel PIIXn chipsets support
< > NS87415 chipset support
< > PROMISE PDC202{46|62|65|67}
support
DEVICE
DRIVERS: SCSI Device Support
En esta parte no sólo se configuran las controladoras
SCSI. Además se añade el resto
de soporte para
legacy /proc/scsi/ support
Proporciona un soporte para el sistema operativo. Lo
marcamos
--- SCSI support type (disk,
tape, CD-ROM)
SCSI disk support
Soporte para Discos SCSI... y dispositivos de memoria
USB(Memory Stick o similares)
Lo marcamos
SCSI tape support
Soporte para cintas SCSI. No lo marcamos
SCSI OnStream SC-x0 tape
support
Es un modelo especial de cintas no muy standard. No
lo marcamos
SCSI CDROM support
Vamos a habilitar la emulación de CD SCSI, por tanto
lo marcamos.
Enable vendor-specific extensions
(for SCSI CDROM)
Proporciona soporte multisesión para grabadoras de CD
antiguas.
Concretamente, HP, NEC y Toshiba SCSI.
No lo marcaremos
SCSI generic support
Lo marcaremos. Se usa con Scanners... y con
SCSI media changer support
Si alguien tiene un cambiador de CD's que lo ponga.
Nosotros no lo haremos.
--- Some SCSI devices (e.g.
CD jukebox) support multiple LUNs
Probe all LUNs on each SCSI
device
No lo marcaremos.
Build with SCSI REPORT LUNS
support
No lo marcamos
Verbose SCSI error reporting
(kernel size +=12K)
No lo marcamos. Deja mensajes del funcionamiento de
SCSI logging facility
Habilita un registro para las operaciones de ls SCSI
SCSI Transport Attributes
--->
SCSI low-level drivers --->
PCMCIA SCSI adapter support
--->
Estos tres proporcionan (básicamente) soporte para dispositivos
SCSI.
Como no vamos a usar ninguno de ellos, entramos en los
submenús y desmarcamos
todo.
====================================================
R E S U M E N
-- SCSI device support
[*] legacy /proc/scsi/ support
--- SCSI support type (disk, tape, CD-ROM)
<*> SCSI disk support
< > SCSI tape support
< > SCSI OnStream SC-x0 tape support
<*> SCSI CDROM support
[ ] Enable vendor-specific extensions (for SCSI CDROM)
<*> SCSI generic support
< > SCSI media changer support
--- Some SCSI devices (e.g. CD jukebox) support multiple
LUNs
[ ] Probe all LUNs on each SCSI device
[ ] Build with SCSI REPORT LUNS support
[ ] Verbose SCSI error reporting (kernel size +=12K)
[ ] SCSI logging facility
SCSI Transport Attributes --->
SCSI low-level drivers --->
PCMCIA SCSI adapter support --->
DEVICE
DRIVERS: MULTIDEVICE SUPPORT
Con este vamos a terminar rapidito.
Se utiliza fundamentalmente para hacer RAID por software.
Como no vamos a usar nada de
esto, lo desmarcamos y a otra cosa.
DEVICE
DRIVERS: Fusion MPT Device Support
Con este me vais a perdonar, pero es algo largo de explicar
y no merece la pena hacerlo
en este momento porque es algo que no vamos a utilizar.
No lo marcamos.
P.D.: Si alguien tiene interés,
por favor, preguntadlo en el foro y os contestaré encantado.
DEVICE
DRIVERS: IEEE1394 (Firewire) Support
Por fin llegamos a algo que parece tener más sustancia.
No voy a explicaros lo que es el Firewire. Casi todo
el mundo lo sabe (o le suena), pero si hay
una cosa que es clara: si nuestro sistema lo tiene,
no lo vamos a estar usando siempre.
Es decir, el que tenga una cámara digital que se conecte
al sistema por Firewire, no va a hacerlo todos los dias a todas horas.
Habrá épocas (por ejemplo en verano) donde la tenga
enchufada casi a diario, y otras en las que se pase temporadas enteras durmiendo
en el cajón de
Vamos a implementar este soporte como módulo, de forma que cuando nos haga
falta lo cargamos, y cuando no lo quitamos.
¡ Y todo eso sin reiniciar el equipo !
Vamos a por ello. Estas son las opciones:
IEEE 1394 (FireWire) support
Lo habilitaremos como módulo.
--- Subsystem Options
Excessive debugging output
No os lo aconsejo en absoluto. Os llenará la pantalla
de mensajes de debugging de
conexión Firewire. No
OUI Database built-in
A gusto de cada uno. Incluye una base de datos de fabricantes,
de forma que cuando
le pinchemos el dispositivo que sea, nos dice el fabricante.
Build in extra config rom
entries for certain functionality
Algunos dispositivos Firewire traen una ROM donde el
PC lee información adicional para
su funcionamiento. Se lo dejaremos marcado.
--- Device Drivers
Texas Instruments PCILynx
support
OHCI-1394 support
Drivers para el Firewire. Yo marcaré este por ser el
que usa mi portatil.
Vosotros tendreis que tirar de la chuleta y elegir el
vuestro.
--- Protocol Drivers
OHCI-1394 Video support
SBP-2 support (Harddisks
etc.)
Ethernet over 1394
OHCI-DV I/O support
Raw IEEE1394 I/O support
IEC61883-1 Plug support
Aqui escogeis lo que querais utilizar:
El uso de vídeo con OHCI-1394
Soporte para discos y grabadoras Firewire
Red para Firewire
Transmitir y recibir vídeo por Firewire
Soporte RAW para IEEE1394 (ver más abajo)
Métodos de conexión.
El soporte RAW viene muy bien cuando queremos conectarnos
directamente al dispositivo
y trabajar con él.
Lo marcaremos para tener
más juego.
=============================================
R E S U M E N
Esta es la configuración que se dejará:
<M> IEEE 1394 (FireWire) support
--- Subsystem Options
[ ] Excessive debugging output
[ ] OUI Database built-in
[ ] Build in extra config rom entries for certain functionality
--- Device Drivers
<M> Texas Instruments PCILynx support
< > OHCI-1394 support
--- Protocol Drivers
< > SBP-2 support (Harddisks etc.)
< > Ethernet over 1394
<M> Raw IEEE1394 I/O support
< > IEC61883-1 Plug support
DEVICE
DRIVERS: I2O Support
¿Recordais que os dije que esto era un modo distinto
para los drivers?
Pues nada, no lo marcamos.
DEVICE
DRIVERS: Networking Support
Llegamos a uno de los puntos más interesantes de Linux:
su red.
Al contrario que otros sistemas operativos, Linux puede
ser tan modular que incluso el
funcionamiento de la red puede especificarse "en
trocitos".
Mi consejo es que como a fin de cuentas la tarjeta siempre
va a estar funcionando, pongáis
la tarjeta dentro del núcleo, los protocolos habituales
en el núcleo, y el resto como módulo.
Explicar todas las posibilidades de red de Linux es
algo que merecería un libro completo.
Tened en cuenta que se puede hacer balanceos de carga,
Bonding, Routing, Routing Avanzado, VLanes,....
Lo que haremos es que voy a indicaros que tenéis que
marcar, y si queréis que se ponga un tutorial aparte sobre las posibilidades
de la red no tenéis nada más que pedirlo.
[*] Networking support
Networking options --->
[*] Network device support
ARCnet devices --->
<M> Dummy net driver support
< > Bonding driver support
< > EQL (serial line load balancing) support
< > Universal TUN/TAP device driver support
Ethernet (10 or 100Mbit) --->
Ethernet (1000 Mbit) --->
Ethernet (10000 Mbit) --->
[ ] FDDI driver support
[ ] HIPPI driver support (EXPERIMENTAL)
< > PLIP (parallel port) support
< > PPP (point-to-point protocol) support
< > SLIP (serial line) support
Wireless LAN (non-hamradio) --->
Token Ring devices --->
[ ] Fibre Channel driver support
< > Red Creek Hardware VPN (EXPERIMENTAL)
< > Traffic Shaper (EXPERIMENTAL)
< > Network console logging support (EXPERIMENTAL)
Wan interfaces --->
PCMCIA network device support --->
Amateur Radio support --->
IrDA (infrared) support --->
Bluetooth support --->
Dentro de Networking Options
<*> Packet socket
[ ] Packet socket: mmapped IO
< > Netlink device emulation
<*> Unix domain sockets
< > PF_KEY sockets
[*] TCP/IP networking
[*] IP: multicasting
[ ] IP: advanced router
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[ ] IP: BOOTP support
[ ] IP: RARP support
< > IP: tunneling
< > IP: GRE tunnels over IP
[ ] IP: multicast routing
[ ] IP: ARP daemon support (EXPERIMENTAL)
[*] IP: TCP syncookie support (disabled per default)
< > IP: AH transformation
< > IP: ESP transformation
< > IP: IPComp transformation
< > The IPv6 protocol (EXPERIMENTAL)
< > DECnet Support
Dentro de ARCnet devices
No seleccionamos nada.
Dentro de Ethernet (10 or 100bit)
Lo que hacemos es seleccionar el tipo de tarjeta de
red que se encuentre instalado en ell sistema.
[*] Ethernet (10 or 100Mbit)
<M> Generic Media Independent Interface device
support
< > Sun Happy Meal 10/100baseT support
< > Sun GEM support
[ ] 3COM cards
Tulip family network device support --->
< > HP 10/100VG PCLAN (ISA, EISA, PCI) support
[*] EISA, VLB, PCI and on board controllers
< > AMD PCnet32 PCI support
< > AMD 8111 (new PCI lance) support
< > Adaptec Starfire/DuraLAN support
< > Broadcom 4400 ethernet support (EXPERIMENTAL)
< > Reverse Engineered nForce Ethernet support
(EXPERIMENTAL)
< > EtherExpressPro/100 support (eepro100, original
Becker driver)
< > Intel(R) PRO/100+ support
< > Myson MTD-8xx PCI Ethernet support
<*> National Semiconductor DP8381x series PCI
Ethernet support
< > PCI NE2000 and clones support (see help)
< > RealTek RTL-8139 C+ PCI Fast Ethernet Adapter
support (EXPERIMENTAL)
< > RealTek RTL-8139 PCI Fast Ethernet Adapter
support
< > SiS 900/7016 PCI Fast Ethernet Adapter support
< > SMC EtherPower II
< > Sundance Alta support
< > TI ThunderLAN support
< > VIA Rhine support
DEVICE
DRIVERS: ISDN Subsystem
Si necesitamos tener soporte para RDSI, tendremos que
seleccionar esta opción.
En nuestro caso, lo desmarcamos.
DEVICE
DRIVERS: Telephony Support
Aqui podemos especificar opciones para voz sobre IP.
Por ejemplo, si en nuestra empresa hay telefonía TCP/IP,
podremos usar la tarjeta de sonido para estos propósitos.
En nuestro caso, no lo marcaremos.
DEVICE
DRIVERS: Input device Support
Hace ya muuuuuchos posts os comenté el significado de
esta entrada.
Se trata dar soporte a los distintos dispositivos que
podemos usar como método de
entrada y salida de datos del sistema.
En otras palabras: ¿que teclado y que ratón tenemos?
Si cotilleáis un poco por dentro, veréis que hay soporte
de todo: desde joystick de PSX
hasta pantallas táctiles.
Esta va a ser la configuración que dejaremos:
--- Userland interfaces
--- Mouse interface
(1024) Horizontal screen resolution
(768) Vertical screen resolution
[*] Enable /dev/psaux device by default
< > Joystick interface
< > Touchscreen interface
< > Event interface
< > Event debugging
--- Input I/O drivers
< > Gameport support
<*> Serial port line discipline
< > ct82c710 Aux port controller
< > Parallel port keyboard adapter
< > PCI PS/2 keyboard and PS/2 mouse controller
--- Input Device Drivers
--- Keyboards
< > Sun Type 4 and Type 5 keyboard support
< > DECstation/VAXstation LK201/LK401 keyboard
support
< > XT Keyboard support
< > Newton keyboard
[*] Mice
<*> PS/2 mouse
< > Serial mouse
< > DEC VSXXX-AA/GA mouse and tablet
[ ] Joysticks
[ ] Touchscreens
[ ] Misc
DEVICE
DRIVERS: Character Devices
Bueno, esta parte parece pesada pero no lo es tanto.
Por hacer un poco de resumen, se trata de dar soporte
al reto de dispositivos que tenemos
en nuestro equipo.
Vamos a dividir esto en tres partes, pero tened en cuenta
que se trata de una única entrada en
Non-standard serial port support
Aqui directamente decimos que no. Se usa en sistemas
que tienen varios puertos serie (más de 4) y no utilizan el standard que se
sigue en los PC's.
Serial drivers --->
Se trata del puerto serie del PC. Normalmente entro
enel submenú y lo marco como módulo (M).
Lo único que tengo que vaya al puerto serie es el cable
para programar el Router, y para
eso no me complico la vida metiéndolo en el kernel.
Como módulo va estupendamente.
Legacy (BSD) PTY support
Habilita terminales. Pero en Linux esto se puede resolver
de otras formas, así que
no lo marcamos.
(256) Maximum number of
legacy PTY in use
Depende del anterior.
Parallel printer support
Recordad que antes hemos dado soporte al puerto paralelo...
pero no a
Lo marcamos.
Support for console on line
printer
A algunos les gustará mucho.
Lo que hace es que convierte la impresora en una consola,
con lo cual los mensajes
aparecen por ellla.
Si teneis una impresora matricial, ingentes cantidades
de papel continuo y unos vecinos
con una sordera profunda, ponedlo como curiosidad. Parecerá
que estais en
Ya en serio, no nos será de mucha utilidad salvo que estemos depurando el
sistema.
Dejadlo sin marcar.
Support for user-space parallel
port device drivers
No se necesita ni para imprimir ni para utilizar dispositivos
que vayan enchufados
al puerto paralelo, así que no lo marcamos.
Texas Instruments parallel
link cable support
Para las calculadoras TI que llevan un cable para el
puerto paralelo del PC de forma que
se puedan descargar datos y programas.
Lo dejamos sin marcar (a menos que tengáis una calculadora
de esas)
QIC-02 tape support
Es un tipo de cinta para copias. Lo dejamos sin marcar
IPMI --->
Es un standard industrial para sensores. Lo dejamos
sin marcar.
Watchdog Cards --->
Aquí os cuento un poquito de que va esto.
Supongamos que sois administradores de un servidor que
está en Barcelona y vosotros en Madrid.
Si hubiera un fallo y se colgase, no creo que os hiciera
mucha gracia viajar para darle al
botón de reset.
Un Watchdog lo que hace es que espera una señal cada
cierto tiempo. Si no la recibe
reinicia el equipo (en este caso).
Lo dejaremos sin marcar (os lo recomiendo por que cuando
recomprimo vídeo tengo la
cpu casi a tope, y a veces me ha saltado el watchdog
:? )
Intel/AMD/VIA HW Random
Number Generator support
Da soporte para el generador de números aleatorios de
la placa base.
Lo dejaremos sin marcar
/dev/nvram support
Util... pero peligroso. Permite escribir datos en la
CMOS del PC (¿a alguien le suena
palabra BIOS?). Lo dejamos sin marcar.
Enhanced Real Time Clock
Support
Si habeis puesto un núcleo multiprocesador, marcardlo,
en otro caso dejadlo sin marcar.
Generic /dev/rtc emulation
Un poco largo de explicar. Símplemente no es necesario
y lo dejamos sin marcar.
Double Talk PC internal speech card support
Siemens R3964 line discipline
Salvo que nuestro equipo tenga que comunicarse directamente
con PLC's, no lo marcamos. ¡Ojo! no confundáis esto con los "PLC de Endesa",
que en realidad os pondrán
un router/modem conectado a la red eléctrica y funcionareis
por una tarjeta de red.
Applicom intelligent fieldbus
card support
Nada, es una tarjeta industrial que no vamos a encontrar
nunca por nuestra casa.
Lo dejamos sin marcar
Sony Vaio Programmable I/O
Control Device support (EXPERIMENTAL)
Los que tengan un portatil Sony Vaio pueden encontrarlo
útil, pero tened en cuenta que es EXPERIMENTAL.
Los demás lo dejaremos sin marcar.
Bueno, sigamos con la segunda tanda:
/dev/agpgart (AGP Support)
Permite acceder a las funciones 3D de nuestras tarjetas
de vídeo AGP.
Marcado,no... MARCADISIMO
ALI chipset support
Soporte para los chipsets Ali M1541, M1621, M1631, M1632,
M1641,M1647,y M1651
ATI chipset support
Soporte para los chipset IGP de las ATI Radeon.
El sistema donde estoy haciendo las pruebas lo lleva,
así que lo marco
AMD Irongate, 761, and 762
chipset support
AMD Opteron/Athlon64 on-CPU
GART support
Intel 440LX/BX/GX, I8xx
and E7x05 chipset support
Intel i865 chipset support
NVIDIA nForce/nForce2 chipset
support
SiS chipset support
Serverworks LE/HE chipset
support
Soporte para estos Chipset
VIA chipset support
Soporte para los VIA MVP3/Apollo (antiguos)
Transmeta Efficeon support
Vamos con la última parte:
Direct Rendering Manager
(XFree86 4.1.0 and higher DRI support)
En Xfree 4.0 se introdujo esta mejora para dar mayor
rendimiento al vídeo.
La seleccionamos.
3dfx Banshee/Voodoo3+
3dlabs GMX 2000
ATI Rage 128
ATI Radeon
Intel I810
Intel 830M, 845G, 852GM,
855GM, 865G
Matrox g200/g400
SiS video cards
Tarjetas que soportan
PCMCIA character devices --->
Es para dar un soporte de comunicaciones serie a una
tarjeta PCMCIA en concreto.
No
ACP Modem (Mwave) support
No os pongais contentos, que no es para todos los modem.
Sólo para los Thinkpad de IBM. No lo marcamos.
RAW driver (/dev/raw/rawN)
(OBSOLETE)
¿Obsoleto? No lo marcamos.
Hangcheck timer
================================================
R E S U M E N
Así queda mi configuración, la vuestra debe ser similar.
[ ] Non-standard serial port support
Serial drivers --->
[*] Legacy (BSD) PTY support
(256) Maximum number of legacy PTY in use
<*> Parallel printer support
[ ] Support for console on line printer
< > Support for user-space parallel port device
drivers
< > Texas Instruments parallel link cable support
< > QIC-02 tape support
IPMI --->
Watchdog Cards --->
< > Intel/AMD/VIA HW Random Number Generator support
< > /dev/nvram support
< > Enhanced Real Time Clock Support
< > Generic /dev/rtc emulation
< > Double Talk PC internal speech card support
< > Siemens R3964 line discipline
< > Applicom intelligent fieldbus card support
< > Sony Vaio Programmable I/O Control Device
support (EXPERIMENTAL)
Ftape, the floppy tape device driver --->
<*> /dev/agpgart (AGP Support)
<*> ALI chipset support
<*> ATI chipset support
< > AMD Irongate, 761, and 762 chipset support
< > AMD Opteron/Athlon64 on-CPU GART support
<*> Intel 440LX/BX/GX, I8xx and E7x05 chipset
support
< > Intel i865 chipset support
< > NVIDIA nForce/nForce2 chipset support
<*> SiS chipset support
< > Serverworks LE/HE chipset support
<*> VIA chipset support
< > Transmeta Efficeon support
[*] Direct Rendering Manager (XFree86 4.1.0 and higher
DRI support)
< > 3dfx Banshee/Voodoo3+
< > 3dlabs GMX 2000
< > ATI Rage 128
<*> ATI Radeon
< > Intel I810
< > Intel 830M, 845G, 852GM, 855GM, 865G
< > Matrox g200/g400
< > SiS video cards
PCMCIA character devices --->
< > ACP Modem (Mwave) support
< > RAW driver (/dev/raw/rawN) (OBSOLETE)
< > Hangcheck timer
DEVICE
DRIVERS: I2C Support
Se trata de un protocolo serie para comunicarse con
microcontroladores.
Lo dejamos sin marcar.
(Este ha sido cortito, menos
mal)
DEVICE
DRIVERS: Misc Devices
¡ Otro cortito !
¿Alguien está montando Linux en un procesador RSA de
IBM?
¿No?
Pues nada, lo dejamos sin marcar.
DEVICE
DRIVERS: Multimedia devices
Bueno, esta parte es algo más pesadilla....
¡Falso! Esta da soporte a capturadoras/sintonizadoras
de TV y Radio.
Entramos en el menú, y activamos como módulo (M) Video
for Liniux.
¿Porqué como módulo? Facil.
No siempre estaremos viendo la TV en nuestro equipo, de hecho
en el PC de sobremesa que tengo en casa rara vez me
pongo a ver la televisión (salvo cuando me "expulsan" del salón
con culebrones y/o similares).
Lo ponemos como módulo y así sólo tenemos que cargarlo
cuando queramos usar ese dispositivo.
Dentro veremos que hay dos entradas, Video for Linux
(si, el nombre se repite) que contiene los diferentes modelos de capturadoras
que hay, y Radio for Linux, que contiene tarjetas sintonizadoras de
radio.
La siguiente entrada que aparece es Digital Video
Broadcasting Devices.
Salvo que vayamos a hacer Broadcast
de Video, lo dejaremos sin marcar.
DEVICE
DRIVERS: Graphics Support
Algunas tarjetas VGA necesitan una "ayudita"
del kernel para funcionar a pleno rendimiento,
En este apartado encontraremos una lista de Hardware
en la que seleccionaremos la nuestra... si es el caso.
Así mismo encontrareis el soporte de Framebuffer y la
posibilidad de poner a Tux en el arranque.
Esto se explica en los trucos avanzados (dentro de este
mismo foro).
==============================================
R E S U M E N
En mi caso, esto queda así:
[*] Support for frame buffer devices
< > Permedia2 support
< > CyberPro 2000/2010/5000 support
[ ] IMS Twin Turbo display support
< > VGA 16-color graphics support
< > VESA VGA graphics support
< > Hercules mono graphics support
< > nVidia Riva support
< > Intel 810/815 support (EXPERIMENTAL)
< > Matrox acceleration
< > ATI Radeon display support (Old driver)
<*> ATI Radeon display support
[*] DDC/I2C for ATI Radeon support
[ ] Lots of debug output from Radeon driver
< > ATI Rage128 display support
< > ATI Mach64 display support
< > SiS acceleration
< > NeoMagic display support
< > IMG Kyro support
< > 3Dfx Banshee/Voodoo3 display support
< > 3Dfx Voodoo Graphics (sst1) support
< > Trident support
< > Virtual Frame Buffer support (ONLY FOR TESTING!)
Console
display driver support --->
Logo configuration --->
DEVICE
DRIVERS: Sound
Esta parte es más interesante.
Si entrais en el menú, vereis que hay dos formas de
obtener soporte para vuestra tarjeta de sonido:
Advanced Linux Sound Architecture (ALSA para
los amiguetes]
Open Sound System (OSS para los amigos)
Elegir una u otra es cuestión de gustos, pero tened
en cuenta una cosa:
OSS está a extinguir, pero es mucho más simple de configurar
y personalmente he obtenido
mejores resultados con él que con ALSA.
Sin embargo el standard actual es ALSA.
Veamos los dos
Si entramos en Open Sound System Architecture, veremos
que únicamente contiene los nombres de las tarjetas soportadas. Seleccionamos
la nuestra y listo:
============================================
R E S U M E N
<*> Open Sound System (DEPRECATED)
< > BT878 audio dma (NEW)
< > C-Media PCI (CMI8338/8738) (NEW)
< > Creative SBLive!
(EMU10K1) (NEW)
< > Crystal SoundFusion (CS4280/461x) (NEW)
< > Crystal Sound CS4281 (NEW)
< > Ensoniq AudioPCI (ES1370) (NEW)
< > Creative Ensoniq AudioPCI 97 (ES1371) (NEW)
< > ESS Technology Solo1 (NEW)
< > ESS Maestro, Maestro2, Maestro2E driver (NEW)
< > ESS Maestro3/Allegro driver (EXPERIMENTAL)
(NEW)
< > Intel ICH (i8xx) audio support (NEW)
< > S3 SonicVibes (NEW)
<*> Trident 4DWave DX/NX, SiS 7018 or ALi 5451
PCI Audio Core (NEW)
< > Support for Turtle Beach MultiSound Classic,
Tahiti, Monterey (NEW)
< > Support for Turtle Beach MultiSound Pinnacle,
Fiji (NEW)
< > VIA 82C686 Audio Codec (NEW)
< > OSS sound modules (NEW)
< > TV card (bt848) mixer support (NEW)
< > ALi5455 audio support (NEW)
< > ForteMedia FM801 driver (NEW)
< > RME Hammerfall (RME96XX) support (NEW)
< > AD1980 front/back switch plugin (NEW)
Si veis que vuestra tarjeta no aparece en el listado,
probad a marcar OSS sound modules.
Dentro
encontrareis muchas más.
Dentro de ALSA, econtrareis algo similar, pero organizado
por categorías (PCI,USB,PCMCIA).
En mi caso, el driver que necesito se encuentra dentro
de PCI.
Si vuestra tarjeta está integrada en placa, ese es el
lugar donde la encontrareis.
==================================================
R E S U M E N
<*> ALi PCI Audio M5451
< > ATI IXP 150/200/250
< > Aureal Advantage
< > Aureal Vortex
< > Aureal Vortex 2
< > Aztech AZF3328 / PCI168 (EXPERIMENTAL)
< > Bt87x Audio Capture
< > Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x
< > Cirrus Logic (Sound Fusion) CS4281
< > EMU10K1 (SB Live!
& Audigy,
E-mu APS)
< > Korg 1212 IO
< > Digigram miXart
< > NeoMagic NM256AV/ZX
< > RME Digi32, 32/8, 32 PRO
< > RME Digi96, 96/8, 96/8 PRO
< > RME Digi9652 (Hammerfall)
< > RME Hammerfall DSP Audio
< > Trident 4D-Wave DX/NX; SiS 7018
< > Yamaha YMF724/740/744/754
< > Avance Logic ALS4000
< > C-Media 8738, 8338
< > (Creative) Ensoniq AudioPCI 1370
< > (Creative) Ensoniq AudioPCI 1371/1373
< > ESS ES1938/1946/1969 (Solo-1)
< > ESS ES1968/1978 (Maestro-1/2/2E)
< > ESS Allegro/Maestro3
< > ForteMedia FM801
< > ICEnsemble ICE1712 (Envy24)
< > ICE/VT1724 (Envy24HT)
< > Intel i8x0/MX440, SiS 7012; Ali 5455; NForce
Audio; AMD768/8111
< > Intel i8x0/MX440; AMD768/8111 modems (EXPERIMENTAL)
< > S3 SonicVibes
< > VIA 82C686A/B, 8233 South Bridge
< > Digigram VX222
Escoger uno u otro es cuestión
de gustos y rendimiento de cada uno.
Me suele ir mejor OSS en sistemas
que vayan un poco "cortitos", y ALSA en los demás, pero haciendo
un simil de coches, es como hablar de BMW o Mercedes. Los dos son grandes
coches, pero a cada persona le parece uno mejor que el otro... aunque en su
diseño y prestaciones sea iguales
DEVICE DRIVERS: USB Support
¡Por fin!
Esta es la última entrada que tendremos
en Device Drivers, que ya estaba un poco pesado.
No os pongo el resumen de las entradas, como ya es habitual,
porque como podreis
imaginar la lista de dispositivos USB es interminable.
Teneis desde impresoras y modems
hasta los mandos de una X-Box.
Lo que si teneis que tocar (aparte de añadir vuestros
dispositivos) es lo siguiente:
USB verbose debug messages
Os dará todos los mensajes que generen los dispositivos
USB. No lo marcaremos
--- Miscellaneous USB options
USB device filesystem
Coloca una entrada en el sistema para señalar los USB.
Recomendable. Lo señalamos.
Enforce USB bandwidth allocation
(EXPERIMENTAL)
Nada de nada, es experimental.
Dynamic USB minor allocation
(EXPERIMENTAL)
Igual que el anterior
--- USB Host Controller
Drivers
EHCI HCD (USB 2.0) support
Soporte para USB2.0. Lo marcamos
Full speed ISO transactions
(EXPERIMENTAL)
No lo marcamos
OHCI HCD support
Este es el controlador de mi equipo. Yo lo marco
UHCI HCD (most Intel and
VIA) support
El otro tipo de controlador, marcadlo si es el vuestro.
--- USB Device Class drivers
USB Audio support
Soporte para dispositivos de Audio USB (altavoces).
No lo marcamos
USB Bluetooth TTY support
Soporte para Bluetooth por USB (si teneis el lápiz).
No lo marcamos
USB MIDI support
Para conectar dispositivos MIDI por USB. No lo marcamos.
USB Modem (CDC ACM) support
Soporte para modems USB. No lo marcamos.
Ojo, que no se refiere a los "modems" USB
de las ADSL
USB Printer support
Impresoras USB. No la marcaremos a menos que tengamos
una
USB Mass Storage support
Para conectar dispositivos de almacenamiento USB (Discos
Duros, MemoryStick,...)
Lo marcamos
USB Mass Storage verbose
debug
Avisos por consola de los mensajes emitidos por el dispositivo.
No lo marcamos.
==============================================
R E S U M E N
FILE
SYSTEMS
Aqui indicaremos el tipo de sistemas de archivos que
usaremos en nuestro equipo.
Os recomiendo lo siguiente:
Dejad en el núcleo (*) los sistemas ext2 (muy antiguo)
ext3 y reiserfs, y los demás los poneis
como módulos. De esa forma siempre prodreis acceder
a todos los discos, CD's y DVD's que tengais u os pasen.
No vamos a discutir que sistema de archivo es mejor
o peor, así que os indico directamente la configuración... si no teneis inconveniente.
============================================
R E S U M E N
<*> Second extended fs support
[ ] Ext2 extended attributes
<*> Ext3 journalling file system support
[*] Ext3 extended attributes
[ ] Ext3 POSIX Access Control Lists
[ ] Ext3 Security Labels
[ ] JBD (ext3) debugging support
<*> Reiserfs support
[ ] Enable reiserfs debug mode
[*] Stats in /proc/fs/reiserfs
<M> JFS filesystem support
[*] JFS POSIX Access Control Lists
[ ] JFS debugging (NEW)
[ ] JFS statistics (NEW)
<M> XFS filesystem support
[ ] Realtime support (EXPERIMENTAL) (NEW)
[*] Quota support
[*] Security Label support
[*] POSIX ACL support
<M> Minix fs support
<M> ROM file system support
[ ] Quota support
<*> Kernel automounter support
<*> Kernel automounter version 4 support (also
supports v3)
CD-ROM/DVD Filesystems --->
DOS/FAT/NT Filesystems --->
Pseudo filesystems --->
Miscellaneous filesystems --->
Network File Systems --->
Partition Types --->
Native Language Support --->
Dentro de los campos CD-ROM/DVD Filesystems,
DOS/FAT/NTFS,... haced exactamente lo mismo: todos como módulos.
En
Partition Types no seleccioneis nada.
Native Language Support tiene los juegos de caracteres
que usará el sistema.
Os aconsejo que dejeis sólo el 8859-15 dentro del kernel
(*), que es que corresponde
a Europa-Oeste con Euro, y 8859-1,
que es lo mismo... pero sin Euro como módulo (M)
Profiling
Support
En experimental, así que no lo
marcamos.
Kernel
Hacking
Se utiliza para depurar el kernel.
No lo marcaremos.
Security
Options
Nos proporciona distintas opciones de seguridad.
Algunas de ellas son parches externos (como NSA Linux)
que nos hacen el sistema aún
mas seguro.
Hasta que en un futuro post nos metamos más en profundidad,
os aconsejo que configureis
de esta forma:
===========================================
R E S U M E N
[*] Enable different security models
[ ] Socket and Networking Security Hooks (NEW)
<*> Default Linux Capabilities
< > Root Plug Support (NEW)
[ ] NSA SELinux Support (NEW)
Cryptographic
Options
Más adelante nos meteremos en criptografía.
De momentolla dejamos sin marcar.
Library
Routines
No marcamos nada, y seguimos.
¡¡¡¡
PREPARADOS PARA COMPILAR !!!!
Bueno, pues ya estamos listos (menos mal).
Ahora seleccionamos Exit, y muy educadamente
se nos preguntará
Do you wish to save your new kernel configuration?
¡Al que diga que No le corto las manos!
¡Con el trabajito que ha costado escribir todo esto!
Venga, en serio, le decimos que
'Yes' y salimos.
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡COMPILANDOOOOOOOOOOOOOOOOOO
!!!!!!!!!!!!
Ahora estaremos de nuevo en el prompt del sistema.
Simplemente, escribimos make, y nos vamos por
un refresco.
Este proceso tardará... bueno, es dificil decirlo.
Depende de la cantidad de opciones
que le hayais puesto y de vuestro equipo, pero para que os hagais una idea,
en el mio tarda unos 10 minutos (PIV 2'8, 512Mb)
INSTALANDO
Bueno, una vez que ha terminado la compilación, ejecutamos
make install
Esto os instalará el kernel en el sitio correspondiente
y actualizará vuestro Lilo.
Y para generar los módulos:
make modules
make modules_install[b]
Un consejo:
No me gusta tener Lilo como viene por defecto. La configuración
que yo uso es esta:
# /etc/lilo.conf - See: `lilo(8)' and `lilo.conf(5)',
# --------------- `install-mbr(8)', `/usr/share/doc/lilo/',
# and `/usr/share/doc/mbr/'.
# +---------------------------------------------------------------+
# | !! Reminder !! |
# | |
# | Don't forget to run `lilo'
after you make changes to this |
# | conffile, `/boot/bootmess.txt', or install a new
kernel. The |
# | computer will most likely fail to boot if a kernel-image
|
# | post-install script or you don't remember to run
`lilo'. |
# | |
# +---------------------------------------------------------------+
# Support LBA for large hard disks.
#
lba32
# Overrides the default mapping
between harddisk names and the BIOS'
# harddisk order. Use with caution.
#disk=/dev/hde
# bios=0x81
#disk=/dev/sda
# bios=0x80
# Specifies the boot device. This is where Lilo installs
its boot
# block. It can be either a partition, or the raw device,
in which
# case it installs in the MBR, and will overwrite the
current MBR.
#
boot=/dev/hda
# Specifies the device that should be mounted as root.
(`/')
#
root=/dev/hda1
# Enable map compaction:
# Tries to merge read requests for adjacent sectors
into a single
# read request. This drastically reduces load time and
keeps the
# map smaller. Using `compact' is especially recommended
when
# booting from a floppy disk. It is disabled here by
default
# because it doesn't always work.
#
# compact
# Installs the specified file as the new boot sector
# You have the choice between: bmp, compat, menu and
text
# Look in /boot/ and in lilo.conf(5)
manpage for details
#
install=/boot/boot-menu.b
# Specifies the location of the map file
#
map=/boot/map
# You can set a password here, and uncomment the `restricted'
lines
# in the image definitions below to make it so that
a password must
# be typed to boot anything but a default configuration.
If a
# command line is given, other than one specified by
an `append'
# statement in `lilo.conf', the password will be required,
but a
# standard default boot will not require one.
#
# This will, for instance,
prevent anyone with access to the
# console from booting with something like `Linux init=/bin/sh',
# and thus becoming `root' without proper authorization.
#
# Note that if you really need this type of security,
you will
# likely also want to use `install-mbr' to reconfigure
the MBR
# program, as well as set up your BIOS to disallow booting
from
# removable disk or CD-ROM, then put a password on getting
into the
# BIOS configuration as well. Please RTFM `install-mbr(8)'.
# password=tatercounter2000
# Specifies the number of deciseconds (0.1 seconds)
LILO should
# wait before booting the first image.
#
delay=20
# You can put a customized boot message up if you like.
If you use
# `prompt', and this computer may need to reboot unattended,
you
# must specify a `timeout', or it will sit there forever
waiting
# for a keypress. `single-key' goes with the `alias'
lines in the
# `image' configurations below. eg: You can press `1'
to boot
# `Linux', `2' to boot `LinuxOLD', if you uncomment
the `alias'.
#
# message=/boot/bootmess.txt
prompt
# single-key
# delay=100
timeout=100
# Specifies the VGA text mode at boot time. (normal, extended, ask, <mode>)
#
# vga=ask
# vga=9
#
vga=791
# Kernel command line options that apply to all installed
images go
# here. See: The `boot-prompt-HOWO' and `kernel-parameters.txt'
in
# the Linux kernel `Documentation' directory.
#
#append=""
# Boot up Linux by default.
#
default=2.6.5
image=/boot/vmlinuz-2.4.18-bf2.4
label=2.4.18
read-only
# restricted
# alias=1
image=/boot/vmlinuz-2.4.26
label=2.4.26
read-only
optional
# restricted
# alias=2
image=/boot/vmlinuz-2.6.6
label=2.6.6
read-only
optional
image=/boot/vmlinuz-2.6.5
label=2.6.5
read-only
optional
# If you have another OS on this machine to boot, you
can uncomment the
# following lines, changing the device name on the `other'
line to
# where your other OS' partition is.
#
# other=/dev/hda4
# label=HURD
# restricted
# alias=3
Luego de editar y modificar a
vuestro gusto, guardais el archivo lilo.conf (este que os he mostrado) y ejecutais
[b]lilo -v -v, reiniciais....
¡ Y listo !
Mucha suerte a todos.