|
|
Cómo parchear el kernel
(32700 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). |
|
|
|
|
|
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 |
|
|
|
|
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 |
|
|
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 |
|
|
|
|
|---|
|
|
|
|
Calificacion
    Vots: 26 |
Danos tu opinion:
|
|
|
|
|
|
|
|