BULMA

Bulma se une a la protesta contra SOPA y PIPA

Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(25/05/2013 04:32:18)
    
Google


En bulma.net
En internet
Cómo parchear el kernel (32703 lectures)
Por Ricardo Galli Granada
gallir (http://mnm.uib.es/gallir/)
Creado el 15/06/2003 23:00 modificado el 15/06/2003 23:00

Es una pregunta típica en la lista del kernel, así que en este artículo daré sólo unas recetas y guía básica de cómo parchear el kernel de Linux.

Pagina1/1

No tengo idea de lo que hablas

La primera consideración antes de parchear un kernel es ¿sé como compilar el kernel? ¿alguna vez he compilado alguno? ¿sé que hardware tengo y como configurarlo?. Si las respuesta es NO a cualquiera de estas preguntas, puedes dejar de leer este artículo, no te servirá de mucha ayuda, ya que sólo es un resumen para gente que no tiene del todo claro como parchear el Linux. En todo caso te recomiendo los siguientes enlaces:

Breve intro

El kernel "vanilla", es decir es oficial de Linus o de Marcelo Tosatti para el caso del 2.4 en realidad es el menos usado por las distribuciones, que tienen sus propias versiones, basadas en el oficial pero con parches adicionales. Moraleja: no parchear los kernels de distribuciones, incluso las de Debian, con parches dedicados a la "oficial", no funcionará.

Debido a los cambios rápidos que se producen en el desarrollo, y a la lentitud en integrar esos cambios en las rama estable (ahora 2.4, antes la 2.2, 2.0, 1.2... y luego la 2.6 ó 3.0), nos obligan a parchear nuestro núcleo con parches de otras personas o ramas, en especial las de Alan Cox (la rama -acX disponibles en kernel.org o sus mirrors), y las -ck de Con Kolivas.

La rama de Alan Cox está especialmente orientada a tener las últimas versiones de drivers o módulos importantes, por ejemplo las 2.4.X-acY tienen integrado el XFS, el último ACPI o el DRM/DRI. Los parches de Kolivas están orientados a ofrecer mejores tiempos de respuesta para ordenadores de escritorio (en el sentido de usar programas y escritorio gráfico, como KDE o GNOME, no en el sentido de "escritorio vs. portable").

Además de estas dos ramas, muchas veces tenemos que recurrir a parchear nuestro kernel con versiones "pre-oficiales" -preX o -rcX (por Release Candidate), que son aquellos parches que se van generando antes de liberar la versión estable oficial.

Entre los parches, hay algunos que se aplican directamente sobre una versión "fija" del kernel, tal es el caso de los parches -pre o -rc o de los de Kolivas. Por ejemplo, en el caso de un -pre ó -rc se aplican sobre la versión estable anterior, así un patch-2.4.22-pre1 deberá aplicarse sobre las fuentes del 2.4.21. En el caso de Kolivas, el nombre del fichero del parche indica a qué versión hay que aplicar, por ejemplo linux-2.4.21-ck1.patch.bz2 indica que debe aplicarse sobre el 2.4.21.

Por otro lado, hay otros parches que son acumulativos a veces sí y otras no, típicamente los de Alan Cox (la rama -ac). En este caso, si el nombre del fichero es patch-2.4.22-pre1-ac3 indica que debe aplicarse primero el parche patch-2.4.22-pre1 (usando la regla anterior) y luego patch-2.4.22-pre1-ac3. Si por el contrario el nombre es patch-2.4.22-ac1 (sin ningún -pre o -rc) es porque se debe aplicar directamente sobre la versión 2.4.22.

Los parches tienen la extensión .bz2 o .gz. En el primer caso se usará el bzcat para descomprimirlo on the fly (y así estarán los ejemplos). En el segundo caso hay que usar el zcat.

Es muy importante mantener la configuración de un kernel entre distintas versiones que compilemos. Esa configuración se mantiene en el fichero .config dentro del directorio del kernel, es mejor mantener siempre una copia del fichero para luego copiar al directorio del nuevo kernel y adaptar la configuración con el make oldconfig.

La receta

En resumen, los pasos para parchear el kernel son:

1. Bajar los fuentes del kernel y el/los parche/es en /usr/src.

2. Descomprimir el kernel:
tar xvjf linux-2.4.21.tar.bz2

3. Ir al directorio del kernel:
cd linux-2.4.21

4. Parchear el kernel:
bzcat ../patch-2.4.21-ac1.bz2 | patch -p1

5. Copiar el .config anterior al directorio actual.

6. Verificar opciones nuevas y hacer consistente con las actuales:
make oldconfig

7. Configurar o modificar más opciones si lo deseamos:
make menuconfig
Ya que lo mencionamos, si te falla aquí no te olvides del apt-get install libncurses-dev :-)

8. Compilar como lo hacemos habitualmente. En Debian es:
make-kpkg kernel_image
make-kpkg modules_image

(ésta última opción si tenemos fuentes de módulos externos en /usr/src/modules).

9. Instalar como lo hacemos habitualmente. En Debian es:
dpkg -i kernel-image-2.4.21-ac1_10.00.Custom_i386.deb
dpkg -i nombre-módulos-XYS.deb

(éste último es opcional y para cada uno de los módulos que hayamos generado).


Imprimir
Version para
imprimir

Imprimir
Version
PDF
Comentarios
Es posible que se hayan omitido algunos comentarios considerados poco constructivos
1.  Re: Cómo parchear el kernel (16/06/2003 02:00, #15205)
  Por: El cobarde anónimo
Muchas gracias por el articulo, como corre el rumor de que estaís depres XD. P.D.: Para la depresión recomiendo eliminar los comentarios, o en su defecto, los anonimos ;-) Saludos y segue así.
No es pot respondre
 
2.  Re: Cómo parchear el kernel (16/06/2003 02:11, #15206)
  Por: gallir (http://mnm.uib.es/~gallir/)
XDDDDDD

Pero no, hombre, no, sólo estaba hasta los huevos. :-)

No es pot respondre
 
3.  Re: Cómo parchear el kernel (17/06/2003 10:22, #15244)
  Por: L00PeR
Eso es posible por:

1.- Los novatos siempre preguntan lo mismo y quieren una respuesta rapida y que solucione _YA_ su problema. Tienen unas evidentes ansias de utilizar el sistema que aprender el sistema, fase normal dentro de un aprendizaje.

2.- Todos caemos en el mismo error: configuraciones, correo, samba... Justo la parte que en Hasefroch *ya* viene configurada... Asi que es normal que se pierdan ahi...

3.- Noto muchas veces que el usuario avanzado, al estar cansado de repetir al novato lo mismo, deja de contestar. Lo que se deberia hacer es animar al "semi-novato" a responder cosas que ya sabe y/o le han enseñado... Esto ocurre mucho en los canales de IRC.

4.- Un profesor de 1º de matematicas de ESO siempre repite lo mismo año tras año. Los usuarios avanzados casi que se convierten en profesores... Es evidente que esos usuarios no desean convertirse en profesores, eso ha sido un "accidente" "por culpa" de sus conocimientos. Ademas desean retos acordes a sus conocimientos...

5.- Existen usuarios "comodones" que solo desean probar linux y ver que tal es... pero con la misma facilidad que instalar un Hasefroch... con este tipo de gente no hay nada que hacer, a no ser que comprenda que usar Linux es tambien un cambio de mentalidad. Tambien es porque puede ser que han oido, le han comentado, ha leido que linux es mas seguro -o simplemente es "cool" usar linux- y concienciados de ello quieren ser _solo_ usuarios de un S.O. seguro y punto. (No todos son informaticos, algunos solo les interesa el ordenador como medio de comunicacion: chat, correo, web y poco mas)

6.- Esta es mi humilde opinion. Es una opinion GPL asi que puede ser copiada, "re-opinada", flameada etc.. :P :P :P

PD: Yo sin gente como Gallir, y otros que ya saben del canal #debian-es no aprenderia o lo haria a un ritmo mas lento...

Gracias a todos ellos
No es pot respondre
 
4.  Re: Cómo parchear el kernel (04/08/2003 13:15, #16228)
  Por: chelui (http://www.lacompaniagris.com)
Amén ;-)

Gracias por el artículo, muy instructivo.
No es pot respondre
 
5.  Re: Cómo parchear el kernel (16/06/2003 02:57, #15209)
  Por: C2H5OH (http://mnm.uib.es/~etanol)
Estaría bien añadir éste artículo relacionado.

Saludos.

No es pot respondre
 
6.  Re: Cómo parchear el kernel (16/06/2003 09:19, #15213)
  Por: Pablo Iranzo Gómez
Ahora falta que alguien me logre explicar alguna forma única de conseguir que no falle la configuración...

Si hago rm .config; make oldconfig y le doy al enter varias veces, puedo compilar el kernel con el make dep; make bzImage, pero luego, no tiene módulos para nada.

En mi caso, necesito un 2.4.18 para dar soporte a una tarjeta RAID IT8212 y en el cd de drivers viene este kernel para compilar... pero claro... para poder ponerlo se supone que necesito por un lado un sistema funcionando, que por otro no lo puedo tener hasta que no tenga el kernel rulando... lo voy a instalar por red...

El caso es que si hago un cp del config-2.4.18-1-k7 que viene con debian, ejecuto oldconfig (tal y como ponía en uno de los enlaces que recomiendas) y luego make dep; make bzImage, pues enseguida casca la compilación...

No es la primera vez que me pasa este tipo de cosas (en otras compilacionmes de otros kernels también... parece ser que si se cambian cosas de la config luego se producen incompatibilidades (y eso que lo hago con el menuconfig)...

¿Alguna idea milagrosa?
Gracias y saludos!
No es pot respondre
 
7.  Re: Cómo parchear el kernel (16/06/2003 09:31, #15214)
  Por: Errante
Tienes que poner make modules;make modules_install para tener los modulos también. Saludos
No es pot respondre
 
8.  Re: Cómo parchear el kernel (16/06/2003 09:37, #15215)
  Por: MAHT_
Los milagros mejor pedirlos a Lourdes... Que tal si ademas de make dep y make bzImage no haces tambien make modules y make modules_install?
No es pot respondre
 
9.  Re: Cómo parchear el kernel (16/06/2003 18:49, #15225)
  Por: Pablo Iranzo Gómez
Evidente lo del make modules, pero si en el .config no está especificado que ponga los drivers como módulos, pues como que no tiene nada que hacer...

Por eso preguntaba lo de alguna forma de tener una configuración que a la hora de hacer make bzImage no diga que falla, porque tengo comprobado que con algunas configuraciones, da problemas al compilar y todavía no sé la forma adecuada para que eso no pase...
No es pot respondre
 
10.  Re: Cómo parchear el kernel (13/08/2003 02:16, #16389)
  Por: El cobarde anónimo
Disculpame que te interrumpa, en este momento estoy tratando de hacer funcionar una placa con el mismo chipset IT8212 en una gigabyte 7nnxp; sucede que tengo un SUSE 8.2 prof, y esta cagada no me reconoce el RAID ya armado, la verdad es que no se que carajo hacer, antes tenía una ABIT Kg7 raid y me la reconocia de primera; pero ahora y muy lamentablemente no puedo utilizar otra cosa quél winXP, encima me costó un Perú hacer que reconzca el RAID pero ya es un acierto, y al menos pude volver a empezar. Yo soy un tipo grande hace poco que ando por el tema y hace dos años estoy con linux; tuve siempre distros RPMsímiles y en una oportunidad cargué un Debian Potato, aunque nunca pude hacerlo funcionar en modo gráfico y con el tiempo desistí debido a la falta de dedicación por el redundante factor tiempo. Yo se que este es un foro de gente que esta investigando o al menos eso sugieren los comentarios vertidos en la página que visité. La verdad es que no se como hacer la entrada de drivers cuando te pide que cargues los controladores raid- scsi,en una palabra estoy en bolas y a los gritos como Adan en el día de la madre. Perdoname la intromisión y si esta a tu alcance aunque sea orientarme o decirme a dónde debo buscar la información. Suse por lo pronto me sacó cagando. Te mando un saludo cordial desde la Patagonia Argentina. Esteban Bikic dady@comodoro.com.ar
No es pot respondre
 
11.  Re: Cómo parchear el kernel (16/06/2003 19:56, #15227)
  Por: Poldark (http://poldark.sytes.net)
Quizás... es algo Off-Topic, pero no del todo.

He bajado un 2.4.21, y he decidido aplicarle los parches de Alan Cox ... todo perfectamente parcheado, pero empecemos con la odisea ...

[Lothlorien:/usr/src/linux-2.4.21]# make xconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts kconfig.tk
make[1]: Entering directory `/usr/src/linux-2.4.21/scripts'
cat header.tk >> ./kconfig.tk
./tkparse > kconfig.tk
drivers/net/wan/Config.in: 44: can't handle dep_bool/dep_mbool/dep_tristate condition
make[1]: *** [kconfig.tk] Error 1
make[1]: Leaving directory `/usr/src/linux-2.4.21/scripts'
make: *** [xconfig] Error 2

Bien ... no desesperemos ... hago un make menuconfig y a volar :) ... todo funciona OK

make-kpkg kernel-image --initrd
... lalilolaloliero time ...
dpkg -i kernel-image-2.4.21-ac1_10.00.Custom_i386.deb
... installing ...
... toqueteando un poquito la config de GRUB ...
... rebooting ...
y PATAPLUFFF, kernel panic al canto, utilizando la misma configuración que le pongo al 2.4.21 a secas.

¿Alguien en mi caso? ¿Empiezo a deprimirme?

Un saludo ... Poldark
No es pot respondre
 
12.  Re: Cómo parchear el kernel (18/06/2003 04:06, #15280)
  Por: Gustavo
Un poco de napalm sobre la placa madre puede solucionar tu problema.... Buena suerte. Gustavo.
No es pot respondre
 
13.  Re: Cómo parchear el kernel (16/06/2003 20:27, #15228)
  Por: pelli (http://www.elsud.org)
Això que et passa amb el make xconfig, a mi també em passava, i ho he solucionat amb el sistema patillero(tm): comentes les dues línies i avall (a no ser que necessitis el mòdul en qüestió ;-).
O sigui, edites el drivers/net/wan/Config.in i comentes la 44 i la 45.

Pel que fa al kernel panic, quin error dóna? No pot muntar el root o és alguna altra cosa? No deus necessitar el initrd?

Salut!
No es pot respondre
 
14.  Re: Cómo parchear el kernel (19/06/2003 21:39, #15323)
  Por: El cobarde anónimo
¿Y porqué no pones además, como fuente de letra, una de esas que solo son símbolos? Así por lo menos me río un rato.
No es pot respondre
 
15.  Re: Cómo parchear el kernel (18/06/2003 11:34, #15285)
  Por: El cobarde anónimo
Si los parches de Alan Cox llevan la última versión de ACPI, ¿es tontería hacer esto? ;-(
linux-2.4.21-ac1 + acpi
No es pot respondre
 
16.  Re: Cómo parchear el kernel (18/06/2003 12:12, #15286)
  Por: gallir (http://mnm.uib.es/~gallir/)
No lo puedes hacer, el patch de dará errores.
No es pot respondre
 
17.  Re: Cómo parchear el kernel (21/06/2003 20:15, #15379)
  Por: El cobarde anónimo
pero ahora el kernel 2.4.21 + patch-2.4.22-pre1 tb incluyen el ultimo ACPI
No es pot respondre
 
18.  Re: Cómo parchear el kernel (23/06/2003 05:11, #15413)
  Por: El cobarde anónimo (http://www.esdebian.org)
La guia en ingles "The Very Verbose Guide to Updating and Compiling Your Debian Kernel" se encuentra traducida en esdebian y se llama La guía muy explicada para Actualizar y Compilar tu kernel en Debian.
No es pot respondre
 
19.  Re: Cómo parchear el kernel (17/02/2006 19:44, #31044)
  Por: Anónimo (http://algo.com)
Puta suerte no pueden usar otra chingada distribucion para dar ejemplos no que solo debian, debian me lleva la verga
No es pot respondre
 
20.  Re: Cómo parchear el kernel (27/11/2006 19:48, #36789)
  Por: Anónimo
Porque unos usan la rama 2.4.x y otros la 2.6.x. ¿Que diferencia hay y porque? no se si alguien podria respopnder me esta pregunta. Porque esas dos? para que? etc, gracias Salu2!!
No es pot respondre
 
21.  Re: Cómo parchear el kernel (15/01/2007 09:56, #37789)
  Por: Anónimo
Descomprimo los fuentes en el directorio /usr/src/linux-2.xxxx Realmente los descomprimo en el Desktop y luego los copio haciendo sudo cp /Desktop/linux-2xxx /usr/src/ El caso es que no puedo acceder a ese directorio. Me pone acceso denegado!! Ni siquiera aciendo sudo cd /usr/src/linux-2.xxxx ahí me pone comando no válido (o algo así).
No es pot respondre
 
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 26
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Linux 2.6-test3 Howto
. Como solucionar un problema de chown bajo XFS en el 2.4.21-ck3
. Supermount en Debian
. Graphic boot with bootsplash and progress bar in Debian
. Arranque gráfico con Bootsplash, debian y barra de progreso
. Finalmente el 2.4.21
. Respuestas cortas a las preguntas frecuentes de Debian para novatos
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 1/5/2007 18:44:20 | Tiempo Total: 0.063 segs | Kernel: Linux - i686 - 2.6.26-2-686 | Last boot: too much time ago!!
Powered by Apache    MySQL    PHP    Gimp