Anterior Siguiente Indice

2. Preguntas y respuestas importantes

2.1 Pero, ¿qué hace el núcleo?

El núcleo de Unix actúa como intermediario entre sus programas y el ordenador. En primer lugar, gestiona la memoria de todos los programas o procesos, y se asegura de que se reparten los ciclos del procesador. Además, proporciona una interfaz portable para que los programas hablen fácilmente con su hardware.

Realmente, el núcleo hace más cosas, pero las anteriores son las más importantes.

2.2 ¿Por qué puedo necesitar actualizar el núcleo?

Los núcleos nuevos normalmente ofrecen la posibilidad de entenderse con más accesorios hardware (o sea, incluyen más manejadores), se ejecutan más rápidamente, son más estables o corrigen errores de otras versiones. Mucha gente se actualiza el núcleo para poder usar nuevos manejadores que necesitan o librarse de ``bugs'' de la versión que usaban.

2.3 ¿Qué hardware nuevo soportan los nuevos núcleos?

Véanse el documento Hardware-HOWTO, el fichero config.in de las fuentes o simplemente verá lo que hay cuando haga `make config'. Esto le mostrará lo soportado por la distribución estándar, pero no todo, pues algunos son módulos cargables en ejecución (como manejadores de PCMCIA) y se mantienen y distribuyen por vías distintas.

Anexo de la revisión.

Actualmente, muy pocos módulos (los no-oficiales) no están incluidos en los fuentes oficiales del kernel. Prácticamente, todos los controladores son modularizables.

He aquí un extracto de lo que aparece en /usr/src/linux/Documentation/modules.txt, algo que se debe leer: Hoy mismo se liberará una traducción. :

        La mayoria de los sistemas de ficheros: 
                
        minix, xiafs, msdos, umsdos, sysv, isofs, hpfs, smbfs, nfs.

         Soporte SCSI de medio nivel (requeridos por controladores SCSI de
         alto y bajo nivel)             
        
        La mayoria de los controladores SCSI de bajo nivel: (i.e. aha1542, in2000)
        Todos los controladores SCSI de alto nivel: disk, tape, cdrom, generic.

        La mayoria de los controladores ethernet: (demasiados para enumerarlos todos, ver:
                     /usr/src/linux/Documentation/networking/net-modules.txt)

        La mayoria de los controladores de CDROM (propietarios):
                aztcd:     Aztech,Orchid,Okano,Wearnes
                cm206:     Philips/LMS CM206
                gscd:      Goldstar GCDR-420
                mcd, mcdx: Mitsumi LU005, FX001
                optcd:     Optics Storage Dolphin 8000AT
                sjcd:      Sanyo CDR-H94A
                sbpcd:     Matsushita/Panasonic CR52x, CR56x, CD200,
                           Longshine LCS-7260, TEAC CD-55A
                sonycd535: Sony CDU-531/535, CDU-510/515

        Y un monton de modulos, como:
                lp: impresora p. paralelo
                binfmt_elf: cargador elf 
                binfmt_java: cargador java 
                isp16: interfaz cdrom 
                serial: interfaz serial (tty) 

2.4 ¿Qué versión de gcc y libc necesito?

Linus recomienda una en el fichero README de las fuentes del núcleo. Si no la tiene, probablemente tenga que actualizarse las librerías libc, algo que tampoco es difícil.

2.5 ¿Qué es un módulo cargable?

Hay partes del código del núcleo que no se enlazan directamente en el núcleo. Se compilan por separado y luego se incorporan al núcleo que ya está corriendo. Es la forma preferida de usar algunos manejadores como los de dispositivos PCMCIA o de cintas QIC-80/40 Hoy en día la tendencia es modulizar todos los controladores posibles, salvo aquellos estrictamente necesarios para arrancar (ext2, ide, o SCSI, según el caso), aunque siempre se puede hacer una imagen initrd y se sigue pudiendo arrancar con LILO. kerneld se encargará de cargarlos y descargarlos por nosotros cuando el sistema los necesite o no. .

2.6 ¿Cuánto espacio en disco necesito?

Depende de su configuración. La versión 2.0.10 del núcleo ocupa, comprimida, 6 megabytes, pero al descomprimir ocupará unos 24 MB. Pero aquí no acaba la cosa: para compilar se necesita espacio para ficheros temporales, dependiendo de la configuración que se elija. Por ejemplo, en un 386, con manejador de red de 3Com y cinco sistemas de ficheros supone 30 MB. Si a esto añadimos las fuentes comprimidas, serán 36 MB. En otro sistema con menos cosas puede ocupar menos. Además, un núcleo nuevo tendrá por lo general muchos más ficheros que el antiguo, con lo que debe asegurarse de que hay espacio de disco suficiente (además, con los precios que tienen ahora los discos, me puedo permitir el recomendarle que se compre un disco nuevo para el Linux).

2.7 ¿Cuánto se tarda en compilar?

Para mucha gente, se tarda ``muchísimo''. La velocidad del sistema y la cantidad de memoria son determinantes. En un 486DX4/100 con 16 MB, se tarda unos 20 minutos en compilar el núcleo v1.2 con cinco sistemas de ficheros, soporte de red y manejadores de tarjetas de sonido. En un 386DX/40 con 8 MB de RAM se tarda una hora y media. Por lo general se recomienda prepararse un café o ver la televisión (o lo que se le ocurra O ponerse a hacer cualquier cosa; para eso estamos en multitarea :-) ) mientras se compila el núcleo. Otra posibilidad es compilarlo en un PC más rápido que el suyo, de algún amigo.


Anterior Siguiente Indice