comment modifier un patch kernel?

comment modifier un patch kernel? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 25-01-2004 à 17:49:04    

j ai un patch écrit pour un noyau 2.4.19 et j aimerais le rendre compatible avec un noyau plus récent.
 
le patch est dispo ici : http://zerowing.idsoftware.com/lin [...] cast.patch
 
je ne me suis jamais lancé dans l écriture de patch mais peut être k il n y a pas besoin d allez aussi loin???

Reply

Marsh Posté le 25-01-2004 à 17:49:04   

Reply

Marsh Posté le 25-01-2004 à 17:56:20    

le fait qu'il soit pour un 2.4.19 ne signifie pas obligatoirement qu'il ne s'appliquera pas sur une autre version.
Question à 3¢: tu as essayé ?
patch peut corrigé de lui-même quelques modifs, notamment si la position d'une portion de code à remplacer a changé.

Reply

Marsh Posté le 25-01-2004 à 18:04:39    

et bien oui j ai essayé il y a un ptit moment deja et je me rappel m etre fait jeté par la commande patch!!!

Reply

Marsh Posté le 25-01-2004 à 18:06:48    

si ce sont des "Hunk blablabla failed", je pense qu'il n'y a pas d'autre alternative que d'avoir des compétences en C.

Reply

Marsh Posté le 25-01-2004 à 18:09:32    

entre autre ca donne ca :
 
patching file include/linux/sysctl.h
Hunk #1 FAILED at 291.
1 out of 1 hunk FAILED -- saving rejects to file  
 
 
donc c est comme tu l a dit faut taper ds le code :(
 
je ne comprend pas ke ce patch ne soit tjrs pas inclus ds les nouveau kernel !!!

Reply

Marsh Posté le 25-01-2004 à 18:24:42    

dans le 2.4.24, une partie du patch est déjà inclus


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 25-01-2004 à 18:37:57    

tu connais ???
 
qu entend tu par partie??? est ce fonctionnel???

Reply

Marsh Posté le 25-01-2004 à 18:42:13    

yank a écrit :

tu connais ???
 
qu entend tu par partie??? est ce fonctionnel???


jamais utilisé, mais en comparant ce qu'il y a dans le patch et ce qu'il y a dans les sources du noyau, j'ai vu qu'une des lignes du patch était dans les sources de base.
 
vu ce qu'il ajoute, ce ne dois pas être suffisant.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 25-01-2004 à 18:46:59    

ok merci

Reply

Marsh Posté le 25-01-2004 à 20:28:46    

tiens cadeau : un patch qui marche pour le noyau 2.4.24  
http://mjules.free.fr/captures/udp [...] 4.24.patch
 
je dis pas qu'il va compiler mais en tout cas, il patch sans pb.


Message édité par Mjules le 25-01-2004 à 20:29:07

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 25-01-2004 à 20:28:46   

Reply

Marsh Posté le 25-01-2004 à 22:37:42    

c est vraiment sympa de ta part ;)
 
je vais me servir de ce ke tu as fait pour l'adapter sur d autre kernel.
 
si tu pouvais juste me guider sur la manière de faire je t en serais très reconnaissant. J ai vraiment envi de le faire par moi même :)
 
merci d avance ;)

Reply

Marsh Posté le 26-01-2004 à 11:47:10    

yank a écrit :

c est vraiment sympa de ta part ;)
 
je vais me servir de ce ke tu as fait pour l'adapter sur d autre kernel.
 
si tu pouvais juste me guider sur la manière de faire je t en serais très reconnaissant. J ai vraiment envi de le faire par moi même :)
 
merci d avance ;)


 

Code :
  1. --- linux/include/linux/sysctl.h.orig 2002-08-17 19:52:27.000000000 -0500     /* le fichier qu'on va patcher */
  2. +++ linux/include/linux/sysctl.h 2002-08-17 19:53:00.000000000 -0500 
  3. @@ -308,7 +308,8 @@   /* la ligne de début du patch + après la virgule, le nombre de lignes affichées dans le patch avant et après application de celui-ci */
  4.  NET_IPV4_NONLOCAL_BIND=88,
  5.  NET_IPV4_ICMP_RATELIMIT=89,
  6.  NET_IPV4_ICMP_RATEMASK=90,
  7. NET_TCP_TW_REUSE=91,    /* ces 4 lignes servent à indiquer le contexte, c'est à dire ce qu'il doit y avoir avant et après la/les lignes à modifier */
  8. + NET_UDP_WIDE_BROADCAST=92  /* une ligne à ajouter, si c'est précédé d'un moins, c'est un eligne à enlever */
  9. NET_TCP_FRTO=92,
  10. NET_TCP_LOW_LATENCY=93, /* encore 3 ligne de contexte */
  11. NET_IPV4_IPFRAG_SECRET_INTERVAL=94,


 
voilà, comme tu le vois, c'est pas très compliqué ; le + souvent les patchs foirent parce que le contexte a changé ; l'adaptation consisté à modifier le patch pour qu'il corresponde (niveau ligne et contexte) au fichier actuel à patcher.
 
ex, dans ce cas, c'est au niveau des lignes postérieures à celles à ajouter que ça a pas mal changé.
 
le patch se modifie avec un simple éditeur de texte comme kwrite, gedit, vi etc


Message édité par Mjules le 26-01-2004 à 11:51:32

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 26-01-2004 à 12:16:52    

merci c est très clair :)

Reply

Marsh Posté le 26-01-2004 à 13:38:32    

j ai juste une remarque, le numéro de ligne indiqué dans le patch n est pas très important (c est juste pour se retrouver dans le code), c est juste le contexte qui est important.
 
c est bien ca ???

Reply

Marsh Posté le 26-01-2004 à 13:47:41    

yank a écrit :

j ai juste une remarque, le numéro de ligne indiqué dans le patch n est pas très important (c est juste pour se retrouver dans le code), c est juste le contexte qui est important.
 
c est bien ca ???


le numéro de ligne n'est pas vitale pour la bonne application du patch, la commande patch peut corriger ce genre de chose à l'aide du contexte ; néanmoins, si tu veux qu'il n'y ai aucun avertissement lors de l'application, il vaut mieux mettre les bons numéros (celui de la ligne précédant celle affichée dans le patch).
 


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 26-01-2004 à 20:12:50    

j ai réussit à patcher un noyau 2.4.20 :sweat: et j peus dire ke c est vraiment capricieux comme systeme!!! parfois j ai pas compris pourkoi ca ne voulait pas appliquer le patch :??:
 
bon j ai plus k a compiller...
 
Mjules t as vu comme c étais bien le merdier par endroit! d ailleur il y a 2-3 truc ke j ai changé par rapport à toi.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed