39
Volver 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 la 2.4. Como existen una buena cantidad de versiones, para vuestras primeras experiencias os aconsejo que uséis las versiones que aparecen en la página principal como últimas estables (a fecha de hoy son la 2.6.6 y la 2.4.26). 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. Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm 1 de 39 09/06/2012 03:52 a.m.

Como Compilar Un Kernel, Paso a Paso

Embed Size (px)

Citation preview

Page 1: Como Compilar Un Kernel, Paso a Paso

Volver

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 cualproblema 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 pordefecto.

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 queos 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 lasversiones del kérnel ¡La 1.0 incluida!

¿Que versión escoger?Por lo general, usaremos la familia 2.6 o la 2.4. Como existen una buena cantidad deversiones, para vuestras primeras experiencias os aconsejo que uséis las versionesque aparecen en la página principal como últimas estables (a fecha de hoy son la2.6.6 y la 2.4.26).Insisto, HAY MUCHAS VERSIONES, pero dentro de cada directorio encontrareis unarchivo que se llama CHANGELOG. En él se explican las diferencias y mejoras que haido 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 gziptar.bz2= empaquetado con tar y comprimido con bzip2

Así mismo veréis que hay unas "cosillas" que empiezan con 'patch". Se trata deparches que permiten actualizar desde una versión anterior a esa en lugar detraeros el núcleo entero, que la verdad, son un buen montón de megas.

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

1 de 39 09/06/2012 03:52 a.m.

Page 2: Como Compilar Un Kernel, Paso a Paso

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 conuna 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 unsitio específico para cada cosa.Lo que haremos será MOVER el núcleo al directorio /usr/src, que es donde vamos adejar todos los códigos fuente que nos bajemos.

Para eso simplemente abrimos una terminal (si estamos en un entorno gráfico) yhacemos un mv linux-2.6.5.tar.gz /usr/src/linux-2.6.5.tar.gzSeguidamente, 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 noshabrá aparecido un directorio que se llama linux-2.6.5.Ahora borraremos el archivo que hemos descargado. Personalmente tengo un CD conun montón de fuentes de núcleos Linux, porque nunca se sabe si vas a tener que ir aalgú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 SOMOSMUY 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 elsalvapantallas 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éisequivocaros fácilmente y no saber con cual estáis trabajando. Eso os facilitará lascosas.

Si no queréis hacer el link, no pasa nada, podéis cambiaros directamente al directorioy trabajar allí dentro, pero tenedlo en cuenta para el futuro.

Bien, simplemente nos cambiamos al directorio donde tengamos descomprimido elnúcleo.

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

2 de 39 09/06/2012 03:52 a.m.

Page 3: Como Compilar Un Kernel, Paso a Paso

cd /usr/src/linux si hemos hecho el enlace simbólico, o cd /usr/src/linux-2.6.5en 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 lasopciones del núcleo.Nos moveremos usando los cursores, seleccionaremos las entradas con 'Enter' ymarcaremos 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 deambos.

Para que lo entendáis todos, los módulos son como los drivers: nos permiten accedera dispositivos o nos dan prestaciones adicionales (como sistemas de encriptación,usar iptables para montar un Firewall, leer particiones formateadas en NTFS,... opoder 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 demenor 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 quequiero que haga el 90% del tiempo.Suelo meter dentro del núcleo el tipo de particiones que uso en mi sistema, los driversde 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 deWindows (y ese era el nombre), o leer un disco NTFS, usar criptografía, o mil cosasmá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 lamemoria.

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 "unatarjeta de red Ovislink de las normales", sino a que sepáis que componente enconcreto utiliza, hay una forma sencilla de conocerlos sin abrir el equipo (y perder lagarantí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-LinkController 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]

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

3 de 39 09/06/2012 03:52 a.m.

Page 4: Como Compilar Un Kernel, Paso a Paso

0000:00:0a.0 CardBus bridge: O2 Micro, Inc. OZ6912 Cardbus Controller0000: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-2000Controller (PHY/Link)0000:00:10.0 IDE interface: ALi Corporation M5229 IDE (rev c4)0000:00:11.0 Bridge: ALi Corporation M7101 PMU0000:00:12.0 Ethernet controller: National Semiconductor Corporation DP83815(MacPhyter) Ethernet Controller0000: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 IGP340M2.- El chipset ISA es un ALI15333.- La controladora de Cardbus es una O2Micro, modelo OZ69124.- El Firewire es de Texas Instruments5.- El Chipset del IDE es ALI 52296.- La tarjeta de red es una National Semiconductor7.- El modem es un MC5457, vamos, un Winmodem8.- 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/driversEsta opción os permite usar drivers que aún no están completamente terminados, yque están en versión alpha (vamos, apenas probados). Si la dejáis marcada no pasanada, 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 cleanlySólo os aparecerá si habéis seleccionado la primera. Basta con decir que os permitirá(entre otras cosas) configurar drivers de los anteriormente seleccionados SI NO LAMARCAIS.Como no me gusta que me den la tabarra, y sólo voy a usar drivers que funcionen(aunque sean obsoletos) la dejo.

Select only drivers that don't need compile-time external firmwareHay algunos dispositivos que cargan archivos de firmware en el arranque. Si la

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

4 de 39 09/06/2012 03:52 a.m.

Page 5: Como Compilar Un Kernel, Paso a Paso

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, dejadlascomo están.No os va a afectar en nada.

Eso si, en un futuro espero que os convirtáis en apasionados de Linux y quecontribuyá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 IPCDigamos que son unas funciones internas de comunicación entre programas, y quemuchos no funcionarán sin ellas. La dejamos señalada.

POSIX Message QueuesEs parte de la anterior, pero no la necesitaremos. La desmarcamos.

BSD Process AccountingPermite que el kérnel audite programas. Aunque no es necesario, la marcaremos,pero podemos prescindir de ella.

Sysctl supportPermite ajustar el funcionamiento del kérnel sin tener que recompilarlo. Lo marcamos.

Auditing supportPara 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 supportLo 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 otramayor)

Configure standard kérnel features (for small systems) --->Para sistemas embebidos principalmente. Lo desmarcamos.============================================

R E S U M E N

Esta es la configuración que se queda:

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

5 de 39 09/06/2012 03:52 a.m.

Page 6: Como Compilar Un Kernel, Paso a Paso

[*] 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 dependemucho 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 supportHabilita el soporte para módulos. Lo seleccionamos.

Module unloadingPermite 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 gustanada 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, podemosencontrarnos 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, nofunciona con todos (aún) pero si con los más usuales.

============================================R E S U M E NEsta 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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

6 de 39 09/06/2012 03:52 a.m.

Page 7: Como Compilar Un Kernel, Paso a Paso

correctamente el tipo de CPU que tengamos (nada difícil) hará que con el núcleo quehagamos 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 supportSi 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 delkérnel

486 emulationSi vamos a instalar el núcleo en un 386, seleccionando esta opción emularemosinstrucciones 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 SupportUsar un timer más avanzado en lugar del standard. Personalmente lo dejo sin activar.

Symmetric multi-processing supportSi 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érnelEs un poco raro de explicar, pero basta decir que en equipos de sobremesa se nota unaumento del rendimiento. Lo marcamos.

Machine Check ExceptionSi nuestra máquina tiene un fallo de hardware, se calienta el micro u otro fallo dehardware, el kérnel nos dará un aviso por pantalla.

Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4Comprueba posibles errores en PIV o AMD's

check for P4 thermal throttling interrupt.Chequea errores por sobrecalientamiento el PIV

Toshiba Laptop supportPara portatiles Toshiba

Dell laptop supportIdem, para los Dell Inspiron

/dev/cpu/microcode - Intel IA32 CPU microcode supportPara actualizar el microcódigo de los procesadores. No lo marcamos

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

7 de 39 09/06/2012 03:52 a.m.

Page 8: Como Compilar Un Kernel, Paso a Paso

/dev/cpu/*/msr - Model-specific register supportAlgo complejo de explicar. No lo marcamos.

/dev/cpu/*/cpuid - CPU information supportAlgo 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 estaopción.En caso de no marcarlo, nuestro límite será de 4Gb.

Math emulationSi alguien tiene un micro sin copro matemático (386 y algunos 486), que lo marque

MTRR (Memory Type Range Register) supportLo marcamos. Se usa para incrementar el rendimiento de las transferencias entre lamemoria del equipo y la VGA

Boot from EFI support (EXPERIMENTAL)No lo marcamos

Enable kérnel irq balancingEsta 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 aquiaparece 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 supportFirmware Drivers --->

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

8 de 39 09/06/2012 03:52 a.m.

Page 9: Como Compilar Un Kernel, Paso a Paso

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 elsistema que estemos utilizando.

Para un sistema de sobremesa recomendaría no habilitar ninguno de ellos. No pornada, sino por que son sistemas que (opinión personal) cuando están encendidos sonpara trabajar con ellos (amplíese trabajar a otras actividades lúdicas).

Sin embargo para un portatil si es muy conveniente montarlas. No sabeis la malaimpresión que di una vez haciendo una presentación laaaarga.... que terminó con unapagado "a lo bestia" del portatil por no tenerlo enchufado.

Vamos a ver las opciones:

Power Management supportSi queremos soporte de ahorro de energía. Lo marcamos

Software Suspend (EXPERIMENTAL)No lo marcamos

Suspend-to-Disk SupportSe copia el estado de la memoria a disco antes de entrar en hibernación. Lomarcamos

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 opcionessiguientes:

[*] ACPI Support[ ] Sleep States (EXPERIMENTAL)<*> AC Adapter<*> Battery<M> Button<M> Fan<M> Processor<M> Thermal Zone

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

9 de 39 09/06/2012 03:52 a.m.

Page 10: Como Compilar Un Kernel, Paso a Paso

< > 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 tenerla lista de hardware de nuestro sistema

PCI supportIndica 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 dela máquina. Para no pillarnos los dedos, le diremos que use el modo "Any" de formaque sea compatible con nuestro equipo (y siempre podremos jugar con la BIOS sinriesgo de dejar "frito" el sistema)

Vector-based interrupt indexing (MSI)Algo complejo de explicar. Lo dejaremos sin marcar

Legacy /proc/pci interfaceSe utilizaba antiguamente en lugar de lspci, y se mantiene por compatibilidad. Lodejaremos sin marcar

PCI device name databaseIncluye una base de datos de los dispositivos PCI. Muy util. Lo dejamos

ISA supportSi 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 busMicrochannel que incorporan estos equipos.

NatSemi SCx200 supportLo 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 supportPCI access mode (Any) --->

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

10 de 39 09/06/2012 03:52 a.m.

Page 11: Como Compilar Un Kernel, Paso a Paso

[ ] Vector-based interrupt indexing (MSI)[ ] Legacy /proc/pci interface[*] PCI device name database[ ] ISA support[ ] MCA support< > NatSemi SCx200 supportPCMCIA/CardBus support --->PCI Hotplug Support --->============================================

Sigamos.Como en mi caso se trata de un portatil, habilito el soporte de PCMCIA y el tipo detarjeta 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 enLinuxVeamos las opciones:

Kernel support for ELF binariesEl formato por defecto. Lo marcamos.

Kernel support for a.out and ECOFF binariesEste era el formato de programas que se usaba antes de ELF.Se mantiene por razones históricas y lo marcaremos si vamos a utilizar programasanteriores a 1.995. A nuestro gusto.

Kernel support for MISC binariesMuy 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 delkérnel.

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

11 de 39 09/06/2012 03:52 a.m.

Page 12: Como Compilar Un Kernel, Paso a Paso

En "Device Drivers" encontraremos el soporte que necesitan los dispositivos delsistema.

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 alectores 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 --->

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

12 de 39 09/06/2012 03:52 a.m.

Page 13: Como Compilar Un Kernel, Paso a Paso

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 hayen 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 discosduros?

No es el caso. Como veremos, la mayoría de estos apartados quedarán vacios, y elresto 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ánicade la configuración,

¿No os lo creeis? Pues tomad nota:

Nos metemos en Generic Drivers Options, y nos encontramos con Hotplugfirmware loading support.

Si recordáis, anteriormente os comenté que había drivers que necesitaban cargar unfirmware desde un archivo externo al kernel.Sin embargo, podemos encontrarnos con dispositivos que estén soportados en elnú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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

13 de 39 09/06/2012 03:52 a.m.

Page 14: Como Compilar Un Kernel, Paso a Paso

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, elcontrolador 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 supportQueremos ser capaces de enchufar una impresora a nuestro equipo.Por tanto lo marcamos

PC-style hardwareLo 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 sufuncionamiento 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 portsNo vamos a usar una PCMCIA para imprimir, por tanto no lo marcamos.

Support foreign hardwareHay puertos paralelos que no siguen el standard, y podemos usarlos.Salvo que tengais una segunda tarjeta de puerto paralelo que NO sea standard, no lomarcaremos.

IEEE 1284 transfer modesAqui damos soporte para ECP y EEP en el LPT.Si vuestra impresora lo soporta (yo diria que el 99'99% de las actuales), lomarcamos.

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

14 de 39 09/06/2012 03:52 a.m.

Page 15: Como Compilar Un Kernel, Paso a Paso

====================================================

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

Como no podemos entrar.... lo dejamos correr.

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 PCdoméstico. Lo obviamos.Una curiosidad: la parte Support for Large Block Devices no se refiere a los discosLBA, si no a discos de más de 2Tb

DEVICE DRIVERS: ATA/ATAPI/MFM/RLL support

No os asustéis por lo largo de este post. Simplemente es que hay muchos drivers ymuchas funciones.

Allá van las opciones que encontraremos dentro

ATA/ATAPI/MFM/RLL supportComo tenemos CD-Rom en nuestro equipo, lo habilitamos.

Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy supportLo marcaremos. Nos hará falta si tenemos más de un dispositivo IDE en el sistema.

Use old disk-only driver on primary interfaceEs una versión antgua del driver para IDE. No lo marcamos.

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

15 de 39 09/06/2012 03:52 a.m.

Page 16: Como Compilar Un Kernel, Paso a Paso

Include IDE/ATA-2 DISK supportSoporte 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 defaultSi nos da un error en el arranque debido a los discos, lo marcamos.En otro caso no es necesario.

Auto-Geometry Resizing supportPara sistemas antiguos. Si teneis una BIOS de Award que no os reconozca un discomayor de 32 Gb, con esto podreis arrancar el sistema en Linux. No lo marcamos.

PCMCIA IDE supportSi alguien tiene una PCMCIA que sea controladora IDE y un dispositivo IDE pinchad enella, que lo marque. Nosotros no lo haremos. (Por cierto, ¿alguien a visto un chismede estos alguna vez?)

Include IDE/ATAPI CDROM supportSin 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 supportLos que tengais unidades ZIP de Iomega, o disqueteras LS-120 conectadas al IDE, lomarcais. Nosotros no lo haremos.

SCSI emulation supportBastante interesante. Hace que los dispositivos en el IDE se puedan emular comoSCSI.Se utiliza en las grabadoras de CD/DVD. Aunque ya hay soporte directo paragrabadoras IDE en Linux, nunca viene mal dejarlo activado por si algún programillanos lo pide.

IDE Taskfile AccessPara 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 losdrivers *.INF del famoso sistema operativo de Redmond que usa para hacer trabajarcorrectamente el sistema.El problema es que sin estos drivers no tendremos las prestaciones que ofrecenuestro hardware, y en algunos casos se quedará colgado en el arranque porque esasfunciones se han programado de una forma no standard.Poniendo el modelo de Chipset correspondiente, solucionaremos el problema yganaremos estabilidad y rendimiento.

generic/default IDE chipset support

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

16 de 39 09/06/2012 03:52 a.m.

Page 17: Como Compilar Un Kernel, Paso a Paso

Ponedlo siempre como integrado en el núcleo (*) no como módulo (M)

CMD640 chipset bugfix/supportCMD640 enhanced supportSe usaba en placas de 486

PCI IDE chipset supportMarcadlo 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 supportHace 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íamostener IDE0, IDE1, IDE2, IDE3, IDE4,....).Con esto conseguimos que en lugar de arrancar en primer lugar con las IDE de placabase, se haga con la añadida.Nosotros no vamos a marcarlo.

Generic PCI IDE Chipset SupportPor si acaso lo dejaremos. Proporciona funciones para manejar de forma genéricael chipset si algo falla. Nunca viene mal.

OPTi 82C621 chipset enhanced support (EXPERIMENTAL)RZ1000 chipset bugfix/supportUn par de chipsets.

Generic PCI bus-master DMA supportForce enable legacy 2.0.X HOSTS to use DMANi caso. Es algo residual de la familia de núcleos 2.0 que se mantiene porcompatibilidad.

Use PCI DMA by default when availableLo marcamos. Mejora el acceso a dispositivos PCI.

Enable DMA only for disksAEC62XX chipset supportALI M15x3 chipset supportALI M15x3 WDC support (DANGEROUS)AMD and nVidia IDE supportATI IXP chipset IDE supportCMD64{3|6|8|9} chipset supportCompaq Triflex IDE supportCY82C693 chipset supportCyrix CS5510/20 MediaGX chipset support (VERY EXPERIMENTAL)Cyrix/National Semiconductor CS5530 MediaGX chipset supportHPT34X chipset supportHPT36X/37X chipset supportNational SCx200 chipset supportIntel PIIXn chipsets supportNS87415 chipset support

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

17 de 39 09/06/2012 03:52 a.m.

Page 18: Como Compilar Un Kernel, Paso a Paso

PROMISE PDC202{46|62|65|67} supportPROMISE PDC202{68|69|70|71|75|76|77} supportServerWorks OSB4/CSB5/CSB6 chipsets supportSilicon Image chipset supportSiS5513 chipset supportSLC90E66 chipset supportTekram TRM290 chipset supportVIA82CXXX chipset supportIGNORE word93 Validation BITSOtro buen montón de chipsets.

====================================================R E S U M E N

Aqui marcaremos las "piezas" de hardware que tenga nuestro sistema para obtener elsoporte.Es muy importante dejarlas dentro del kernel (marcadas con un *) en vez de comomódulos (marcadas con una M).Tened en cuenta que a estas funciones se accede toooodo el tiempo, con lo que alestar integradas conseguiremos una aumento de las prestaciones del sistema.

La configuración que se ha quedado para el sistema (recordad, mi equipo, pero ossirve 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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

18 de 39 09/06/2012 03:52 a.m.

Page 19: Como Compilar Un Kernel, Paso a Paso

< > 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 restode soporte para la emulación SCSI sobre dispositivos IDE.

legacy /proc/scsi/ supportProporciona un soporte para el sistema operativo. Lo marcamos

--- SCSI support type (disk, tape, CD-ROM)SCSI disk supportSoporte para Discos SCSI... y dispositivos de memoria USB(Memory Stick osimilares)Lo marcamos

SCSI tape supportSoporte para cintas SCSI. No lo marcamos

SCSI OnStream SC-x0 tape supportEs un modelo especial de cintas no muy standard. No lo marcamos

SCSI CDROM supportVamos 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 supportLo marcaremos. Se usa con Scanners... y con la emulación SCSI de CDROM

SCSI media changer supportSi alguien tiene un cambiador de CD's que lo ponga. Nosotros no lo haremos.

--- Some SCSI devices (e.g. CD jukebox) support multiple LUNsProbe all LUNs on each SCSI device

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

19 de 39 09/06/2012 03:52 a.m.

Page 20: Como Compilar Un Kernel, Paso a Paso

No lo marcaremos.

Build with SCSI REPORT LUNS supportNo lo marcamosVerbose SCSI error reporting (kernel size +=12K)No lo marcamos. Deja mensajes del funcionamiento de la SCSI

SCSI logging facilityHabilita 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 desmarcamostodo.

====================================================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 facilitySCSI 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 penahacerloen este momento porque es algo que no vamos a utilizar.

No lo marcamos.

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

20 de 39 09/06/2012 03:52 a.m.

Page 21: Como Compilar Un Kernel, Paso a Paso

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 hayuna cosa que es clara: si nuestro sistema lo tiene, no lo vamos a estar usandosiempre.Es decir, el que tenga una cámara digital que se conecte al sistema por Firewire, no vaa hacerlo todos los dias a todas horas.Habrá épocas (por ejemplo en verano) donde la tenga enchufada casi a diario, y otrasen las que se pase temporadas enteras durmiendo en el cajón de la mesa.

Vamos a implementar este soporte como módulo, de forma que cuando nos hagafalta 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) supportLo habilitaremos como módulo.

--- Subsystem OptionsExcessive debugging outputNo os lo aconsejo en absoluto. Os llenará la pantalla de mensajes de debugging de laconexión Firewire. No la marcamos

OUI Database built-inA gusto de cada uno. Incluye una base de datos de fabricantes, de forma que cuandole pinchemos el dispositivo que sea, nos dice el fabricante.

Build in extra config rom entries for certain functionalityAlgunos dispositivos Firewire traen una ROM donde el PC lee información adicionalparasu funcionamiento. Se lo dejaremos marcado.

--- Device DriversTexas Instruments PCILynx supportOHCI-1394 supportDrivers 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 DriversOHCI-1394 Video supportSBP-2 support (Harddisks etc.)Ethernet over 1394OHCI-DV I/O supportRaw IEEE1394 I/O supportIEC61883-1 Plug supportAqui escogeis lo que querais utilizar:

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

21 de 39 09/06/2012 03:52 a.m.

Page 22: Como Compilar Un Kernel, Paso a Paso

El uso de vídeo con OHCI-1394Soporte para discos y grabadoras FirewireRed para FirewireTransmitir y recibir vídeo por FirewireSoporte RAW para IEEE1394 (ver más abajo)Métodos de conexión.

El soporte RAW viene muy bien cuando queremos conectarnos directamente aldispositivoy 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 elfuncionamiento de la red puede especificarse "en trocitos".

Mi consejo es que como a fin de cuentas la tarjeta siempre va a estar funcionando,pongáisla tarjeta dentro del núcleo, los protocolos habituales en el núcleo, y el resto comomódulo.

Explicar todas las posibilidades de red de Linux es algo que merecería un librocompleto.Tened en cuenta que se puede hacer balanceos de carga, Bonding, Routing, RoutingAvanzado, VLanes,....

Lo que haremos es que voy a indicaros que tenéis que marcar, y si queréis que seponga un tutorial aparte sobre las posibilidades de la red no tenéis nada más que

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

22 de 39 09/06/2012 03:52 a.m.

Page 23: Como Compilar Un Kernel, Paso a Paso

pedirlo.

[*] Networking supportNetworking options --->[*] Network device supportARCnet devices ---><M> Dummy net driver support< > Bonding driver support< > EQL (serial line load balancing) support< > Universal TUN/TAP device driver supportEthernet (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) supportWireless 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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

23 de 39 09/06/2012 03:52 a.m.

Page 24: Como Compilar Un Kernel, Paso a Paso

< > IP: IPComp transformation< > The IPv6 protocol (EXPERIMENTAL)< > DECnet Support

Dentro de ARCnet devicesNo seleccionamos nada.

Dentro de Ethernet (10 or 100bit)Lo que hacemos es seleccionar el tipo de tarjeta de red que se encuentre instalado enell sistema.

[*] Ethernet (10 or 100Mbit)<M> Generic Media Independent Interface device support< > Sun Happy Meal 10/100baseT support< > Sun GEM support[ ] 3COM cardsTulip 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 desonido 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.

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

24 de 39 09/06/2012 03:52 a.m.

Page 25: Como Compilar Un Kernel, Paso a Paso

Se trata dar soporte a los distintos dispositivos que podemos usar como método deentrada 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 dePSXhasta 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 quetenemosen nuestro equipo.Vamos a dividir esto en tres partes, pero tened en cuenta que se trata de una únicaentrada en la configuración.

Non-standard serial port supportAqui directamente decimos que no. Se usa en sistemas que tienen varios puertosserie (más de 4) y no utilizan el standard que se sigue en los PC's.

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

25 de 39 09/06/2012 03:52 a.m.

Page 26: Como Compilar Un Kernel, Paso a Paso

Serial drivers --->Se trata del puerto serie del PC. Normalmente entro enel submenú y lo marco comomódulo (M).Lo único que tengo que vaya al puerto serie es el cable para programar el Router, yparaeso no me complico la vida metiéndolo en el kernel. Como módulo vaestupendamente.

Legacy (BSD) PTY supportHabilita terminales. Pero en Linux esto se puede resolver de otras formas, así queno lo marcamos.

(256) Maximum number of legacy PTY in useDepende del anterior.

Parallel printer supportRecordad que antes hemos dado soporte al puerto paralelo... pero no a la impresora.Lo marcamos.

Support for console on line printerA algunos les gustará mucho.Lo que hace es que convierte la impresora en una consola, con lo cual los mensajesaparecen por ellla.Si teneis una impresora matricial, ingentes cantidades de papel continuo y unosvecinoscon una sordera profunda, ponedlo como curiosidad. Parecerá que estais en la NASA.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 driversNo se necesita ni para imprimir ni para utilizar dispositivos que vayan enchufadosal puerto paralelo, así que no lo marcamos.

Texas Instruments parallel link cable supportPara las calculadoras TI que llevan un cable para el puerto paralelo del PC de formaquese puedan descargar datos y programas.Lo dejamos sin marcar (a menos que tengáis una calculadora de esas)

QIC-02 tape supportEs 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 yvosotros en Madrid.Si hubiera un fallo y se colgase, no creo que os hiciera mucha gracia viajar para darlealbotón de reset.Un Watchdog lo que hace es que espera una señal cada cierto tiempo. Si no la recibe

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

26 de 39 09/06/2012 03:52 a.m.

Page 27: Como Compilar Un Kernel, Paso a Paso

reinicia el equipo (en este caso).Lo dejaremos sin marcar (os lo recomiendo por que cuando recomprimo vídeo tengolacpu casi a tope, y a veces me ha saltado el watchdog :? )

Intel/AMD/VIA HW Random Number Generator supportDa soporte para el generador de números aleatorios de la placa base.Lo dejaremos sin marcar

/dev/nvram supportUtil... pero peligroso. Permite escribir datos en la CMOS del PC (¿a alguien le suena lapalabra BIOS?). Lo dejamos sin marcar.

Enhanced Real Time Clock SupportSi habeis puesto un núcleo multiprocesador, marcardlo, en otro caso dejadlo sinmarcar.

Generic /dev/rtc emulationUn poco largo de explicar. Símplemente no es necesario y lo dejamos sin marcar.

Double Talk PC internal speech card supportPara el sintetizador de voz DoubleTalk. Lo dejamos sin marcar.

Siemens R3964 line disciplineSalvo que nuestro equipo tenga que comunicarse directamente con PLC's, no lomarcamos. ¡Ojo! no confundáis esto con los "PLC de Endesa", que en realidad ospondránun router/modem conectado a la red eléctrica y funcionareis por una tarjeta de red.

Applicom intelligent fieldbus card supportNada, 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 cuentaque 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 supportSoporte para los chipsets Ali M1541, M1621, M1631, M1632, M1641,M1647,y M1651

ATI chipset supportSoporte 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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

27 de 39 09/06/2012 03:52 a.m.

Page 28: Como Compilar Un Kernel, Paso a Paso

AMD Opteron/Athlon64 on-CPU GART supportIntel 440LX/BX/GX, I8xx and E7x05 chipset supportIntel i865 chipset supportNVIDIA nForce/nForce2 chipset supportSiS chipset supportServerworks LE/HE chipset supportSoporte para estos Chipset

VIA chipset supportSoporte 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 2000ATI Rage 128ATI RadeonIntel I810Intel 830M, 845G, 852GM, 855GM, 865GMatrox g200/g400SiS video cardsTarjetas que soportan la tecnología DRI. Seleccionad la vuestra

PCMCIA character devices --->Es para dar un soporte de comunicaciones serie a una tarjeta PCMCIA en concreto.No la marcamos

ACP Modem (Mwave) supportNo 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 supportSerial drivers --->[*] Legacy (BSD) PTY support(256) Maximum number of legacy PTY in use

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

28 de 39 09/06/2012 03:52 a.m.

Page 29: Como Compilar Un Kernel, Paso a Paso

<*> 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 supportIPMI --->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 cardsPCMCIA character devices --->< > ACP Modem (Mwave) support< > RAW driver (/dev/raw/rawN) (OBSOLETE)< > Hangcheck timer

DEVICE DRIVERS: I2C SupportSe 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?

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

29 de 39 09/06/2012 03:52 a.m.

Page 30: Como Compilar Un Kernel, Paso a Paso

¿No?

Pues nada, lo dejamos sin marcar.

DEVICE DRIVERS: Multimedia devicesBueno, 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 hechoen el PC de sobremesa que tengo en casa rara vez me pongo a ver la televisión (salvocuando me "expulsan" del salón con culebrones y/o similares).Lo ponemos como módulo y así sólo tenemos que cargarlo cuando queramos usarese dispositivo.

Dentro veremos que hay dos entradas, Video for Linux (si, el nombre se repite) quecontiene los diferentes modelos de capturadoras que hay, y Radio for Linux, quecontiene 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 plenorendimiento,En este apartado encontraremos una lista de Hardware en la que seleccionaremos lanuestra... si es el caso.

Así mismo encontrareis el soporte de Framebuffer y la posibilidad de poner a Tux en elarranque.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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

30 de 39 09/06/2012 03:52 a.m.

Page 31: Como Compilar Un Kernel, Paso a Paso

[*] 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 vuestratarjeta 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 heobtenidomejores 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 contienelos 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)

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

31 de 39 09/06/2012 03:52 a.m.

Page 32: Como Compilar Un Kernel, Paso a Paso

< > 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 soundmodules.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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

32 de 39 09/06/2012 03:52 a.m.

Page 33: Como Compilar Un Kernel, Paso a Paso

< > 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 enlos demás, pero haciendo un simil de coches, es como hablar de BMW oMercedes. Los dos son grandes coches, pero a cada persona le parece unomejor 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 unpoco pesado.

No os pongo el resumen de las entradas, como ya es habitual, porque como podreisimaginar la lista de dispositivos USB es interminable. Teneis desde impresoras ymodemshasta los mandos de una X-Box.

Lo que si teneis que tocar (aparte de añadir vuestros dispositivos) es lo siguiente:

USB verbose debug messagesOs dará todos los mensajes que generen los dispositivos USB. No lo marcaremos

--- Miscellaneous USB optionsUSB device filesystemColoca 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 DriversEHCI HCD (USB 2.0) supportSoporte para USB2.0. Lo marcamos

Full speed ISO transactions (EXPERIMENTAL)No lo marcamos

OHCI HCD supportEste es el controlador de mi equipo. Yo lo marco

UHCI HCD (most Intel and VIA) supportEl otro tipo de controlador, marcadlo si es el vuestro.

--- USB Device Class driversUSB Audio supportSoporte para dispositivos de Audio USB (altavoces). No lo marcamos

USB Bluetooth TTY supportSoporte para Bluetooth por USB (si teneis el lápiz). No lo marcamos

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

33 de 39 09/06/2012 03:52 a.m.

Page 34: Como Compilar Un Kernel, Paso a Paso

USB MIDI supportPara conectar dispositivos MIDI por USB. No lo marcamos.

USB Modem (CDC ACM) supportSoporte para modems USB. No lo marcamos.Ojo, que no se refiere a los "modems" USB de las ADSL

USB Printer supportImpresoras USB. No la marcaremos a menos que tengamos una

USB Mass Storage supportPara conectar dispositivos de almacenamiento USB (Discos Duros, MemoryStick,...)Lo marcamos

USB Mass Storage verbose debugAvisos 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áslos poneiscomo módulos. De esa forma siempre prodreis acceder a todos los discos, CD's yDVD's que tengais u os pasen.

No vamos a discutir que sistema de archivo es mejor o peor, así que os indicodirectamente 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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

34 de 39 09/06/2012 03:52 a.m.

Page 35: Como Compilar Un Kernel, Paso a Paso

[*] 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,... hacedexactamente 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 correspondea 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 sistemaaúnmas seguro.

Hasta que en un futuro post nos metamos más en profundidad, os aconsejo queconfigureisde 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

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

35 de 39 09/06/2012 03:52 a.m.

Page 36: Como Compilar Un Kernel, Paso a Paso

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, peropara 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 modulesmake modules_install[b]Un consejo:

No me gusta tener Lilo como viene por defecto. La configuración que yo usoes 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 |

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

36 de 39 09/06/2012 03:52 a.m.

Page 37: Como Compilar Un Kernel, Paso a Paso

# | 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.#

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

37 de 39 09/06/2012 03:52 a.m.

Page 38: Como Compilar Un Kernel, Paso a Paso

# 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.txtprompt# single-key# delay=100timeout=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.4label=2.4.18read-only# restricted# alias=1

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

38 de 39 09/06/2012 03:52 a.m.

Page 39: Como Compilar Un Kernel, Paso a Paso

image=/boot/vmlinuz-2.4.26label=2.4.26read-onlyoptional# restricted# alias=2

image=/boot/vmlinuz-2.6.6label=2.6.6read-onlyoptional

image=/boot/vmlinuz-2.6.5label=2.6.5read-onlyoptional

# 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.

VolverMejora

Como compilar un Kernel, paso a paso http://llermano.eresmas.com/compilar_Kernel.htm

39 de 39 09/06/2012 03:52 a.m.