Linux en Espanol
 
MiniGuia Compilando Kernel (2.6.8.1) HOW-TO (tema #7987)
Publicar nuevo tema  Responder al tema    Foros de discusión -> Soporte de Hardware
Autor Mensaje
friguare
BOFH


Registrado: 2003-11-05
Mensajes: 4517

Publicado: 2004-11-23 16:36:22    Asunto: MiniGuia Compilando Kernel (2.6.8.1) HOW-TO

A ver si esta vez queda mas claro.

[code:1:2bc28db6c8] cd /usr/src/
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.1.tar.bz2
[/code:1:2bc28db6c8]
Esperamos que bajen los 34 Mb de las fuentes. Una vez que hayan acabado las descomprimimos.

[code:1:2bc28db6c8] tar -jxvf linux-2.6.8.1.tar.bz2 [/code:1:2bc28db6c8]
Tarda un minutito en descomprimirlo todo (Esta hipercomprimido), y una vez que ha acabado, hacemos un enlace simbolico a /usr/src/linux, para que todos los programas, que mas tarde, vengas buscando las fuentes, las encuentren, borrando antes este enlace simbolico si ya existiese.

[code:1:2bc28db6c8] rm linux
ln -s linux-2.6.8.1 linux [/code:1:2bc28db6c8]
A continuacion, entramos al directorio, a las opciones de compilacion del kernel:
[code:1:2bc28db6c8] cd linux
make menuconfig [/code:1:2bc28db6c8]
Aquí, obviamente, cada cual tiene sus opciones para marcar, ya que yo no conozco el hardware de cada uno, pero vamos a ver unas cosillas basicas. Lo primero, explicamos la diferencia entre "RESIDENTE" <*> y MODULO <M>. A grandes rasgos, residente significa que ese codigo, compilado, va metido dentro del kernel, y pasa a ser inseparable del mismo, por lo cual, siempre va a estar cargado en memoria (ocupando parte de ella), y siempre disponible. Sin emb argo, un modulo, es ese mismo codigo, pero al contrario que si estubiera residente, no esta metido dentro del kernel, si no que lo podemos "enchufar" y acoplarlo al mismo en cualquier momento. Así ahorramos memoria y tamaño del kernel, con drivers, que por ejemplo, no estamos usando constantemente, como podría ser, USB-Mass storage, que solo lo vamos a usar cuando enchufemos nuestros pendrive y similares. Vamos a explicar ahora las secciones basicas:
[code:1:2bc28db6c8] Processor type and features--->
Subarchitecture Type (PC-compatible)--->(Si teneis un PC)
Processor family (Athlon/Duron/K7) --->(Este es mi caso)
[/code:1:2bc28db6c8]
Obviamente, cada uno escoje lo que use, si es un sparc, pues sparc, si es un P4, pues lo escojeis.
[code:1:2bc28db6c8] Device Drivers ---> (esta es la parte menos "standar", ya que aqui vienen los drivers de muchos dispositivos, y cada uno sabrá los que tiene... [/code:1:2bc28db6c8]
Simplemente, vais pasando por las zonas que os interesen, y vais viendo la ayuda de cada uno con "?" que es, en teclado español, shift+"latecladeladerechadelcero".
Si que es importante, que dentro de esta seccion, vayais a :
[code:1:2bc28db6c8] ATA/ATAPI/MFM/RLL support ---> [/code:1:2bc28db6c8]
Ahi dentro, podreis ver numerosos chipsets y opciones de DMA, marcad las que conevngan con el chipset de vuestra placa base para obtener un buen rendimiento de los discos duros. (para ver un listado detallado de hardware de nuestro sistema, basta con hacer en una terminal):
[code:1:2bc28db6c8] lspci -vv [/code:1:2bc28db6c8]

Ahora vamos a la seccion filesystems:

[code:1:2bc28db6c8] File systems ---> [/code:1:2bc28db6c8]
Aqui es muy importante, marcar como residente (vease arriba si no se vio) el sistema de ficheros del que sea nuestra particion raiz. En caso de que sea "ext3"
[code:1:2bc28db6c8] <*> Ext3 journalling file system support
[*] Ext3 extended attributes
[*] JBD (ext3) debugging support
[/code:1:2bc28db6c8] Esto sería una configuracion basica valida para sistemas de fichero raiz ext3 (Tiene que ser residente, ya que la va a montar, antes de que se pueda cargar ningun modulo).
Ademas de todo esto, si quereis montar las particiones de vuestros hasefroch, pues habrá que seleccionar dentro de las siguientes:
[code:1:2bc28db6c8] DOS/FAT/NT Filesystems ---> [/code:1:2bc28db6c8]
Ahi tenemos para escojer fat, ntfs y demás, con lo que cada cual, escoje lo que quiera.

Una vez que tenemos marcado todo lo que queremos, (que es mas de lo que yo he dicho eh?) le damos a salir. Nos pregunta que si queremos grabar la configuracion, y le decimos que si. Nos deja en la terminal o consola. Ahora compilamos:
[code:1:2bc28db6c8] make [/code:1:2bc28db6c8]
Aqui tardará un ratillo, dependiendo del numero de opciones escojidas, y de la potencia de nuestro ordenador.
Una vez que acabe, instalamos los modulos:
[code:1:2bc28db6c8] make modules_install [/code:1:2bc28db6c8]
Si no nos ha dado ningun problema (suele ser raro si hemos escojido bien), ya tenemos los modulos en /lib/modules/2.6.8.1/ y solo falta copiar la imagen del kernel a donde tengamos las demas y añadirlas al gestor de arranque. Voy a suponer que tenemos las imagenes de los kernels en /boot:
[code:1:2bc28db6c8] cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage-2.6.8.1
[/code:1:2bc28db6c8]
Y editamos el fichero de configuracion de nuestro gestor de arranque al gusto de cada cual.
Una vez hecho esto, ya solo nos queda reiniciar la maquina, y probar nuestro nuevo kernel, a ver si arranca bien.

Suerte, y espero que os sirva de ayuda.
linuxero
BOFH


Registrado: 2004-01-09
Mensajes: 2871

Publicado: 2004-11-27 16:22:41    Asunto:

Excelente Friguare





La marca registrada Linux (R) se usa siguiendo la sublicensia obtenida del "Linux Mark Institute",
el LICENCIATARIO exclusivo de Linus Torvalds, propietario de la marca en EEUU y otros países
The registered trademark Linux (R) is used pursuant to a sublicense from the Linux Mark Institute,
the exclusive LICENSEE of Linus Torvalds, owner of the mark in the U.S. and other countries